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

⟦7a6aed5d0⟧

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

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 5800       |X   |		.CONST	0x5800								; Diana Version, RCG Major Version, RCG minor version
0002 0000       |    |		.CONST	0x0000								; Zero
0003 0198       |    |		.CONST	0x0198								; 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 8001       |    |		.CONST	0x8001								; 0, wired, #pages in seg - 1)
0008 ; --------------------------------------------------------------------------------------
0008 ; SUBPROGRAM
0008 ; --------------------------------------------------------------------------------------
0008 0034       | 4  |		.CONST	0x0034								; Address of begin
0009 0082       |    |		.CONST	0x0082								; Address of exception handler
000a 000f       |    |		.CONST	0x000f								; Number of locals
000b			INIT_0008:
000b 6090       |`   |		Indirect_Literal	Discrete,0x9c,{0x00000000, 0x00003e00}
000c 608b       |`   |		Indirect_Literal	Discrete,0x98,{0x00000000, 0x00003fff}
000d e020       |    |		Load	0x0,0x20
000e 03f8       |    |		Declare_Type	Discrete,Constrained
000f 6084       |`   |		Indirect_Literal	Discrete,0x94,{0x00000000, 0x00003600}
0010 607f       |`   |		Indirect_Literal	Discrete,0x90,{0x00000000, 0x000037ff}
0011 e020       |    |		Load	0x0,0x20
0012 03f8       |    |		Declare_Type	Discrete,Constrained
0013 e5ff       |    |		Load	0x2,-0x1
0014 8021       | !  |		Call	0x0,0x21
0015 e022       | "  |		Load	0x0,0x22
0016 0322       | "  |		Declare_Variable	Record
0017 00d9       |    |		Load_Top	At_Offset_1
0018 8023       | #  |		Call	0x0,0x23
0019 00d9       |    |		Load_Top	At_Offset_1
001a 017d       | }  |		Execute	Record,Structure_Write
001b e024       | $  |		Load	0x0,0x24
001c 0322       | "  |		Declare_Variable	Record
001d 00d9       |    |		Load_Top	At_Offset_1
001e 8025       | %  |		Call	0x0,0x25
001f 00d9       |    |		Load_Top	At_Offset_1
0020 017d       | }  |		Execute	Record,Structure_Write
0021 e020       |    |		Load	0x0,0x20
0022 0007       |    |		Action	Break_Optional
0023 00da       |    |		Load_Top	At_Offset_2
0024 8026       | &  |		Call	0x0,0x26
0025 e020       |    |		Load	0x0,0x20
0026 03f1       |    |		Declare_Variable	Discrete,With_Value
0027 00e2       |    |		Load_Encached	Integer_Cache
0028 0600       |    |		Execute_Immediate	Set_Value_Unchecked,0x0
0029 00e2       |    |		Load_Encached	Integer_Cache
002a 029f 00a3  |    |		Declare_Subprogram	INIT_00a0,For_Call
002c 029f 00bb  |    |		Declare_Subprogram	INIT_00b8,For_Call
002e 029f 00d3  |    |		Declare_Subprogram	INIT_00d0,For_Call
0030 029f 0103  |    |		Declare_Subprogram	INIT_0100,For_Call
0032 029f 012b  |   +|		Declare_Subprogram	INIT_0128,For_Call
0034			BODY_0008:
0034 e408       |    |		Load	0x2,0x8
0035 e406       |    |		Load	0x2,0x6
0036 8027       | '  |		Call	0x0,0x27
0037 a407       |    |		Store_Unchecked	0x2,0x7
0038 e407       |    |		Load	0x2,0x7
0039 840b       |    |		Call	0x2,0xb
003a 6804       |h   |		Jump_Zero	0x3f
003b e408       |    |		Load	0x2,0x8
003c 0a02       |    |		Execute_Immediate	Plus,0x2
003d c408       |    |		Store	0x2,0x8
003e 7803       |x   |		Jump	0x42
003f e408       |    |		Load	0x2,0x8
0040 0a01       |    |		Execute_Immediate	Plus,0x1
0041 c408       |    |		Store	0x2,0x8
0042 00cf       |    |		Action	Mark_Auxiliary
0043 e408       |    |		Load	0x2,0x8
0044 e406       |    |		Load	0x2,0x6
0045 8027       | '  |		Call	0x0,0x27
0046 a407       |    |		Store_Unchecked	0x2,0x7
0047 e407       |    |		Load	0x2,0x7
0048 840b       |    |		Call	0x2,0xb
0049 6803       |h   |		Jump_Zero	0x4d
004a 4802       |H   |		Short_Literal	0x2
004b a40a       |    |		Store_Unchecked	0x2,0xa
004c 7802       |x   |		Jump	0x4f
004d 4801       |H   |		Short_Literal	0x1
004e a40a       |    |		Store_Unchecked	0x2,0xa
004f e409       |    |		Load	0x2,0x9
0050 e40a       |    |		Load	0x2,0xa
0051 0273       | s  |		Execute	Discrete,Plus
0052 c409       |    |		Store	0x2,0x9
0053 e407       |    |		Load	0x2,0x7
0054 6047       |`G  |		Indirect_Literal	Discrete,0x9c,{0x00000000, 0x00003e00}
0055 6042       |`B  |		Indirect_Literal	Discrete,0x98,{0x00000000, 0x00003fff}
0056 0262       | b  |		Execute	Discrete,In_Range
0057 e407       |    |		Load	0x2,0x7
0058 603b       |`;  |		Indirect_Literal	Discrete,0x94,{0x00000000, 0x00003600}
0059 6036       |`6  |		Indirect_Literal	Discrete,0x90,{0x00000000, 0x000037ff}
005a 0262       | b  |		Execute	Discrete,In_Range
005b 0278       | x  |		Execute	Discrete,Or
005c 680c       |h   |		Jump_Zero	0x69
005d e409       |    |		Load	0x2,0x9
005e 0275       | u  |		Execute	Discrete,Unary_Minus
005f e407       |    |		Load	0x2,0x7
0060 840c       |    |		Call	0x2,0xc
0061 840e       |    |		Call	0x2,0xe
0062 6801       |h   |		Jump_Zero	0x64
0063 7817       |x   |		Jump	0x7b
0064 e028       | (  |		Load	0x0,0x28
0065 6803       |h   |		Jump_Zero	0x69
0066 0092 0149  |   I|		Action	Push_String_Extended,0x149					; "  Passed up on End Loop"
0068 8029       | )  |		Call	0x0,0x29
0069 e407       |    |		Load	0x2,0x7
006a 0fa4       |    |		Execute_Immediate	Equal,-0x5c
006b e407       |    |		Load	0x2,0x7
006c 0fa3       |    |		Execute_Immediate	Equal,-0x5d
006d 0278       | x  |		Execute	Discrete,Or
006e 6801       |h   |		Jump_Zero	0x70
006f 840f       |    |		Call	0x2,0xf
0070 e408       |    |		Load	0x2,0x8
0071 e40a       |    |		Load	0x2,0xa
0072 00d8       |    |		Load_Top	At_Offset_0
0073 e020       |    |		Load	0x0,0x20
0074 0260       | `  |		Execute	Discrete,In_Type
0075 7001       |p   |		Jump_Nonzero	0x77
0076 0801       |    |		Execute_Immediate	Raise,0x1
0077 0273       | s  |		Execute	Discrete,Plus
0078 c408       |    |		Store	0x2,0x8
0079 00c9       |    |		Action	Pop_Auxiliary_Loop
007a 7fc8       |    |		Jump	0x43
007b 00ce       |    |		Action	Pop_Auxiliary
007c e408       |    |		Load	0x2,0x8
007d e406       |    |		Load	0x2,0x6
007e 802a       | *  |		Call	0x0,0x2a
007f e004       |    |		Load	0x0,0x4
0080 1819       |    |		Execute	Package,Field_Execute,Field_Number 0x19
0081 4401       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x1
0082			TRAP_0008:
0082 0007       |    |		Action	Break_Optional
0083 e00e       |    |		Load	0x0,0xe
0084 180e       |    |		Execute	Package,Field_Execute,Field_Number 0xe
0085 4806       |H   |		Short_Literal	0x6
0086 0092 014a  |   J|		Action	Push_String_Extended,0x14a					; "Unable to calculate FOR loops last instruction; decision coverage suppressed for "
0088 e5ff       |    |		Load	0x2,-0x1
0089 802b       | +  |		Call	0x0,0x2b
008a 01cc       |    |		Execute	Vector,Catenate
008b e00f       |    |		Load	0x0,0xf
008c 1813       |    |		Execute	Package,Field_Execute,Field_Number 0x13
008d 4800       |H   |		Short_Literal	0x0
008e 4401       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x1
008f 0000       |    |		.XXX[0x1]
0090 0000 0000  |    |		.LITERAL	{0x00000000, 0x000037ff}
0094 0000 0000  |    |		.LITERAL	{0x00000000, 0x00003600}
0098 0000 0000  |    |		.LITERAL	{0x00000000, 0x00003fff}
009c 0000 0000  |    |		.LITERAL	{0x00000000, 0x00003e00}
00a0 ; --------------------------------------------------------------------------------------
00a0 ; SUBPROGRAM
00a0 ; --------------------------------------------------------------------------------------
00a0 00a3       |    |		.CONST	0x00a3								; Address of begin
00a1 0004       |    |		.CONST	0x0004								; Address of exception handler
00a2 0001       |    |		.CONST	0x0001								; Number of locals
00a3			BODY_00a0:
00a3			INIT_00a0:
00a3 00da       |    |		Load_Top	At_Offset_2
00a4 4a99       |J   |		Short_Literal	0x299
00a5 4a9f       |J   |		Short_Literal	0x29f
00a6 0262       | b  |		Execute	Discrete,In_Range
00a7 700c       |p   |		Jump_Nonzero	0xb4
00a8 00da       |    |		Load_Top	At_Offset_2
00a9 48a0       |H   |		Short_Literal	0xa0
00aa 48a7       |H   |		Short_Literal	0xa7
00ab 0262       | b  |		Execute	Discrete,In_Range
00ac 7005       |p   |		Jump_Nonzero	0xb2
00ad 00da       |    |		Load_Top	At_Offset_2
00ae 4890       |H   |		Short_Literal	0x90
00af 4892       |H   |		Short_Literal	0x92
00b0 0262       | b  |		Execute	Discrete,In_Range
00b1 4401       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x1
00b2 4801       |H   |		Short_Literal	0x1
00b3 4401       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x1
00b4 4801       |H   |		Short_Literal	0x1
00b5 4401       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x1
00b6 0000 0000  |    |		.XXX[0x2]
00b8 ; --------------------------------------------------------------------------------------
00b8 ; SUBPROGRAM
00b8 ; --------------------------------------------------------------------------------------
00b8 00c0       |    |		.CONST	0x00c0								; Address of begin
00b9 0004       |    |		.CONST	0x0004								; Address of exception handler
00ba 0002       |    |		.CONST	0x0002								; Number of locals
00bb			INIT_00b8:
00bb 00da       |    |		Load_Top	At_Offset_2
00bc 49ff       |I   |		Short_Literal	0x1ff
00bd 0279       | y  |		Execute	Discrete,And
00be 00e3       |    |		Load_Encached	Natural_Cache
00bf 03ec       |    |		Declare_Variable	Discrete,With_Value,With_Constraint
00c0			BODY_00b8:
00c0 00d8       |    |		Load_Top	At_Offset_0
00c1 4900       |I   |		Short_Literal	0x100
00c2 027b       | {  |		Execute	Discrete,Greater_Equal
00c3 6804       |h   |		Jump_Zero	0xc8
00c4 00d8       |    |		Load_Top	At_Offset_0
00c5 4e00       |N   |		Short_Literal	-0x200
00c6 0273       | s  |		Execute	Discrete,Plus
00c7 4401       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x1
00c8 00d8       |    |		Load_Top	At_Offset_0
00c9 4401       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x1
00ca 0000 0000  |    |		.BLANK	0000[0x6]
00d0 ; --------------------------------------------------------------------------------------
00d0 ; SUBPROGRAM
00d0 ; --------------------------------------------------------------------------------------
00d0 00db       |    |		.CONST	0x00db								; Address of begin
00d1 0004       |    |		.CONST	0x0004								; Address of exception handler
00d2 0003       |    |		.CONST	0x0003								; Number of locals
00d3			INIT_00d0:
00d3 00da       |    |		Load_Top	At_Offset_2
00d4 840c       |    |		Call	0x2,0xc
00d5 e7fe       |    |		Load	0x3,-0x2
00d6 00d9       |    |		Load_Top	At_Offset_1
00d7 0273       | s  |		Execute	Discrete,Plus
00d8 0a01       |    |		Execute_Immediate	Plus,0x1
00d9 00e2       |    |		Load_Encached	Integer_Cache
00da 03ec       |    |		Declare_Variable	Discrete,With_Value,With_Constraint
00db			BODY_00d0:
00db 00d8       |    |		Load_Top	At_Offset_0
00dc 601f       |`   |		Indirect_Literal	Discrete,0xfc,{0x00000000, 0x00010000}
00dd 027b       | {  |		Execute	Discrete,Greater_Equal
00de 6809       |h   |		Jump_Zero	0xe8
00df 00d8       |    |		Load_Top	At_Offset_0
00e0 6017       |`   |		Indirect_Literal	Discrete,0xf8,{0xffffffff, 0xffff0000}
00e1 0273       | s  |		Execute	Discrete,Plus
00e2 00d8       |    |		Load_Top	At_Offset_0
00e3 00e2       |    |		Load_Encached	Integer_Cache
00e4 0260       | `  |		Execute	Discrete,In_Type
00e5 7001       |p   |		Jump_Nonzero	0xe7
00e6 0801       |    |		Execute_Immediate	Raise,0x1
00e7 4402       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x2
00e8 00d8       |    |		Load_Top	At_Offset_0
00e9 0d00       |    |		Execute_Immediate	Less,0x0
00ea 6809       |h   |		Jump_Zero	0xf4
00eb 00d8       |    |		Load_Top	At_Offset_0
00ec 600f       |`   |		Indirect_Literal	Discrete,0xfc,{0x00000000, 0x00010000}
00ed 0273       | s  |		Execute	Discrete,Plus
00ee 00d8       |    |		Load_Top	At_Offset_0
00ef 00e2       |    |		Load_Encached	Integer_Cache
00f0 0260       | `  |		Execute	Discrete,In_Type
00f1 7001       |p   |		Jump_Nonzero	0xf3
00f2 0801       |    |		Execute_Immediate	Raise,0x1
00f3 4402       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x2
00f4 00d8       |    |		Load_Top	At_Offset_0
00f5 4402       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x2
00f6 0000 0000  |    |		.XXX[0x2]
00f8 ffff ffff  |    |		.LITERAL	{0xffffffff, 0xffff0000}
00fc 0000 0000  |    |		.LITERAL	{0x00000000, 0x00010000}
0100 ; --------------------------------------------------------------------------------------
0100 ; SUBPROGRAM
0100 ; --------------------------------------------------------------------------------------
0100 0103       |    |		.CONST	0x0103								; Address of begin
0101 0004       |    |		.CONST	0x0004								; Address of exception handler
0102 0001       |    |		.CONST	0x0001								; Number of locals
0103			BODY_0100:
0103			INIT_0100:
0103 e028       | (  |		Load	0x0,0x28
0104 680b       |h   |		Jump_Zero	0x110
0105 0092 014b  |   K|		Action	Push_String_Extended,0x14b					; "LOOP"
0107 00db       |    |		Load_Top	At_Offset_3
0108 00e0       |    |		Load_Encached	Standard_Cache
0109 1818       |    |		Execute	Package,Field_Execute,Field_Number 0x18
010a 01cc       |    |		Execute	Vector,Catenate
010b e7fe       |    |		Load	0x3,-0x2
010c 00e0       |    |		Load_Encached	Standard_Cache
010d 1818       |    |		Execute	Package,Field_Execute,Field_Number 0x18
010e 01cc       |    |		Execute	Vector,Catenate
010f 8029       | )  |		Call	0x0,0x29
0110 00da       |    |		Load_Top	At_Offset_2
0111 e7fe       |    |		Load	0x3,-0x2
0112 0afe       |    |		Execute_Immediate	Plus,-0x2
0113 00d8       |    |		Load_Top	At_Offset_0
0114 00e2       |    |		Load_Encached	Integer_Cache
0115 0260       | `  |		Execute	Discrete,In_Type
0116 7001       |p   |		Jump_Nonzero	0x118
0117 0801       |    |		Execute_Immediate	Raise,0x1
0118 e7fe       |    |		Load	0x3,-0x2
0119 0a02       |    |		Execute_Immediate	Plus,0x2
011a 00d8       |    |		Load_Top	At_Offset_0
011b 00e2       |    |		Load_Encached	Integer_Cache
011c 0260       | `  |		Execute	Discrete,In_Type
011d 7001       |p   |		Jump_Nonzero	0x11f
011e 0801       |    |		Execute_Immediate	Raise,0x1
011f 0262       | b  |		Execute	Discrete,In_Range
0120 4402       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x2
0121 0000 0000  |    |		.BLANK	0000[0x7]
0128 ; --------------------------------------------------------------------------------------
0128 ; SUBPROGRAM
0128 ; --------------------------------------------------------------------------------------
0128 013d       | =  |		.CONST	0x013d								; Address of begin
0129 0004       |    |		.CONST	0x0004								; Address of exception handler
012a 0003       |    |		.CONST	0x0003								; Number of locals
012b			INIT_0128:
012b e408       |    |		Load	0x2,0x8
012c 0a01       |    |		Execute_Immediate	Plus,0x1
012d 00d8       |    |		Load_Top	At_Offset_0
012e e020       |    |		Load	0x0,0x20
012f 0260       | `  |		Execute	Discrete,In_Type
0130 7001       |p   |		Jump_Nonzero	0x132
0131 0801       |    |		Execute_Immediate	Raise,0x1
0132 e406       |    |		Load	0x2,0x6
0133 8027       | '  |		Call	0x0,0x27
0134 e020       |    |		Load	0x0,0x20
0135 03f1       |    |		Declare_Variable	Discrete,With_Value
0136 e408       |    |		Load	0x2,0x8
0137 e40a       |    |		Load	0x2,0xa
0138 0273       | s  |		Execute	Discrete,Plus
0139 e409       |    |		Load	0x2,0x9
013a 0272       | r  |		Execute	Discrete,Minus
013b 00e2       |    |		Load_Encached	Integer_Cache
013c 03ec       |    |		Declare_Variable	Discrete,With_Value,With_Constraint
013d			BODY_0128:
013d 00d8       |    |		Load_Top	At_Offset_0
013e 00da       |    |		Load_Top	At_Offset_2
013f 840e       |    |		Call	0x2,0xe
0140 6802       |h   |		Jump_Zero	0x143
0141 00cc       |    |		Action	Pop_Block
0142 7f38       | 8  |		Jump	0x7b
0143 e028       | (  |		Load	0x0,0x28
0144 6803       |h   |		Jump_Zero	0x148
0145 0092 014c  |   L|		Action	Push_String_Extended,0x14c					; "  Passed up on Extended End Loop"
0147 8029       | )  |		Call	0x0,0x29
0148 4501       |E   |		Exit_Suprogram	New_Top_Offset 0x1
0149 ; --------------------------------------------------------------------------------------
0149 ; STRING TABLE
0149 ; --------------------------------------------------------------------------------------
0149 000a       |    |		.STRTAB	0x000a->0x014e							; "  Passed up on End Loop"
014a 001f       |    |		.STRTAB	0x001f->0x0159							; "Unable to calculate FOR loops last instruction; decision coverage suppressed for "
014b 006e       | n  |		.STRTAB	0x006e->0x0182							; "LOOP"
014c 0070       | p  |		.STRTAB	0x0070->0x0184							; "  Passed up on Extended End Loop"
014d 008e       |    |		.STREND 0x008e->0x0194
014e 2020 5061  |  Pa|		.STRTAB_STRINGS
0194 0000 0000  |    |		.BLANK	0000[0x4]
0198 ; --------------------------------------------------------------------------------------
0198 ; Debug Table
0198 ; --------------------------------------------------------------------------------------
0198 0004 000a  |    |		.DEBUG4	0x0004,0x000a,0xa363,0x0000,0x0001,0x0000
019e 0000 0000  |    |		.BLANK	0000[0x62]