DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦0221b1f68⟧

    Length: 1024 (0x400)
    Notes: 00_class, 5900_R1K_CODE, 74_tag, NULL, R1k_Segment, seg_bdfc99

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

Disassembly

0000 000f       |    |		.CONST	0x000f								; Version of machine code
0001 5900       |Y   |		.CONST	0x5900								; Diana Version, RCG Major Version, RCG minor version
0002 0000       |    |		.CONST	0x0000								; Zero
0003 0170       | p  |		.CONST	0x0170								; Offset of debug table
0004 0100       |    |		.CONST	0x0100								; Default exception handler - raise instruction
0005 00bb       |    |		.CONST	0x00bb								; Module termination instruction - signal completion
0006 0000       |    |		.CONST	0x0000								; Offset to segment table (only in elab segments)
0007 0000       |    |		.CONST	0x0000								; 0, wired, #pages in seg - 1)
0008 ; --------------------------------------------------------------------------------------
0008 ; SUBPROGRAM
0008 ; --------------------------------------------------------------------------------------
0008 0014       |    |		.CONST	0x0014								; Address of begin
0009 0004       |    |		.CONST	0x0004								; Address of exception handler
000a 000e       |    |		.CONST	0x000e								; Number of locals
000b			INIT_0008:
000b 029a 001b  |    |		Declare_Subprogram	INIT_0018,For_Outer_Call,Visible,Unelaborated
000d 029a 008b  |    |		Declare_Subprogram	INIT_0088,For_Outer_Call,Visible,Unelaborated
000f 00bf       |    |		Action	Accept_Activation
0010 1d0d       |    |		Execute_Immediate	Reference_Lex_1,0xd
0011 00c7       |    |		Action	Elaborate_Subprogram
0012 1d0e       |    |		Execute_Immediate	Reference_Lex_1,0xe
0013 00c7       |    |		Action	Elaborate_Subprogram
0014			BODY_0008:
0014 00bc       |    |		Action	Signal_Activated
0015 00bb       |    |		Action	Signal_Completion
0016 0000 0000  |    |		.XXX[0x2]
0018 ; --------------------------------------------------------------------------------------
0018 ; SUBPROGRAM
0018 ; --------------------------------------------------------------------------------------
0018 001e       |    |		.CONST	0x001e								; Address of begin
0019 0004       |    |		.CONST	0x0004								; Address of exception handler
001a 0001       |    |		.CONST	0x0001								; Number of locals
001b			INIT_0018:
001b 0007       |    |		Action	Break_Optional
001c 0007       |    |		Action	Break_Optional
001d 0007       |    |		Action	Break_Optional
001e			BODY_0018:
001e 4801       |H   |		Short_Literal	0x1
001f 4805       |H   |		Short_Literal	0x5
0020 e003       |    |		Load	0x0,0x3
0021 035b       | [  |		Declare_Type	Array,Constrained
0022 0337       | 7  |		Declare_Variable	Array
0023 e004       |    |		Load	0x0,0x4
0024 0337       | 7  |		Declare_Variable	Array
0025 4812       |H   |		Short_Literal	0x12
0026 8005       |    |		Call	0x0,0x5
0027 4800       |H   |		Short_Literal	0x0
0028 00da       |    |		Load_Top	At_Offset_2
0029 01d6       |    |		Execute	Vector,Field_Write
002a e006       |    |		Load	0x0,0x6
002b 8007       |    |		Call	0x0,0x7
002c 4801       |H   |		Short_Literal	0x1
002d 00da       |    |		Load_Top	At_Offset_2
002e 01d6       |    |		Execute	Vector,Field_Write
002f e004       |    |		Load	0x0,0x4
0030 01c3       |    |		Execute	Vector,Check_In_Type
0031 8008       |    |		Call	0x0,0x8
0032 4801       |H   |		Short_Literal	0x1
0033 00da       |    |		Load_Top	At_Offset_2
0034 01d6       |    |		Execute	Vector,Field_Write
0035 e004       |    |		Load	0x0,0x4
0036 0337       | 7  |		Declare_Variable	Array
0037 4812       |H   |		Short_Literal	0x12
0038 8009       |    |		Call	0x0,0x9
0039 4800       |H   |		Short_Literal	0x0
003a 00da       |    |		Load_Top	At_Offset_2
003b 01d6       |    |		Execute	Vector,Field_Write
003c e006       |    |		Load	0x0,0x6
003d 8007       |    |		Call	0x0,0x7
003e 4801       |H   |		Short_Literal	0x1
003f 00da       |    |		Load_Top	At_Offset_2
0040 01d6       |    |		Execute	Vector,Field_Write
0041 e004       |    |		Load	0x0,0x4
0042 01c3       |    |		Execute	Vector,Check_In_Type
0043 800a       |    |		Call	0x0,0xa
0044 4802       |H   |		Short_Literal	0x2
0045 00da       |    |		Load_Top	At_Offset_2
0046 01d6       |    |		Execute	Vector,Field_Write
0047 e00b       |    |		Load	0x0,0xb
0048 0337       | 7  |		Declare_Variable	Array
0049 e00c       |    |		Load	0x0,0xc
004a 8007       |    |		Call	0x0,0x7
004b 4800       |H   |		Short_Literal	0x0
004c 00da       |    |		Load_Top	At_Offset_2
004d 01d6       |    |		Execute	Vector,Field_Write
004e e00d       |    |		Load	0x0,0xd
004f 8007       |    |		Call	0x0,0x7
0050 4801       |H   |		Short_Literal	0x1
0051 00da       |    |		Load_Top	At_Offset_2
0052 01d6       |    |		Execute	Vector,Field_Write
0053 4808       |H   |		Short_Literal	0x8
0054 8005       |    |		Call	0x0,0x5
0055 4802       |H   |		Short_Literal	0x2
0056 00da       |    |		Load_Top	At_Offset_2
0057 01d6       |    |		Execute	Vector,Field_Write
0058 e00b       |    |		Load	0x0,0xb
0059 01c3       |    |		Execute	Vector,Check_In_Type
005a 800e       |    |		Call	0x0,0xe
005b 4803       |H   |		Short_Literal	0x3
005c 00da       |    |		Load_Top	At_Offset_2
005d 01d6       |    |		Execute	Vector,Field_Write
005e e00f       |    |		Load	0x0,0xf
005f 0337       | 7  |		Declare_Variable	Array
0060 480d       |H   |		Short_Literal	0xd
0061 8005       |    |		Call	0x0,0x5
0062 4800       |H   |		Short_Literal	0x0
0063 00da       |    |		Load_Top	At_Offset_2
0064 01d6       |    |		Execute	Vector,Field_Write
0065 e010       |    |		Load	0x0,0x10
0066 8007       |    |		Call	0x0,0x7
0067 4801       |H   |		Short_Literal	0x1
0068 00da       |    |		Load_Top	At_Offset_2
0069 01d6       |    |		Execute	Vector,Field_Write
006a e00f       |    |		Load	0x0,0xf
006b 01c3       |    |		Execute	Vector,Check_In_Type
006c 8011       |    |		Call	0x0,0x11
006d 4804       |H   |		Short_Literal	0x4
006e 00da       |    |		Load_Top	At_Offset_2
006f 01d6       |    |		Execute	Vector,Field_Write
0070 e00f       |    |		Load	0x0,0xf
0071 0337       | 7  |		Declare_Variable	Array
0072 480d       |H   |		Short_Literal	0xd
0073 8012       |    |		Call	0x0,0x12
0074 4800       |H   |		Short_Literal	0x0
0075 00da       |    |		Load_Top	At_Offset_2
0076 01d6       |    |		Execute	Vector,Field_Write
0077 e010       |    |		Load	0x0,0x10
0078 8007       |    |		Call	0x0,0x7
0079 4801       |H   |		Short_Literal	0x1
007a 00da       |    |		Load_Top	At_Offset_2
007b 01d6       |    |		Execute	Vector,Field_Write
007c e00f       |    |		Load	0x0,0xf
007d 01c3       |    |		Execute	Vector,Check_In_Type
007e 8013       |    |		Call	0x0,0x13
007f 4805       |H   |		Short_Literal	0x5
0080 00da       |    |		Load_Top	At_Offset_2
0081 01d6       |    |		Execute	Vector,Field_Write
0082 e003       |    |		Load	0x0,0x3
0083 01c6       |    |		Execute	Vector,Convert_To_Formal
0084 00ca       |    |		Action	Exit_Nullary_Function
0085 0000 0000  |    |		.XXX[0x3]
0087 0000       |    |
0088 ; --------------------------------------------------------------------------------------
0088 ; SUBPROGRAM
0088 ; --------------------------------------------------------------------------------------
0088 00a0       |    |		.CONST	0x00a0								; Address of begin
0089 0004       |    |		.CONST	0x0004								; Address of exception handler
008a 0007       |    |		.CONST	0x0007								; Number of locals
008b			INIT_0088:
008b 4801       |H   |		Short_Literal	0x1
008c 00db       |    |		Load_Top	At_Offset_3
008d 01d5       |    |		Execute	Vector,Field_Reference
008e 0007       |    |		Action	Break_Optional
008f 4803       |H   |		Short_Literal	0x3
0090 e5ff       |    |		Load	0x2,-0x1
0091 01d5       |    |		Execute	Vector,Field_Reference
0092 0007       |    |		Action	Break_Optional
0093 4804       |H   |		Short_Literal	0x4
0094 e5ff       |    |		Load	0x2,-0x1
0095 01d5       |    |		Execute	Vector,Field_Reference
0096 0007       |    |		Action	Break_Optional
0097 8014       |    |		Call	0x0,0x14
0098 e015       |    |		Load	0x0,0x15
0099 02ff       |    |		Declare_Variable	Variant_Record
009a 00d8       |    |		Load_Top	At_Offset_0
009b 1c00       |    |		Execute_Immediate	Run_Utility,0x0
009c e015       |    |		Load	0x0,0x15
009d 02ff       |    |		Declare_Variable	Variant_Record
009e 00d8       |    |		Load_Top	At_Offset_0
009f 1c00       |    |		Execute_Immediate	Run_Utility,0x0
00a0			BODY_0088:
00a0 4801       |H   |		Short_Literal	0x1
00a1 00db       |    |		Load_Top	At_Offset_3
00a2 8016       |    |		Call	0x0,0x16
00a3 00da       |    |		Load_Top	At_Offset_2
00a4 0092 00fa  |    |		Action	Push_String_Extended,0xfa					; " --------------------------------------------------------------"
00a6 8017       |    |		Call	0x0,0x17
00a7 00da       |    |		Load_Top	At_Offset_2
00a8 0092 00fb  |    |		Action	Push_String_Extended,0xfb					; " -- A NOT WORKING ROBOT WAS CHOSEN TO TAKE THE BIGGEST BRICK --"
00aa 8017       |    |		Call	0x0,0x17
00ab 00da       |    |		Load_Top	At_Offset_2
00ac 0092 00fc  |    |		Action	Push_String_Extended,0xfc					; " --      FROM HEAP TO PUT IT IN THE FIRST FREE BOX           --"
00ae 8017       |    |		Call	0x0,0x17
00af 00da       |    |		Load_Top	At_Offset_2
00b0 0092 00fa  |    |		Action	Push_String_Extended,0xfa					; " --------------------------------------------------------------"
00b2 8017       |    |		Call	0x0,0x17
00b3 4801       |H   |		Short_Literal	0x1
00b4 00db       |    |		Load_Top	At_Offset_3
00b5 8016       |    |		Call	0x0,0x16
00b6 e018       |    |		Load	0x0,0x18
00b7 4801       |H   |		Short_Literal	0x1
00b8 e404       |    |		Load	0x2,0x4
00b9 8019       |    |		Call	0x0,0x19
00ba e01a       |    |		Load	0x0,0x1a
00bb 4801       |H   |		Short_Literal	0x1
00bc e403       |    |		Load	0x2,0x3
00bd 801b       |    |		Call	0x0,0x1b
00be e01c       |    |		Load	0x0,0x1c
00bf 4801       |H   |		Short_Literal	0x1
00c0 e402       |    |		Load	0x2,0x2
00c1 801d       |    |		Call	0x0,0x1d
00c2 4802       |H   |		Short_Literal	0x2
00c3 e403       |    |		Load	0x2,0x3
00c4 801e       |    |		Call	0x0,0x1e
00c5 00da       |    |		Load_Top	At_Offset_2
00c6 016d       | m  |		Execute	Variant_Record,Structure_Write
00c7 4800       |H   |		Short_Literal	0x0
00c8 e404       |    |		Load	0x2,0x4
00c9 801f       |    |		Call	0x0,0x1f
00ca 00d9       |    |		Load_Top	At_Offset_1
00cb 016d       | m  |		Execute	Variant_Record,Structure_Write
00cc 00d8       |    |		Load_Top	At_Offset_0
00cd 4801       |H   |		Short_Literal	0x1
00ce e402       |    |		Load	0x2,0x2
00cf 801d       |    |		Call	0x0,0x1d
00d0 00d9       |    |		Load_Top	At_Offset_1
00d1 8020       |    |		Call	0x0,0x20
00d2 0092 00fd  |    |		Action	Push_String_Extended,0xfd					; "Robot1"
00d4 01df       |    |		Execute	Vector,Equal
00d5 6806       |h   |		Jump_Zero	0xdc
00d6 00d8       |    |		Load_Top	At_Offset_0
00d7 e404       |    |		Load	0x2,0x4
00d8 e402       |    |		Load	0x2,0x2
00d9 e403       |    |		Load	0x2,0x3
00da 8021       | !  |		Call	0x0,0x21
00db 781a       |x   |		Jump	0xf6
00dc 00d9       |    |		Load_Top	At_Offset_1
00dd 8020       |    |		Call	0x0,0x20
00de 0092 00fe  |    |		Action	Push_String_Extended,0xfe					; "Robot2"
00e0 01df       |    |		Execute	Vector,Equal
00e1 6806       |h   |		Jump_Zero	0xe8
00e2 00d8       |    |		Load_Top	At_Offset_0
00e3 e404       |    |		Load	0x2,0x4
00e4 e402       |    |		Load	0x2,0x2
00e5 e403       |    |		Load	0x2,0x3
00e6 8022       | "  |		Call	0x0,0x22
00e7 780e       |x   |		Jump	0xf6
00e8 00d9       |    |		Load_Top	At_Offset_1
00e9 8020       |    |		Call	0x0,0x20
00ea 0092 00ff  |    |		Action	Push_String_Extended,0xff					; "Robot3"
00ec 01df       |    |		Execute	Vector,Equal
00ed 6806       |h   |		Jump_Zero	0xf4
00ee 00d8       |    |		Load_Top	At_Offset_0
00ef e404       |    |		Load	0x2,0x4
00f0 e402       |    |		Load	0x2,0x2
00f1 e403       |    |		Load	0x2,0x3
00f2 8023       | #  |		Call	0x0,0x23
00f3 7802       |x   |		Jump	0xf6
00f4 0008       |    |		Action	Idle
00f5 0007       |    |		Action	Break_Optional
00f6 4801       |H   |		Short_Literal	0x1
00f7 00db       |    |		Load_Top	At_Offset_3
00f8 8016       |    |		Call	0x0,0x16
00f9 4502       |E   |		Exit_Suprogram	New_Top_Offset 0x2
00fa ; --------------------------------------------------------------------------------------
00fa ; STRING TABLE
00fa ; --------------------------------------------------------------------------------------
00fa 000e       |    |		.STRTAB	0x000e->0x0101							; " --------------------------------------------------------------"
00fb 004b       | K  |		.STRTAB	0x004b->0x0120							; " -- A NOT WORKING ROBOT WAS CHOSEN TO TAKE THE BIGGEST BRICK --"
00fc 0088       |    |		.STRTAB	0x0088->0x0140							; " --      FROM HEAP TO PUT IT IN THE FIRST FREE BOX           --"
00fd 00c5       |    |		.STRTAB	0x00c5->0x015f							; "Robot1"
00fe 00c9       |    |		.STRTAB	0x00c9->0x0162							; "Robot2"
00ff 00cd       |    |		.STRTAB	0x00cd->0x0165							; "Robot3"
0100 00d1       |    |		.STREND 0x00d1->0x0168
0101 202d 2d2d  | ---|		.STRTAB_STRINGS
0169 0000 0000  |    |		.BLANK	0000[0x7]
0170 ; --------------------------------------------------------------------------------------
0170 ; Debug Table
0170 ; --------------------------------------------------------------------------------------
0170 0004 0009  |    |		.DEBUG4	0x0004,0x0009,0x0f0c,0x0000,0x0001,0x0004
0176 000b 0186  |    |		.DBG4T	0x000b,0x0186,0x0000,0x0000
017a 0010 018a  |    |		.DBG4T	0x0010,0x018a,0x0000,0x0000
017e 001b 018e  |    |		.DBG4T	0x001b,0x018e,0x0002,0x0000
0182 008b 0194  |    |		.DBG4T	0x008b,0x0194,0x0001,0x0000
0186 ; --------------------------------------------------------------------------------------
0186 ; Debug chain
0186 ; --------------------------------------------------------------------------------------
0186 0002 0000  |    |		.DBGLEN	0x0002,0x0000
0188 000b 000d  |    |		.DBGLNO	0x000b,0x000d
018a ; --------------------------------------------------------------------------------------
018a ; Debug chain
018a ; --------------------------------------------------------------------------------------
018a 0002 0000  |    |		.DBGLEN	0x0002,0x0000
018c 0010 0012  |    |		.DBGLNO	0x0010,0x0012
018e ; --------------------------------------------------------------------------------------
018e ; Debug chain
018e ; --------------------------------------------------------------------------------------
018e 0003 0001  |    |		.DBGLEN	0x0003,0x0001
0190 001b 001c  |    |		.DBGLNO	0x001b,0x001c,0x001d,0x001e
0194 ; --------------------------------------------------------------------------------------
0194 ; Debug chain
0194 ; --------------------------------------------------------------------------------------
0194 0006 0014  |    |		.DBGLEN	0x0006,0x0014
0196 008b 008f  |    |		.DBGLNO	0x008b,0x008f,0x0093,0x0097,0x0098,0x009c,0x00a0,0x00a3,0x00a7,0x00ab,0x00af,0x00b3,0x00b6,0x00ba,0x00be,0x00c2,0x00c7,0x00cc,0x00d0,0x00d6,0x00dc,0x00e2,0x00e8,0x00ee,0x00f4,0x00f6
01b0 0000 0000  |    |		.BLANK	0000[0x50]