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

⟦90ec57bcd⟧

    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 0531 5514  | 1U |		.XXX[0x2d]
0168 5c00 414d  |\ AM|
016a 5105 3911  |Q 9 |
016c 0549 10b9  | I  |
016e 093d 3d31  | ==1|
0170 1505 3800  |  8 |
0172 0000 0000  |    |
0174 1001 d400  |    |
0176 6109 5519  |a U |
0178 1915 4925  |  I%|
017a 391d 7d1d  |9 } |
017c 1539 1549  | 9 I|
017e 250c b909  |%   |
0180 6551 157c  |eQ ||
0182 c8ee 65b4  |  e |
0184 0000 0000  |    |
0186 0000 0001  |    |
0188 985c 0041  | \ A|
018a 4d51 0539  |MQ 9|
018c 1105 4910  |  I |
018e b939 0551  | 9 Q|
0190 5549 0531  |UI 1|
0192 8420       |    |
0193 0000 0000  |    |		.BLANK	0000[0x4]
0197 0024 4000  | $@ |		.XXX[0x9]
0199 5400 04b6  |T   |
019b 4c40 0054  |L@ T|
019d 0008 a8aa  |    |
019f 4c20       |L   |
01a0 0000 0000  |    |		.BLANK	0000[0x4]
01a4 0820       |    |		.XXX[0x1]
01a5 0000 0000  |    |		.BLANK	0000[0x4]
01a9 4020       |@   |		.XXX[0x1]
01aa 0000 0000  |    |		.BLANK	0000[0x4]
01ae 0400 0000  |    |		.XXX[0x52]
01b0 0000 0014  |    |
01b2 00dc 005d  |   ]|
01b4 0955 1919  | U  |
01b6 1549 2539  | I%9|
01b8 1d7d 1d15  | }  |
01ba 3915 4925  |9 I%|
01bc 0cb9 0d3d  |   =|
01be 5539 50f1  |U9P |
01c0 985c 0061  | \ a|
01c2 0955 1919  | U  |
01c4 1549 2539  | I%9|
01c6 1d7d 1d15  | }  |
01c8 3915 4925  |9 I%|
01ca 0cb9 0965  |   e|
01cc 5115 7cc8  |Q | |
01ce 0000 0000  |    |
01d0 6c02 4800  |l H |
01d2 5509 5519  |U U |
01d4 1915 4925  |  I%|
01d6 391d 7d1d  |9 } |
01d8 1539 1549  | 9 I|
01da 250c b91d  |%   |
01dc 1550 f5ee  | P  |
01de 51fa 408c  |Q @ |
01e0 0029 5121  | )Q!|
01e2 157d 4d51  | }MQ|
01e4 4925 391c  |I%9 |
01e6 5c00 7509  |\ u |
01e8 5519 1915  |U   |
01ea 4925 391d  |I%9 |
01ec 7d1d 1539  |}  9|
01ee 1549 250c  | I% |
01f0 b909 6551  |  eQ|
01f2 157d 4d51  | }MQ|
01f4 4925 391c  |I%9 |
01f6 01fe 4090  |  @ |
01f8 0031 5121  | 1Q!|
01fa 157d 413d  | }A=|
01fc 4d25 5125  |M%Q%|
01fe 3d38 5c00  |=8\ |