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

⟦8990a067f⟧

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

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦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 01a8       |    |		.CONST	0x01a8								; 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 0010       |    |		.CONST	0x0010								; Address of begin
0009 0004       |    |		.CONST	0x0004								; Address of exception handler
000a 0001       |    |		.CONST	0x0001								; Number of locals
000b			INIT_0008:
000b 029a 001b  |    |		Declare_Subprogram	INIT_0018,For_Outer_Call,Visible,Unelaborated
000d 00bf       |    |		Action	Accept_Activation
000e 1d0d       |    |		Execute_Immediate	Reference_Lex_1,0xd
000f 00c7       |    |		Action	Elaborate_Subprogram
0010			BODY_0008:
0010 00bc       |    |		Action	Signal_Activated
0011 00bb       |    |		Action	Signal_Completion
0012 0000 0000  |    |		.BLANK	0000[0x6]
0018 ; --------------------------------------------------------------------------------------
0018 ; SUBPROGRAM
0018 ; --------------------------------------------------------------------------------------
0018 0043       | C  |		.CONST	0x0043								; Address of begin
0019 0004       |    |		.CONST	0x0004								; Address of exception handler
001a 000c       |    |		.CONST	0x000c								; Number of locals
001b			INIT_0018:
001b 029f 005b  |   [|		Declare_Subprogram	INIT_0058,For_Call
001d 029f 0073  |   s|		Declare_Subprogram	INIT_0070,For_Call
001f a002       |    |		Store_Unchecked	0x0,0x2
0020 00c6       |    |		Action	Check_Subprogram_Elaborated
0021 4802       |H   |		Short_Literal	0x2
0022 4802       |H   |		Short_Literal	0x2
0023 0099       |    |		Action	Reference_Dynamic
0024 4803       |H   |		Short_Literal	0x3
0025 4802       |H   |		Short_Literal	0x2
0026 0099       |    |		Action	Reference_Dynamic
0027 0093 0000  |    |		push_full_address	0x0
0029 602a       |`*  |		Indirect_Literal	Discrete,0x54,{0x80000000, 0x00020000}
002a 0273       | s  |		Execute	Discrete,Plus
002b e003       |    |		Load	0x0,0x3
002c 0273       | s  |		Execute	Discrete,Plus
002d e004       |    |		Load	0x0,0x4
002e 0273       | s  |		Execute	Discrete,Plus
002f 4807       |H   |		Short_Literal	0x7
0030 0007       |    |		Action	Break_Optional
0031 4800       |H   |		Short_Literal	0x0
0032 4815       |H   |		Short_Literal	0x15
0033 00e5       |    |		Load_Encached	Long_Integer_Cache
0034 03f8       |    |		Declare_Type	Discrete,Constrained
0035 e005       |    |		Load	0x0,0x5
0036 e006       |    |		Load	0x0,0x6
0037 00da       |    |		Load_Top	At_Offset_2
0038 e007       |    |		Load	0x0,0x7
0039 1b50       | P  |		Execute	Package,Field_Read,Field_Number 0x50
003a 0387       |    |		Declare_Variable	Package
003b 00d8       |    |		Load_Top	At_Offset_0
003c 020f       |    |		Execute	Module,Activate
003d 00d9       |    |		Load_Top	At_Offset_1
003e 0601       |    |		Execute_Immediate	Set_Value_Unchecked,0x1
003f 029f 0083  |    |		Declare_Subprogram	INIT_0080,For_Call
0041 029f 0123  |   #|		Declare_Subprogram	INIT_0120,For_Call
0043			BODY_0018:
0043 00cf       |    |		Action	Mark_Auxiliary
0044 0007       |    |		Action	Break_Optional
0045 8008       |    |		Call	0x0,0x8
0046 4801       |H   |		Short_Literal	0x1
0047 e007       |    |		Load	0x0,0x7
0048 182d       | -  |		Execute	Package,Field_Execute,Field_Number 0x2d
0049 0092 013e  |   >|		Action	Push_String_Extended,0x13e					; "Choisissez une configuration de depart [1..21]  (0 -> Quit)"
004b e007       |    |		Load	0x0,0x7
004c 184f       | O  |		Execute	Package,Field_Execute,Field_Number 0x4f
004d 840c       |    |		Call	0x2,0xc
004e 00db       |    |		Load_Top	At_Offset_3
004f 6802       |h   |		Jump_Zero	0x52
0050 00c9       |    |		Action	Pop_Auxiliary_Loop
0051 7ff3       |    |		Jump	0x45
0052 4501       |E   |		Exit_Suprogram	New_Top_Offset 0x1
0053 0000       |    |		.XXX[0x1]
0054 8000 0000  |    |		.LITERAL	{0x80000000, 0x00020000}
0058 ; --------------------------------------------------------------------------------------
0058 ; SUBPROGRAM
0058 ; --------------------------------------------------------------------------------------
0058 005b       | [  |		.CONST	0x005b								; Address of begin
0059 0004       |    |		.CONST	0x0004								; Address of exception handler
005a 0001       |    |		.CONST	0x0001								; Number of locals
005b			BODY_0058:
005b			INIT_0058:
005b 00db       |    |		Load_Top	At_Offset_3
005c 00db       |    |		Load_Top	At_Offset_3
005d 00d8       |    |		Load_Top	At_Offset_0
005e 00e3       |    |		Load_Encached	Natural_Cache
005f 0260       | `  |		Execute	Discrete,In_Type
0060 7001       |p   |		Jump_Nonzero	0x62
0061 0801       |    |		Execute_Immediate	Raise,0x1
0062 e009       |    |		Load	0x0,0x9
0063 e00a       |    |		Load	0x0,0xa
0064 a00b       |    |		Store_Unchecked	0x0,0xb
0065 a00c       |    |		Store_Unchecked	0x0,0xc
0066 a00d       |    |		Store_Unchecked	0x0,0xd
0067 800e       |    |		Call	0x0,0xe
0068 4503       |E   |		Exit_Suprogram	New_Top_Offset 0x3
0069 0000 0000  |    |		.BLANK	0000[0x7]
0070 ; --------------------------------------------------------------------------------------
0070 ; SUBPROGRAM
0070 ; --------------------------------------------------------------------------------------
0070 0073       | s  |		.CONST	0x0073								; Address of begin
0071 0004       |    |		.CONST	0x0004								; Address of exception handler
0072 0001       |    |		.CONST	0x0001								; Number of locals
0073			BODY_0070:
0073			INIT_0070:
0073 00db       |    |		Load_Top	At_Offset_3
0074 00db       |    |		Load_Top	At_Offset_3
0075 00d8       |    |		Load_Top	At_Offset_0
0076 00e3       |    |		Load_Encached	Natural_Cache
0077 0260       | `  |		Execute	Discrete,In_Type
0078 7001       |p   |		Jump_Nonzero	0x7a
0079 0801       |    |		Execute_Immediate	Raise,0x1
007a 800f       |    |		Call	0x0,0xf
007b 4503       |E   |		Exit_Suprogram	New_Top_Offset 0x3
007c 0000 0000  |    |		.BLANK	0000[0x4]
0080 ; --------------------------------------------------------------------------------------
0080 ; SUBPROGRAM
0080 ; --------------------------------------------------------------------------------------
0080 0083       |    |		.CONST	0x0083								; Address of begin
0081 0004       |    |		.CONST	0x0004								; Address of exception handler
0082 0001       |    |		.CONST	0x0001								; Number of locals
0083			BODY_0080:
0083			INIT_0080:
0083 00da       |    |		Load_Top	At_Offset_2
0084 4615       |F   |		Jump_Case	0x16
0085 7825       |x%  |		Jump	0xab								; case 0x0
0086 7826       |x&  |		Jump	0xad								; case 0x1
0087 7835       |x5  |		Jump	0xbd								; case 0x2
0088 7844       |xD  |		Jump	0xcd								; case 0x3
0089 7843       |xC  |		Jump	0xcd								; case 0x4
008a 7842       |xB  |		Jump	0xcd								; case 0x5
008b 7841       |xA  |		Jump	0xcd								; case 0x6
008c 7840       |x@  |		Jump	0xcd								; case 0x7
008d 783f       |x?  |		Jump	0xcd								; case 0x8
008e 783e       |x>  |		Jump	0xcd								; case 0x9
008f 783d       |x=  |		Jump	0xcd								; case 0xa
0090 783c       |x<  |		Jump	0xcd								; case 0xb
0091 783b       |x;  |		Jump	0xcd								; case 0xc
0092 783a       |x:  |		Jump	0xcd								; case 0xd
0093 7839       |x9  |		Jump	0xcd								; case 0xe
0094 7838       |x8  |		Jump	0xcd								; case 0xf
0095 7839       |x9  |		Jump	0xcf								; case 0x10
0096 7848       |xH  |		Jump	0xdf								; case 0x11
0097 7857       |xW  |		Jump	0xef								; case 0x12
0098 7866       |xf  |		Jump	0xff								; case 0x13
0099 7875       |xu  |		Jump	0x10f								; case 0x14
009a 7800       |x   |		Jump	0x9b								; case 0x15
009b e010       |    |		Load	0x0,0x10
009c 0337       | 7  |		Declare_Variable	Array
009d e011       |    |		Load	0x0,0x11
009e 4800       |H   |		Short_Literal	0x0
009f 00da       |    |		Load_Top	At_Offset_2
00a0 01d6       |    |		Execute	Vector,Field_Write
00a1 0092 013f  |   ?|		Action	Push_String_Extended,0x13f					; "at_object_holds"
00a3 8012       |    |		Call	0x0,0x12
00a4 4801       |H   |		Short_Literal	0x1
00a5 00da       |    |		Load_Top	At_Offset_2
00a6 01d6       |    |		Execute	Vector,Field_Write
00a7 e010       |    |		Load	0x0,0x10
00a8 01c3       |    |		Execute	Vector,Check_In_Type
00a9 8013       |    |		Call	0x0,0x13
00aa 4502       |E   |		Exit_Suprogram	New_Top_Offset 0x2
00ab 0008       |    |		Action	Idle
00ac 4502       |E   |		Exit_Suprogram	New_Top_Offset 0x2
00ad e010       |    |		Load	0x0,0x10
00ae 0337       | 7  |		Declare_Variable	Array
00af e014       |    |		Load	0x0,0x14
00b0 4800       |H   |		Short_Literal	0x0
00b1 00da       |    |		Load_Top	At_Offset_2
00b2 01d6       |    |		Execute	Vector,Field_Write
00b3 0092 0140  |   @|		Action	Push_String_Extended,0x140					; "start"
00b5 8012       |    |		Call	0x0,0x12
00b6 4801       |H   |		Short_Literal	0x1
00b7 00da       |    |		Load_Top	At_Offset_2
00b8 01d6       |    |		Execute	Vector,Field_Write
00b9 e010       |    |		Load	0x0,0x10
00ba 01c3       |    |		Execute	Vector,Check_In_Type
00bb 8013       |    |		Call	0x0,0x13
00bc 4502       |E   |		Exit_Suprogram	New_Top_Offset 0x2
00bd e010       |    |		Load	0x0,0x10
00be 0337       | 7  |		Declare_Variable	Array
00bf e014       |    |		Load	0x0,0x14
00c0 4800       |H   |		Short_Literal	0x0
00c1 00da       |    |		Load_Top	At_Offset_2
00c2 01d6       |    |		Execute	Vector,Field_Write
00c3 0092 0141  |   A|		Action	Push_String_Extended,0x141					; "on_ladder"
00c5 8012       |    |		Call	0x0,0x12
00c6 4801       |H   |		Short_Literal	0x1
00c7 00da       |    |		Load_Top	At_Offset_2
00c8 01d6       |    |		Execute	Vector,Field_Write
00c9 e010       |    |		Load	0x0,0x10
00ca 01c3       |    |		Execute	Vector,Check_In_Type
00cb 8013       |    |		Call	0x0,0x13
00cc 4502       |E   |		Exit_Suprogram	New_Top_Offset 0x2
00cd 0008       |    |		Action	Idle
00ce 4502       |E   |		Exit_Suprogram	New_Top_Offset 0x2
00cf e010       |    |		Load	0x0,0x10
00d0 0337       | 7  |		Declare_Variable	Array
00d1 e011       |    |		Load	0x0,0x11
00d2 4800       |H   |		Short_Literal	0x0
00d3 00da       |    |		Load_Top	At_Offset_2
00d4 01d6       |    |		Execute	Vector,Field_Write
00d5 0092 0142  |   B|		Action	Push_String_Extended,0x142					; "at_monkey"
00d7 8012       |    |		Call	0x0,0x12
00d8 4801       |H   |		Short_Literal	0x1
00d9 00da       |    |		Load_Top	At_Offset_2
00da 01d6       |    |		Execute	Vector,Field_Write
00db e010       |    |		Load	0x0,0x10
00dc 01c3       |    |		Execute	Vector,Check_In_Type
00dd 8013       |    |		Call	0x0,0x13
00de 4502       |E   |		Exit_Suprogram	New_Top_Offset 0x2
00df e010       |    |		Load	0x0,0x10
00e0 0337       | 7  |		Declare_Variable	Array
00e1 e011       |    |		Load	0x0,0x11
00e2 4800       |H   |		Short_Literal	0x0
00e3 00da       |    |		Load_Top	At_Offset_2
00e4 01d6       |    |		Execute	Vector,Field_Write
00e5 0092 0143  |   C|		Action	Push_String_Extended,0x143					; "at_monkey_object"
00e7 8012       |    |		Call	0x0,0x12
00e8 4801       |H   |		Short_Literal	0x1
00e9 00da       |    |		Load_Top	At_Offset_2
00ea 01d6       |    |		Execute	Vector,Field_Write
00eb e010       |    |		Load	0x0,0x10
00ec 01c3       |    |		Execute	Vector,Check_In_Type
00ed 8013       |    |		Call	0x0,0x13
00ee 4502       |E   |		Exit_Suprogram	New_Top_Offset 0x2
00ef e010       |    |		Load	0x0,0x10
00f0 0337       | 7  |		Declare_Variable	Array
00f1 e011       |    |		Load	0x0,0x11
00f2 4800       |H   |		Short_Literal	0x0
00f3 00da       |    |		Load_Top	At_Offset_2
00f4 01d6       |    |		Execute	Vector,Field_Write
00f5 0092 0144  |   D|		Action	Push_String_Extended,0x144					; "at_monkey_on"
00f7 8012       |    |		Call	0x0,0x12
00f8 4801       |H   |		Short_Literal	0x1
00f9 00da       |    |		Load_Top	At_Offset_2
00fa 01d6       |    |		Execute	Vector,Field_Write
00fb e010       |    |		Load	0x0,0x10
00fc 01c3       |    |		Execute	Vector,Check_In_Type
00fd 8013       |    |		Call	0x0,0x13
00fe 4502       |E   |		Exit_Suprogram	New_Top_Offset 0x2
00ff e010       |    |		Load	0x0,0x10
0100 0337       | 7  |		Declare_Variable	Array
0101 e011       |    |		Load	0x0,0x11
0102 4800       |H   |		Short_Literal	0x0
0103 00da       |    |		Load_Top	At_Offset_2
0104 01d6       |    |		Execute	Vector,Field_Write
0105 0092 0145  |   E|		Action	Push_String_Extended,0x145					; "at_object"
0107 8012       |    |		Call	0x0,0x12
0108 4801       |H   |		Short_Literal	0x1
0109 00da       |    |		Load_Top	At_Offset_2
010a 01d6       |    |		Execute	Vector,Field_Write
010b e010       |    |		Load	0x0,0x10
010c 01c3       |    |		Execute	Vector,Check_In_Type
010d 8013       |    |		Call	0x0,0x13
010e 4502       |E   |		Exit_Suprogram	New_Top_Offset 0x2
010f e010       |    |		Load	0x0,0x10
0110 0337       | 7  |		Declare_Variable	Array
0111 e011       |    |		Load	0x0,0x11
0112 4800       |H   |		Short_Literal	0x0
0113 00da       |    |		Load_Top	At_Offset_2
0114 01d6       |    |		Execute	Vector,Field_Write
0115 0092 0146  |   F|		Action	Push_String_Extended,0x146					; "at_object_on_floor"
0117 8012       |    |		Call	0x0,0x12
0118 4801       |H   |		Short_Literal	0x1
0119 00da       |    |		Load_Top	At_Offset_2
011a 01d6       |    |		Execute	Vector,Field_Write
011b e010       |    |		Load	0x0,0x10
011c 01c3       |    |		Execute	Vector,Check_In_Type
011d 8013       |    |		Call	0x0,0x13
011e 4502       |E   |		Exit_Suprogram	New_Top_Offset 0x2
011f 0000       |    |		.XXX[0x1]
0120 ; --------------------------------------------------------------------------------------
0120 ; SUBPROGRAM
0120 ; --------------------------------------------------------------------------------------
0120 0123       | #  |		.CONST	0x0123								; Address of begin
0121 0136       | 6  |		.CONST	0x0136								; Address of exception handler
0122 0001       |    |		.CONST	0x0001								; Number of locals
0123			BODY_0120:
0123			INIT_0120:
0123 e409       |    |		Load	0x2,0x9
0124 1b0f       |    |		Execute	Package,Field_Read,Field_Number 0xf
0125 4800       |H   |		Short_Literal	0x0
0126 e409       |    |		Load	0x2,0x9
0127 1813       |    |		Execute	Package,Field_Execute,Field_Number 0x13
0128 c40a       |    |		Store	0x2,0xa
0129 e40a       |    |		Load	0x2,0xa
012a 840b       |    |		Call	0x2,0xb
012b 4804       |H   |		Short_Literal	0x4
012c 4802       |H   |		Short_Literal	0x2
012d 0099       |    |		Action	Reference_Dynamic
012e 4805       |H   |		Short_Literal	0x5
012f 4802       |H   |		Short_Literal	0x2
0130 0099       |    |		Action	Reference_Dynamic
0131 4806       |H   |		Short_Literal	0x6
0132 4802       |H   |		Short_Literal	0x2
0133 0099       |    |		Action	Reference_Dynamic
0134 8002       |    |		Call	0x0,0x2
0135 4501       |E   |		Exit_Suprogram	New_Top_Offset 0x1
0136			TRAP_0120:
0136 010e       |    |		Execute	Exception,Is_Constraint_Error
0137 6805       |h   |		Jump_Zero	0x13d
0138 0092 0147  |   G|		Action	Push_String_Extended,0x147					; "Mauvais choix !!  Recommencez..."
013a e007       |    |		Load	0x0,0x7
013b 184f       | O  |		Execute	Package,Field_Execute,Field_Number 0x4f
013c 4501       |E   |		Exit_Suprogram	New_Top_Offset 0x1
013d 0100       |    |		Execute	Exception,Raise
013e ; --------------------------------------------------------------------------------------
013e ; STRING TABLE
013e ; --------------------------------------------------------------------------------------
013e 0016       |    |		.STRTAB	0x0016->0x0149							; "Choisissez une configuration de depart [1..21]  (0 -> Quit)"
013f 004f       | O  |		.STRTAB	0x004f->0x0166							; "at_object_holds"
0140 005c       | \  |		.STRTAB	0x005c->0x016e							; "start"
0141 005f       | _  |		.STRTAB	0x005f->0x0170							; "on_ladder"
0142 0066       | f  |		.STRTAB	0x0066->0x0175							; "at_monkey"
0143 006d       | m  |		.STRTAB	0x006d->0x0179							; "at_monkey_object"
0144 007b       | {  |		.STRTAB	0x007b->0x0181							; "at_monkey_on"
0145 0085       |    |		.STRTAB	0x0085->0x0187							; "at_object"
0146 008c       |    |		.STRTAB	0x008c->0x018c							; "at_object_on_floor"
0147 009c       |    |		.STRTAB	0x009c->0x0195							; "Mauvais choix !!  Recommencez..."
0148 00ba       |    |		.STREND 0x00ba->0x01a5
0149 4368 6f69  |Choi|		.STRTAB_STRINGS
01a5 0000 0000  |    |		.XXX[0x3]
01a7 0000       |    |
01a8 ; --------------------------------------------------------------------------------------
01a8 ; Debug Table
01a8 ; --------------------------------------------------------------------------------------
01a8 0004 0006  |    |		.DEBUG4	0x0004,0x0006,0xad2d,0x0000,0x0001,0x0006
01ae 000b 0000  |    |		.DBG4T	0x000b,0x0000,0x8000,0x0000
01b2 001b 01c6  |    |		.DBG4T	0x001b,0x01c6,0x8001,0x0000
01b6 005b 0000  | [  |		.DBG4T	0x005b,0x0000,0x000b,0x0000
01ba 0073 0000  | s  |		.DBG4T	0x0073,0x0000,0x000b,0x0000
01be 0083 01d3  |    |		.DBG4T	0x0083,0x01d3,0x0001,0x4000
01c2 0123 01eb  | #  |		.DBG4T	0x0123,0x01eb,0x0004,0x0000
01c6 ; --------------------------------------------------------------------------------------
01c6 ; Debug chain
01c6 ; --------------------------------------------------------------------------------------
01c6 0005 0006  |    |		.DBGLEN	0x0005,0x0006
01c8 001b 0031  |   1|		.DBGLNO	0x001b,0x0031,0x0035,0x003d,0x003f,0x0044,0x0045,0x0046,0x0049,0x004d,0x004e
01d3 ; --------------------------------------------------------------------------------------
01d3 ; Debug chain
01d3 ; --------------------------------------------------------------------------------------
01d3 0000 000b  |    |		.DBGLEN	0x0000,0x000b
01d5 0083 009b  |    |		.DBGLNO	0x0083,0x009b,0x00ab,0x00ad,0x00bd,0x00cd,0x00cf,0x00df,0x00ef,0x00ff,0x010f
01e0 0001 000b  |    |		.XXX[0xb]
01e2 0002 0003  |    |
01e4 0004 0005  |    |
01e6 0006 0007  |    |
01e8 0008 0009  |    |
01ea 000a       |    |
01eb ; --------------------------------------------------------------------------------------
01eb ; Debug chain
01eb ; --------------------------------------------------------------------------------------
01eb 0000 0004  |    |		.DBGLEN	0x0000,0x0004
01ed 0123 0129  | # )|		.DBGLNO	0x0123,0x0129,0x012b,0x0138
01f1 0000 0000  |    |		.BLANK	0000[0xf]