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

⟦4075d7100⟧

    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 0168       | h  |		.CONST	0x0168								; 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 4804       |H   |		Short_Literal	0x4
004c 00da       |    |		Load_Top	At_Offset_2
004d 01d6       |    |		Execute	Vector,Field_Write
004e e00d       |    |		Load	0x0,0xd
004f 8007       |    |		Call	0x0,0x7
0050 4805       |H   |		Short_Literal	0x5
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 4806       |H   |		Short_Literal	0x6
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 4802       |H   |		Short_Literal	0x2
0063 00da       |    |		Load_Top	At_Offset_2
0064 01d6       |    |		Execute	Vector,Field_Write
0065 e010       |    |		Load	0x0,0x10
0066 8007       |    |		Call	0x0,0x7
0067 4803       |H   |		Short_Literal	0x3
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 4802       |H   |		Short_Literal	0x2
0075 00da       |    |		Load_Top	At_Offset_2
0076 01d6       |    |		Execute	Vector,Field_Write
0077 e010       |    |		Load	0x0,0x10
0078 8007       |    |		Call	0x0,0x7
0079 4803       |H   |		Short_Literal	0x3
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 00f6  |    |		Action	Push_String_Extended,0xf6					; " --------------------------------------------------------------"
00a6 8017       |    |		Call	0x0,0x17
00a7 00da       |    |		Load_Top	At_Offset_2
00a8 0092 00f7  |    |		Action	Push_String_Extended,0xf7					; " -- 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 00f8  |    |		Action	Push_String_Extended,0xf8					; " --      FROM HEAP TO PUT IT IN THE FIRST FREE BOX           --"
00ae 8017       |    |		Call	0x0,0x17
00af 00da       |    |		Load_Top	At_Offset_2
00b0 0092 00f6  |    |		Action	Push_String_Extended,0xf6					; " --------------------------------------------------------------"
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 4803       |H   |		Short_Literal	0x3
00b8 e404       |    |		Load	0x2,0x4
00b9 8019       |    |		Call	0x0,0x19
00ba e01a       |    |		Load	0x0,0x1a
00bb 4805       |H   |		Short_Literal	0x5
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 4806       |H   |		Short_Literal	0x6
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 4802       |H   |		Short_Literal	0x2
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 00d9       |    |		Load_Top	At_Offset_1
00cd 8020       |    |		Call	0x0,0x20
00ce 0092 00f9  |    |		Action	Push_String_Extended,0xf9					; "Robot1"
00d0 01df       |    |		Execute	Vector,Equal
00d1 6806       |h   |		Jump_Zero	0xd8
00d2 00d8       |    |		Load_Top	At_Offset_0
00d3 e404       |    |		Load	0x2,0x4
00d4 e402       |    |		Load	0x2,0x2
00d5 e403       |    |		Load	0x2,0x3
00d6 8021       | !  |		Call	0x0,0x21
00d7 781a       |x   |		Jump	0xf2
00d8 00d9       |    |		Load_Top	At_Offset_1
00d9 8020       |    |		Call	0x0,0x20
00da 0092 00fa  |    |		Action	Push_String_Extended,0xfa					; "Robot2"
00dc 01df       |    |		Execute	Vector,Equal
00dd 6806       |h   |		Jump_Zero	0xe4
00de 00d8       |    |		Load_Top	At_Offset_0
00df e404       |    |		Load	0x2,0x4
00e0 e402       |    |		Load	0x2,0x2
00e1 e403       |    |		Load	0x2,0x3
00e2 8022       | "  |		Call	0x0,0x22
00e3 780e       |x   |		Jump	0xf2
00e4 00d9       |    |		Load_Top	At_Offset_1
00e5 8020       |    |		Call	0x0,0x20
00e6 0092 00fb  |    |		Action	Push_String_Extended,0xfb					; "Robot3"
00e8 01df       |    |		Execute	Vector,Equal
00e9 6806       |h   |		Jump_Zero	0xf0
00ea 00d8       |    |		Load_Top	At_Offset_0
00eb e404       |    |		Load	0x2,0x4
00ec e402       |    |		Load	0x2,0x2
00ed e403       |    |		Load	0x2,0x3
00ee 8023       | #  |		Call	0x0,0x23
00ef 7802       |x   |		Jump	0xf2
00f0 0008       |    |		Action	Idle
00f1 0007       |    |		Action	Break_Optional
00f2 4801       |H   |		Short_Literal	0x1
00f3 00db       |    |		Load_Top	At_Offset_3
00f4 8016       |    |		Call	0x0,0x16
00f5 4502       |E   |		Exit_Suprogram	New_Top_Offset 0x2
00f6 ; --------------------------------------------------------------------------------------
00f6 ; STRING TABLE
00f6 ; --------------------------------------------------------------------------------------
00f6 000e       |    |		.STRTAB	0x000e->0x00fd							; " --------------------------------------------------------------"
00f7 004b       | K  |		.STRTAB	0x004b->0x011c							; " -- A NOT WORKING ROBOT WAS CHOSEN TO TAKE THE BIGGEST BRICK --"
00f8 0088       |    |		.STRTAB	0x0088->0x013c							; " --      FROM HEAP TO PUT IT IN THE FIRST FREE BOX           --"
00f9 00c5       |    |		.STRTAB	0x00c5->0x015b							; "Robot1"
00fa 00c9       |    |		.STRTAB	0x00c9->0x015e							; "Robot2"
00fb 00cd       |    |		.STRTAB	0x00cd->0x0161							; "Robot3"
00fc 00d1       |    |		.STREND 0x00d1->0x0164
00fd 202d 2d2d  | ---|		.STRTAB_STRINGS
0165 0000 0000  |    |		.XXX[0x3]
0167 0000       |    |
0168 ; --------------------------------------------------------------------------------------
0168 ; Debug Table
0168 ; --------------------------------------------------------------------------------------
0168 0004 0009  |    |		.DEBUG4	0x0004,0x0009,0x0f11,0x0000,0x0001,0x0004
016e 000b 017e  |   ~|		.DBG4T	0x000b,0x017e,0x0000,0x0000
0172 0010 0182  |    |		.DBG4T	0x0010,0x0182,0x0000,0x0000
0176 001b 0186  |    |		.DBG4T	0x001b,0x0186,0x0002,0x0000
017a 008b 018c  |    |		.DBG4T	0x008b,0x018c,0x0001,0x0000
017e ; --------------------------------------------------------------------------------------
017e ; Debug chain
017e ; --------------------------------------------------------------------------------------
017e 0002 0000  |    |		.DBGLEN	0x0002,0x0000
0180 000b 000d  |    |		.DBGLNO	0x000b,0x000d
0182 ; --------------------------------------------------------------------------------------
0182 ; Debug chain
0182 ; --------------------------------------------------------------------------------------
0182 0002 0000  |    |		.DBGLEN	0x0002,0x0000
0184 0010 0012  |    |		.DBGLNO	0x0010,0x0012
0186 ; --------------------------------------------------------------------------------------
0186 ; Debug chain
0186 ; --------------------------------------------------------------------------------------
0186 0003 0001  |    |		.DBGLEN	0x0003,0x0001
0188 001b 001c  |    |		.DBGLNO	0x001b,0x001c,0x001d,0x001e
018c ; --------------------------------------------------------------------------------------
018c ; Debug chain
018c ; --------------------------------------------------------------------------------------
018c 0006 0013  |    |		.DBGLEN	0x0006,0x0013
018e 008b 008f  |    |		.DBGLNO	0x008b,0x008f,0x0093,0x0097,0x0098,0x009c,0x00a0,0x00a3,0x00a7,0x00ab,0x00af,0x00b3,0x00b6,0x00ba,0x00be,0x00c2,0x00c7,0x00cc,0x00d2,0x00d8,0x00de,0x00e4,0x00ea,0x00f0,0x00f2
01a7 0000 0000  |    |		.BLANK	0000[0x59]