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

⟦cd3eb6a67⟧

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

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 0160       | `  |		.CONST	0x0160								; 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 8000       |    |		.CONST	0x8000								; 0, wired, #pages in seg - 1)
0008 ; --------------------------------------------------------------------------------------
0008 ; SUBPROGRAM
0008 ; --------------------------------------------------------------------------------------
0008 001c       |    |		.CONST	0x001c								; Address of begin
0009 0004       |    |		.CONST	0x0004								; Address of exception handler
000a 0010       |    |		.CONST	0x0010								; Number of locals
000b			INIT_0008:
000b 029a 0023  |   #|		Declare_Subprogram	INIT_0020,For_Outer_Call,Visible,Unelaborated
000d 029a 0063  |   c|		Declare_Subprogram	INIT_0060,For_Outer_Call,Visible,Unelaborated
000f 029a 00b3  |    |		Declare_Subprogram	INIT_00b0,For_Outer_Call,Visible,Unelaborated
0011 029a 00cb  |    |		Declare_Subprogram	INIT_00c8,For_Outer_Call,Visible,Unelaborated
0013 00bf       |    |		Action	Accept_Activation
0014 1d0f       |    |		Execute_Immediate	Reference_Lex_1,0xf
0015 00c7       |    |		Action	Elaborate_Subprogram
0016 1d0d       |    |		Execute_Immediate	Reference_Lex_1,0xd
0017 00c7       |    |		Action	Elaborate_Subprogram
0018 1d0e       |    |		Execute_Immediate	Reference_Lex_1,0xe
0019 00c7       |    |		Action	Elaborate_Subprogram
001a 1d10       |    |		Execute_Immediate	Reference_Lex_1,0x10
001b 00c7       |    |		Action	Elaborate_Subprogram
001c			BODY_0008:
001c 00bc       |    |		Action	Signal_Activated
001d 00bb       |    |		Action	Signal_Completion
001e 0000 0000  |    |		.XXX[0x2]
0020 ; --------------------------------------------------------------------------------------
0020 ; SUBPROGRAM
0020 ; --------------------------------------------------------------------------------------
0020 002e       | .  |		.CONST	0x002e								; Address of begin
0021 0004       |    |		.CONST	0x0004								; Address of exception handler
0022 0005       |    |		.CONST	0x0005								; Number of locals
0023			INIT_0020:
0023 00e2       |    |		Load_Encached	Integer_Cache
0024 00e1       |    |		Load_Encached	Boolean_Cache
0025 e001       |    |		Load	0x0,0x1
0026 1b1b       |    |		Execute	Package,Field_Read,Field_Number 0x1b
0027 0322       | "  |		Declare_Variable	Record
0028 487e       |H~  |		Short_Literal	0x7e
0029 e002       |    |		Load	0x0,0x2
002a 1b0e       |    |		Execute	Package,Field_Read,Field_Number 0xe
002b 1c08       |    |		Execute_Immediate	Run_Utility,0x8
002c 00d8       |    |		Load_Top	At_Offset_0
002d 1c00       |    |		Execute_Immediate	Run_Utility,0x0
002e			BODY_0020:
002e 00cf       |    |		Action	Mark_Auxiliary
002f e5ff       |    |		Load	0x2,-0x1
0030 820f       |    |		Call	0x1,0xf
0031 00db       |    |		Load_Top	At_Offset_3
0032 017d       | }  |		Execute	Record,Structure_Write
0033 00da       |    |		Load_Top	At_Offset_2
0034 3c00       |<   |		Execute	Record,Field_Read,Field_Number 0x0
0035 7008       |p   |		Jump_Nonzero	0x3e
0036 483f       |H?  |		Short_Literal	0x3f
0037 4801       |H   |		Short_Literal	0x1
0038 e404       |    |		Load	0x2,0x4
0039 3401       |4   |		Execute	Record,Field_Reference,Field_Number 0x1
003a 01d6       |    |		Execute	Vector,Field_Write
003b 4801       |H   |		Short_Literal	0x1
003c 00db       |    |		Load_Top	At_Offset_3
003d 3800       |8   |		Execute	Record,Field_Write,Field_Number 0x0
003e 00d9       |    |		Load_Top	At_Offset_1
003f 00db       |    |		Load_Top	At_Offset_3
0040 3401       |4   |		Execute	Record,Field_Reference,Field_Number 0x1
0041 e002       |    |		Load	0x0,0x2
0042 1810       |    |		Execute	Package,Field_Execute,Field_Number 0x10
0043 00d1       |    |		Pop_Control	Pop_Count_1
0044 00d9       |    |		Load_Top	At_Offset_1
0045 4820       |H   |		Short_Literal	0x20
0046 e404       |    |		Load	0x2,0x4
0047 3c00       |<   |		Execute	Record,Field_Read,Field_Number 0x0
0048 e002       |    |		Load	0x0,0x2
0049 1824       | $  |		Execute	Package,Field_Execute,Field_Number 0x24
004a 00d1       |    |		Pop_Control	Pop_Count_1
004b 00e1       |    |		Load_Encached	Boolean_Cache
004c 00e2       |    |		Load_Encached	Integer_Cache
004d 480a       |H   |		Short_Literal	0xa
004e e405       |    |		Load	0x2,0x5
004f e002       |    |		Load	0x0,0x2
0050 1813       |    |		Execute	Package,Field_Execute,Field_Number 0x13
0051 e003       |    |		Load	0x0,0x3
0052 1818       |    |		Execute	Package,Field_Execute,Field_Number 0x18
0053 c402       |    |		Store	0x2,0x2
0054 c403       |    |		Store	0x2,0x3
0055 00db       |    |		Load_Top	At_Offset_3
0056 7005       |p   |		Jump_Nonzero	0x5c
0057 0092 011a  |    |		Action	Push_String_Extended,0x11a					; "Integer input expected, bad syntax, or too big."
0059 e004       |    |		Load	0x0,0x4
005a 1864       | d  |		Execute	Package,Field_Execute,Field_Number 0x64
005b 7802       |x   |		Jump	0x5e
005c e402       |    |		Load	0x2,0x2
005d 4401       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x1
005e 00c9       |    |		Action	Pop_Auxiliary_Loop
005f 7fcf       |    |		Jump	0x2f
0060 ; --------------------------------------------------------------------------------------
0060 ; SUBPROGRAM
0060 ; --------------------------------------------------------------------------------------
0060 006b       | k  |		.CONST	0x006b								; Address of begin
0061 0004       |    |		.CONST	0x0004								; Address of exception handler
0062 0004       |    |		.CONST	0x0004								; Number of locals
0063			INIT_0060:
0063 00e2       |    |		Load_Encached	Integer_Cache
0064 00e1       |    |		Load_Encached	Boolean_Cache
0065 4850       |HP  |		Short_Literal	0x50
0066 e002       |    |		Load	0x0,0x2
0067 1b0e       |    |		Execute	Package,Field_Read,Field_Number 0xe
0068 1c08       |    |		Execute_Immediate	Run_Utility,0x8
0069 00d8       |    |		Load_Top	At_Offset_0
006a 1c00       |    |		Execute_Immediate	Run_Utility,0x0
006b			BODY_0060:
006b 4800       |H   |		Short_Literal	0x0
006c 0052       | R  |		Store_Top_Unchecked	Discrete,At_Offset_2
006d 00cf       |    |		Action	Mark_Auxiliary
006e 7839       |x9  |		Jump	0xa8
006f e5ff       |    |		Load	0x2,-0x1
0070 820d       |    |		Call	0x1,0xd
0071 a402       |    |		Store_Unchecked	0x2,0x2
0072 00db       |    |		Load_Top	At_Offset_3
0073 e5fe       |    |		Load	0x2,-0x2
0074 027b       | {  |		Execute	Discrete,Greater_Equal
0075 e402       |    |		Load	0x2,0x2
0076 e5fd       |    |		Load	0x2,-0x3
0077 027a       | z  |		Execute	Discrete,Less_Equal
0078 0279       | y  |		Execute	Discrete,And
0079 0053       | S  |		Store_Top_Uncheched	Discrete,At_Offset_3
007a 00da       |    |		Load_Top	At_Offset_2
007b 702b       |p+  |		Jump_Nonzero	0xa7
007c 00d9       |    |		Load_Top	At_Offset_1
007d 0092 011b  |    |		Action	Push_String_Extended,0x11b					; "Integer input expected, in range ["
007f e002       |    |		Load	0x0,0x2
0080 1810       |    |		Execute	Package,Field_Execute,Field_Number 0x10
0081 00d1       |    |		Pop_Control	Pop_Count_1
0082 00d9       |    |		Load_Top	At_Offset_1
0083 4820       |H   |		Short_Literal	0x20
0084 4800       |H   |		Short_Literal	0x0
0085 480a       |H   |		Short_Literal	0xa
0086 e5fe       |    |		Load	0x2,-0x2
0087 e003       |    |		Load	0x0,0x3
0088 1816       |    |		Execute	Package,Field_Execute,Field_Number 0x16
0089 e002       |    |		Load	0x0,0x2
008a 1818       |    |		Execute	Package,Field_Execute,Field_Number 0x18
008b 00d1       |    |		Pop_Control	Pop_Count_1
008c 00d9       |    |		Load_Top	At_Offset_1
008d 0092 011c  |    |		Action	Push_String_Extended,0x11c					; ".."
008f e002       |    |		Load	0x0,0x2
0090 1818       |    |		Execute	Package,Field_Execute,Field_Number 0x18
0091 00d1       |    |		Pop_Control	Pop_Count_1
0092 00d9       |    |		Load_Top	At_Offset_1
0093 4820       |H   |		Short_Literal	0x20
0094 4800       |H   |		Short_Literal	0x0
0095 480a       |H   |		Short_Literal	0xa
0096 e5fd       |    |		Load	0x2,-0x3
0097 e003       |    |		Load	0x0,0x3
0098 1816       |    |		Execute	Package,Field_Execute,Field_Number 0x16
0099 e002       |    |		Load	0x0,0x2
009a 1818       |    |		Execute	Package,Field_Execute,Field_Number 0x18
009b 00d1       |    |		Pop_Control	Pop_Count_1
009c 00d9       |    |		Load_Top	At_Offset_1
009d 0092 011d  |    |		Action	Push_String_Extended,0x11d					; "]"
009f e002       |    |		Load	0x0,0x2
00a0 1818       |    |		Execute	Package,Field_Execute,Field_Number 0x18
00a1 00d1       |    |		Pop_Control	Pop_Count_1
00a2 00d9       |    |		Load_Top	At_Offset_1
00a3 e002       |    |		Load	0x0,0x2
00a4 1813       |    |		Execute	Package,Field_Execute,Field_Number 0x13
00a5 e004       |    |		Load	0x0,0x4
00a6 1864       | d  |		Execute	Package,Field_Execute,Field_Number 0x64
00a7 00c9       |    |		Action	Pop_Auxiliary_Loop
00a8 00da       |    |		Load_Top	At_Offset_2
00a9 6fc5       |o   |		Jump_Zero	0x6f
00aa 00ce       |    |		Action	Pop_Auxiliary
00ab 00da       |    |		Load_Top	At_Offset_2
00ac 4403       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x3
00ad 0000 0000  |    |		.XXX[0x3]
00af 0000       |    |
00b0 ; --------------------------------------------------------------------------------------
00b0 ; SUBPROGRAM
00b0 ; --------------------------------------------------------------------------------------
00b0 00b6       |    |		.CONST	0x00b6								; Address of begin
00b1 0004       |    |		.CONST	0x0004								; Address of exception handler
00b2 0002       |    |		.CONST	0x0002								; Number of locals
00b3			INIT_00b0:
00b3 e001       |    |		Load	0x0,0x1
00b4 1b1b       |    |		Execute	Package,Field_Read,Field_Number 0x1b
00b5 0322       | "  |		Declare_Variable	Record
00b6			BODY_00b0:
00b6 00db       |    |		Load_Top	At_Offset_3
00b7 e004       |    |		Load	0x0,0x4
00b8 185f       | _  |		Execute	Package,Field_Execute,Field_Number 0x5f
00b9 00e3       |    |		Load_Encached	Natural_Cache
00ba 00d9       |    |		Load_Top	At_Offset_1
00bb 3c01       |<   |		Execute	Record,Field_Read,Field_Number 0x1
00bc e005       |    |		Load	0x0,0x5
00bd 184d       | M  |		Execute	Package,Field_Execute,Field_Number 0x4d
00be 00d1       |    |		Pop_Control	Pop_Count_1
00bf 00d9       |    |		Load_Top	At_Offset_1
00c0 3800       |8   |		Execute	Record,Field_Write,Field_Number 0x0
00c1 00d8       |    |		Load_Top	At_Offset_0
00c2 4401       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x1
00c3 0000 0000  |    |		.BLANK	0000[0x5]
00c8 ; --------------------------------------------------------------------------------------
00c8 ; SUBPROGRAM
00c8 ; --------------------------------------------------------------------------------------
00c8 00d5       |    |		.CONST	0x00d5								; Address of begin
00c9 0004       |    |		.CONST	0x0004								; Address of exception handler
00ca 0004       |    |		.CONST	0x0004								; Number of locals
00cb			INIT_00c8:
00cb 4864       |Hd  |		Short_Literal	0x64
00cc e002       |    |		Load	0x0,0x2
00cd 1b0e       |    |		Execute	Package,Field_Read,Field_Number 0xe
00ce 1c08       |    |		Execute_Immediate	Run_Utility,0x8
00cf 00d8       |    |		Load_Top	At_Offset_0
00d0 1c00       |    |		Execute_Immediate	Run_Utility,0x0
00d1 00e8       |    |		Load_Encached	Character_Cache
00d2 e001       |    |		Load	0x0,0x1
00d3 1b1b       |    |		Execute	Package,Field_Read,Field_Number 0x1b
00d4 0322       | "  |		Declare_Variable	Record
00d5			BODY_00c8:
00d5 00cf       |    |		Action	Mark_Auxiliary
00d6 00db       |    |		Load_Top	At_Offset_3
00d7 4820       |H   |		Short_Literal	0x20
00d8 4800       |H   |		Short_Literal	0x0
00d9 e002       |    |		Load	0x0,0x2
00da 1824       | $  |		Execute	Package,Field_Execute,Field_Number 0x24
00db 00d1       |    |		Pop_Control	Pop_Count_1
00dc 00db       |    |		Load_Top	At_Offset_3
00dd e5ff       |    |		Load	0x2,-0x1
00de e002       |    |		Load	0x0,0x2
00df 1810       |    |		Execute	Package,Field_Execute,Field_Number 0x10
00e0 00d1       |    |		Pop_Control	Pop_Count_1
00e1 e5fe       |    |		Load	0x2,-0x2
00e2 6807       |h   |		Jump_Zero	0xea
00e3 00db       |    |		Load_Top	At_Offset_3
00e4 0092 011e  |    |		Action	Push_String_Extended,0x11e					; " [Y] ? "
00e6 e002       |    |		Load	0x0,0x2
00e7 1818       |    |		Execute	Package,Field_Execute,Field_Number 0x18
00e8 00d1       |    |		Pop_Control	Pop_Count_1
00e9 7806       |x   |		Jump	0xf0
00ea 00db       |    |		Load_Top	At_Offset_3
00eb 0092 011f  |    |		Action	Push_String_Extended,0x11f					; " [N] ? "
00ed e002       |    |		Load	0x0,0x2
00ee 1818       |    |		Execute	Package,Field_Execute,Field_Number 0x18
00ef 00d1       |    |		Pop_Control	Pop_Count_1
00f0 00db       |    |		Load_Top	At_Offset_3
00f1 e002       |    |		Load	0x0,0x2
00f2 1813       |    |		Execute	Package,Field_Execute,Field_Number 0x13
00f3 820f       |    |		Call	0x1,0xf
00f4 00da       |    |		Load_Top	At_Offset_2
00f5 017d       | }  |		Execute	Record,Structure_Write
00f6 00d9       |    |		Load_Top	At_Offset_1
00f7 3c00       |<   |		Execute	Record,Field_Read,Field_Number 0x0
00f8 7002       |p   |		Jump_Nonzero	0xfb
00f9 e5fe       |    |		Load	0x2,-0x2
00fa 4402       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x2
00fb 00d9       |    |		Load_Top	At_Offset_1
00fc 3c00       |<   |		Execute	Record,Field_Read,Field_Number 0x0
00fd 0f01       |    |		Execute_Immediate	Equal,0x1
00fe 6815       |h   |		Jump_Zero	0x114
00ff 4801       |H   |		Short_Literal	0x1
0100 00da       |    |		Load_Top	At_Offset_2
0101 3401       |4   |		Execute	Record,Field_Reference,Field_Number 0x1
0102 01d7       |    |		Execute	Vector,Field_Read
0103 0053       | S  |		Store_Top_Uncheched	Discrete,At_Offset_3
0104 00da       |    |		Load_Top	At_Offset_2
0105 0f59       | Y  |		Execute_Immediate	Equal,0x59
0106 00db       |    |		Load_Top	At_Offset_3
0107 0f79       | y  |		Execute_Immediate	Equal,0x79
0108 0278       | x  |		Execute	Discrete,Or
0109 6802       |h   |		Jump_Zero	0x10c
010a 4801       |H   |		Short_Literal	0x1
010b 4402       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x2
010c 00da       |    |		Load_Top	At_Offset_2
010d 0f4e       | N  |		Execute_Immediate	Equal,0x4e
010e 00db       |    |		Load_Top	At_Offset_3
010f 0f6e       | n  |		Execute_Immediate	Equal,0x6e
0110 0278       | x  |		Execute	Discrete,Or
0111 6802       |h   |		Jump_Zero	0x114
0112 4800       |H   |		Short_Literal	0x0
0113 4402       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x2
0114 0092 0120  |    |		Action	Push_String_Extended,0x120					; "Expected 'Y' or 'N' !"
0116 e004       |    |		Load	0x0,0x4
0117 1864       | d  |		Execute	Package,Field_Execute,Field_Number 0x64
0118 00c9       |    |		Action	Pop_Auxiliary_Loop
0119 7fbc       |    |		Jump	0xd6
011a ; --------------------------------------------------------------------------------------
011a ; STRING TABLE
011a ; --------------------------------------------------------------------------------------
011a 0010       |    |		.STRTAB	0x0010->0x0122							; "Integer input expected, bad syntax, or too big."
011b 003d       | =  |		.STRTAB	0x003d->0x0139							; "Integer input expected, in range ["
011c 005d       | ]  |		.STRTAB	0x005d->0x014a							; ".."
011d 005d       | ]  |		.STRTAB	0x005d->0x014b							; "]"
011e 005c       | \  |		.STRTAB	0x005c->0x014c							; " [Y] ? "
011f 0061       | a  |		.STRTAB	0x0061->0x014f							; " [N] ? "
0120 0066       | f  |		.STRTAB	0x0066->0x0153							; "Expected 'Y' or 'N' !"
0121 0079       | y  |		.STREND 0x0079->0x015d
0122 496e 7465  |Inte|		.STRTAB_STRINGS
015e 0000 0000  |    |		.XXX[0x2]
0160 ; --------------------------------------------------------------------------------------
0160 ; Debug Table
0160 ; --------------------------------------------------------------------------------------
0160 0004 0010  |    |		.DEBUG4	0x0004,0x0010,0x8b5b,0x0000,0x0001,0x0000
0166 1925 1d55  | % U|		.XXX[0x9a]
0168 4905 513d  |I Q=|
016a 48b9 4d65  |H Me|
016c 4d51 1535  |MQ 5|
016e 7d3d 4115  |}=A |
0170 4905 5125  |I Q%|
0172 3d39 4cb9  |=9L |
0174 1d15 517d  |  Q}|
0176 4d05 5915  |M Y |
0178 7d09 054d  |}  M|
017a 157d 2125  | }!%|
017c 4d51 3d49  |MQ=I|
017e 64f5 ea50  |d  P|
0180 5c00 714d  |\ qM|
0182 4105 0d15  |A   |
0184 7d11 1519  |}   |
0186 4cb9 4d05  |L M |
0188 5915 7d09  |Y } |
018a 054d 157d  | M }|
018c 2125 4d51  |!%MQ|
018e 3d49 6400  |=Id |
0190 0000 01a4  |    |
0192 00b8 00a1  |    |
0194 0d3d 3919  | =9 |
0196 251d 5549  |% UI|
0198 0551 3d48  | Q=H|
019a b915 3959  |  9Y|
019c 2549 3d39  |%I=9|
019e 3515 3951  |5 9Q|
01a0 7d15 4949  |} II|
01a2 3d49 7d31  |=I}1|
01a4 3d1c b919  |=   |
01a6 3d49 0d14  |=I  |
01a8 f5ee 5000  |  P |
01aa 0000 0008  |    |
01ac 008c 003d  |   =|
01ae 0d3d 3919  | =9 |
01b0 251d 5549  |% UI|
01b2 0551 3d48  | Q=H|
01b4 b959 34fa  | Y4 |
01b6 005c 0035  | \ 5|
01b8 5925 4951  |Y%IQ|
01ba 7d35 1535  |}5 5|
01bc 7d11 1519  |}   |
01be 4c00 0001  |L   |
01c0 b401 6400  |  d |
01c2 bd0d 3d39  |  =9|
01c4 1925 1d55  | % U|
01c6 4905 513d  |I Q=|
01c8 48b9 1119  |H   |
01ca 4d7d 1125  |M} %|
01cc 4d2d 7d25  |M-}%|
01ce 3d7d 2539  |=}%9|
01d0 5115 4919  |Q I |
01d2 050d 14b9  |    |
01d4 1125 4d2d  | %M-|
01d6 7d05 1111  |}   |
01d8 4915 4d4c  |I ML|
01da f198 5c00  |  \ |
01dc 8925 3d41  | %=A|
01de 7d11 1519  |}   |
01e0 4cb9 4920  |L I |
01e2 c4c5 7d11  |  } |
01e4 1519 4cb9  |  L |
01e6 4d15 0d51  |M  Q|
01e8 3d49 7d41  |=I}A|
01ea 3d4d 2551  |=M%Q|
01ec 253d 3800  |%=8 |
01ee 0000 00fc  |    |
01f0 00a4 0095  |    |
01f2 0d3d 3919  | =9 |
01f4 251d 5549  |% UI|
01f6 0551 3d48  | Q=H|
01f8 b935 254d  | 5%M|
01fa 0d15 3131  |  11|
01fc 0539 153d  | 9 =|
01fe 554d 7d3d  |UM}=|