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

⟦978ec338a⟧

    Length: 2048 (0x800)
    Notes: 00_class, 5800_R1K_CODE, 74_tag, NULL, R1k_Segment, seg_16ccd7

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 5800       |X   |		.CONST	0x5800								; Diana Version, RCG Major Version, RCG minor version
0002 0000       |    |		.CONST	0x0000								; Zero
0003 01c8       |    |		.CONST	0x01c8								; 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 0001       |    |		.CONST	0x0001								; 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 002f       | /  |		.CONST	0x002f								; Address of begin
0019 00da       |    |		.CONST	0x00da								; Address of exception handler
001a 000a       |    |		.CONST	0x000a								; Number of locals
001b			INIT_0018:
001b e001       |    |		Load	0x0,0x1
001c e002       |    |		Load	0x0,0x2
001d 00e6       |    |		Load_Encached	Float_Cache
001e e003       |    |		Load	0x0,0x3
001f 1b51       | Q  |		Execute	Package,Field_Read,Field_Number 0x51
0020 0387       |    |		Declare_Variable	Package
0021 00d8       |    |		Load_Top	At_Offset_0
0022 020f       |    |		Execute	Module,Activate
0023 00e6       |    |		Load_Encached	Float_Cache
0024 00e6       |    |		Load_Encached	Float_Cache
0025 00e6       |    |		Load_Encached	Float_Cache
0026 00e6       |    |		Load_Encached	Float_Cache
0027 00e8       |    |		Load_Encached	Character_Cache
0028 e004       |    |		Load	0x0,0x4
0029 1b0d       |    |		Execute	Package,Field_Read,Field_Number 0xd
002a 0322       | "  |		Declare_Variable	Record
002b 00d8       |    |		Load_Top	At_Offset_0
002c 0322       | "  |		Declare_Variable	Record
002d 00d8       |    |		Load_Top	At_Offset_0
002e 0322       | "  |		Declare_Variable	Record
002f			BODY_0018:
002f 0092 00dc  |    |		Action	Push_String_Extended,0xdc					; "This program demonstrates the RPC facility."
0031 e003       |    |		Load	0x0,0x3
0032 184f       | O  |		Execute	Package,Field_Execute,Field_Number 0x4f
0033 0092 00dd  |    |		Action	Push_String_Extended,0xdd					; "The service allows clients to perform complex number arithmatic."
0035 e003       |    |		Load	0x0,0x3
0036 184f       | O  |		Execute	Package,Field_Execute,Field_Number 0x4f
0037 0092 00de  |    |		Action	Push_String_Extended,0xde					; "You will be prompted to enter two complex numbers:  X and Y,"
0039 e003       |    |		Load	0x0,0x3
003a 184f       | O  |		Execute	Package,Field_Execute,Field_Number 0x4f
003b 0092 00df  |    |		Action	Push_String_Extended,0xdf					; "and either addition or subtraction as the operation."
003d e003       |    |		Load	0x0,0x3
003e 184f       | O  |		Execute	Package,Field_Execute,Field_Number 0x4f
003f 00ea       |    |		Load_Encached	Null_String_Cache
0040 e003       |    |		Load	0x0,0x3
0041 184f       | O  |		Execute	Package,Field_Execute,Field_Number 0x4f
0042 00ea       |    |		Load_Encached	Null_String_Cache
0043 e003       |    |		Load	0x0,0x3
0044 184f       | O  |		Execute	Package,Field_Execute,Field_Number 0x4f
0045 00cf       |    |		Action	Mark_Auxiliary
0046 0092 00e0  |    |		Action	Push_String_Extended,0xe0					; "Enter X Real Part ('Q' for Quit)"
0048 e003       |    |		Load	0x0,0x3
0049 184f       | O  |		Execute	Package,Field_Execute,Field_Number 0x4f
004a e402       |    |		Load	0x2,0x2
004b 1b0f       |    |		Execute	Package,Field_Read,Field_Number 0xf
004c 4800       |H   |		Short_Literal	0x0
004d e402       |    |		Load	0x2,0x2
004e 1814       |    |		Execute	Package,Field_Execute,Field_Number 0x14
004f c403       |    |		Store	0x2,0x3
0050 0092 00e1  |    |		Action	Push_String_Extended,0xe1					; "Enter X Imaginary Part ('Q' for Quit)"
0052 e003       |    |		Load	0x0,0x3
0053 184f       | O  |		Execute	Package,Field_Execute,Field_Number 0x4f
0054 e402       |    |		Load	0x2,0x2
0055 1b0f       |    |		Execute	Package,Field_Read,Field_Number 0xf
0056 4800       |H   |		Short_Literal	0x0
0057 e402       |    |		Load	0x2,0x2
0058 1814       |    |		Execute	Package,Field_Execute,Field_Number 0x14
0059 c404       |    |		Store	0x2,0x4
005a e404       |    |		Load	0x2,0x4
005b e403       |    |		Load	0x2,0x3
005c e004       |    |		Load	0x0,0x4
005d 180e       |    |		Execute	Package,Field_Execute,Field_Number 0xe
005e 00db       |    |		Load_Top	At_Offset_3
005f 017d       | }  |		Execute	Record,Structure_Write
0060 0092 00e2  |    |		Action	Push_String_Extended,0xe2					; "Enter Y Real Part ('Q' for Quit)"
0062 e003       |    |		Load	0x0,0x3
0063 184f       | O  |		Execute	Package,Field_Execute,Field_Number 0x4f
0064 e402       |    |		Load	0x2,0x2
0065 1b0f       |    |		Execute	Package,Field_Read,Field_Number 0xf
0066 4800       |H   |		Short_Literal	0x0
0067 e402       |    |		Load	0x2,0x2
0068 1814       |    |		Execute	Package,Field_Execute,Field_Number 0x14
0069 c405       |    |		Store	0x2,0x5
006a 0092 00e3  |    |		Action	Push_String_Extended,0xe3					; "Enter Y Imaginary Part ('Q' for Quit)"
006c e003       |    |		Load	0x0,0x3
006d 184f       | O  |		Execute	Package,Field_Execute,Field_Number 0x4f
006e e402       |    |		Load	0x2,0x2
006f 1b0f       |    |		Execute	Package,Field_Read,Field_Number 0xf
0070 4800       |H   |		Short_Literal	0x0
0071 e402       |    |		Load	0x2,0x2
0072 1814       |    |		Execute	Package,Field_Execute,Field_Number 0x14
0073 c406       |    |		Store	0x2,0x6
0074 e406       |    |		Load	0x2,0x6
0075 e405       |    |		Load	0x2,0x5
0076 e004       |    |		Load	0x0,0x4
0077 180e       |    |		Execute	Package,Field_Execute,Field_Number 0xe
0078 00da       |    |		Load_Top	At_Offset_2
0079 017d       | }  |		Execute	Record,Structure_Write
007a 00ea       |    |		Load_Encached	Null_String_Cache
007b e003       |    |		Load	0x0,0x3
007c 184f       | O  |		Execute	Package,Field_Execute,Field_Number 0x4f
007d 0092 00e4  |    |		Action	Push_String_Extended,0xe4					; "Enter 'A' for Addition, 'S' for Subtract, or 'Q' for Quit"
007f e003       |    |		Load	0x0,0x3
0080 184f       | O  |		Execute	Package,Field_Execute,Field_Number 0x4f
0081 00e8       |    |		Load_Encached	Character_Cache
0082 e003       |    |		Load	0x0,0x3
0083 1845       | E  |		Execute	Package,Field_Execute,Field_Number 0x45
0084 c407       |    |		Store	0x2,0x7
0085 e407       |    |		Load	0x2,0x7
0086 00d8       |    |		Load_Top	At_Offset_0
0087 0d54       | T  |		Execute_Immediate	Less,0x54
0088 700a       |p   |		Jump_Nonzero	0x93
0089 00d8       |    |		Load_Top	At_Offset_0
008a 0c61       | a  |		Execute_Immediate	Greater_Equal,0x61
008b 7002       |p   |		Jump_Nonzero	0x8e
008c 00d1       |    |		Pop_Control	Pop_Count_1
008d 4501       |E   |		Exit_Suprogram	New_Top_Offset 0x1
008e 0b61       | a  |		Execute_Immediate	Case_Compare,0x61
008f 7008       |p   |		Jump_Nonzero	0x98
0090 0f73       | s  |		Execute_Immediate	Equal,0x73
0091 7015       |p   |		Jump_Nonzero	0xa7
0092 4501       |E   |		Exit_Suprogram	New_Top_Offset 0x1
0093 0b41       | A  |		Execute_Immediate	Case_Compare,0x41
0094 7003       |p   |		Jump_Nonzero	0x98
0095 0f53       | S  |		Execute_Immediate	Equal,0x53
0096 7010       |p   |		Jump_Nonzero	0xa7
0097 4501       |E   |		Exit_Suprogram	New_Top_Offset 0x1
0098 00d1       |    |		Pop_Control	Pop_Count_1
0099 00d9       |    |		Load_Top	At_Offset_1
009a 00db       |    |		Load_Top	At_Offset_3
009b e004       |    |		Load	0x0,0x4
009c 1811       |    |		Execute	Package,Field_Execute,Field_Number 0x11
009d e408       |    |		Load	0x2,0x8
009e 017d       | }  |		Execute	Record,Structure_Write
009f 00ea       |    |		Load_Encached	Null_String_Cache
00a0 e003       |    |		Load	0x0,0x3
00a1 184f       | O  |		Execute	Package,Field_Execute,Field_Number 0x4f
00a2 0092 00e5  |    |		Action	Push_String_Extended,0xe5					; "X + Y = "
00a4 e003       |    |		Load	0x0,0x3
00a5 184b       | K  |		Execute	Package,Field_Execute,Field_Number 0x4b
00a6 780d       |x   |		Jump	0xb4
00a7 00d9       |    |		Load_Top	At_Offset_1
00a8 00db       |    |		Load_Top	At_Offset_3
00a9 e004       |    |		Load	0x0,0x4
00aa 1812       |    |		Execute	Package,Field_Execute,Field_Number 0x12
00ab e408       |    |		Load	0x2,0x8
00ac 017d       | }  |		Execute	Record,Structure_Write
00ad 00ea       |    |		Load_Encached	Null_String_Cache
00ae e003       |    |		Load	0x0,0x3
00af 184f       | O  |		Execute	Package,Field_Execute,Field_Number 0x4f
00b0 0092 00e6  |    |		Action	Push_String_Extended,0xe6					; "X - Y = "
00b2 e003       |    |		Load	0x0,0x3
00b3 184b       | K  |		Execute	Package,Field_Execute,Field_Number 0x4b
00b4 e402       |    |		Load	0x2,0x2
00b5 1b12       |    |		Execute	Package,Field_Read,Field_Number 0x12
00b6 e402       |    |		Load	0x2,0x2
00b7 1b11       |    |		Execute	Package,Field_Read,Field_Number 0x11
00b8 e402       |    |		Load	0x2,0x2
00b9 1b10       |    |		Execute	Package,Field_Read,Field_Number 0x10
00ba e408       |    |		Load	0x2,0x8
00bb e004       |    |		Load	0x0,0x4
00bc 180f       |    |		Execute	Package,Field_Execute,Field_Number 0xf
00bd e402       |    |		Load	0x2,0x2
00be 1816       |    |		Execute	Package,Field_Execute,Field_Number 0x16
00bf 0092 00e7  |    |		Action	Push_String_Extended,0xe7					; "  + "
00c1 e003       |    |		Load	0x0,0x3
00c2 184b       | K  |		Execute	Package,Field_Execute,Field_Number 0x4b
00c3 e402       |    |		Load	0x2,0x2
00c4 1b12       |    |		Execute	Package,Field_Read,Field_Number 0x12
00c5 e402       |    |		Load	0x2,0x2
00c6 1b11       |    |		Execute	Package,Field_Read,Field_Number 0x11
00c7 e402       |    |		Load	0x2,0x2
00c8 1b10       |    |		Execute	Package,Field_Read,Field_Number 0x10
00c9 e408       |    |		Load	0x2,0x8
00ca e004       |    |		Load	0x0,0x4
00cb 1810       |    |		Execute	Package,Field_Execute,Field_Number 0x10
00cc e402       |    |		Load	0x2,0x2
00cd 1816       |    |		Execute	Package,Field_Execute,Field_Number 0x16
00ce 0092 00e8  |    |		Action	Push_String_Extended,0xe8					; "i"
00d0 e003       |    |		Load	0x0,0x3
00d1 184f       | O  |		Execute	Package,Field_Execute,Field_Number 0x4f
00d2 00ea       |    |		Load_Encached	Null_String_Cache
00d3 e003       |    |		Load	0x0,0x3
00d4 184f       | O  |		Execute	Package,Field_Execute,Field_Number 0x4f
00d5 00ea       |    |		Load_Encached	Null_String_Cache
00d6 e003       |    |		Load	0x0,0x3
00d7 184f       | O  |		Execute	Package,Field_Execute,Field_Number 0x4f
00d8 00c9       |    |		Action	Pop_Auxiliary_Loop
00d9 7f6c       | l  |		Jump	0x46
00da			TRAP_0018:
00da 0007       |    |		Action	Break_Optional
00db 4501       |E   |		Exit_Suprogram	New_Top_Offset 0x1
00dc ; --------------------------------------------------------------------------------------
00dc ; STRING TABLE
00dc ; --------------------------------------------------------------------------------------
00dc 001c       |    |		.STRTAB	0x001c->0x00ea							; "This program demonstrates the RPC facility."
00dd 0045       | E  |		.STRTAB	0x0045->0x00ff							; "The service allows clients to perform complex number arithmatic."
00de 0083       |    |		.STRTAB	0x0083->0x011f							; "You will be prompted to enter two complex numbers:  X and Y,"
00df 00bd       |    |		.STRTAB	0x00bd->0x013d							; "and either addition or subtraction as the operation."
00e0 00ef       |    |		.STRTAB	0x00ef->0x0157							; "Enter X Real Part ('Q' for Quit)"
00e1 010d       |    |		.STRTAB	0x010d->0x0167							; "Enter X Imaginary Part ('Q' for Quit)"
00e2 0130       | 0  |		.STRTAB	0x0130->0x017a							; "Enter Y Real Part ('Q' for Quit)"
00e3 014e       | N  |		.STRTAB	0x014e->0x018a							; "Enter Y Imaginary Part ('Q' for Quit)"
00e4 0171       | q  |		.STRTAB	0x0171->0x019c							; "Enter 'A' for Addition, 'S' for Subtract, or 'Q' for Quit"
00e5 01a8       |    |		.STRTAB	0x01a8->0x01b9							; "X + Y = "
00e6 01ae       |    |		.STRTAB	0x01ae->0x01bd							; "X - Y = "
00e7 01b4       |    |		.STRTAB	0x01b4->0x01c1							; "  + "
00e8 01b6       |    |		.STRTAB	0x01b6->0x01c3							; "i"
00e9 01b5       |    |		.STREND 0x01b5->0x01c3
00ea 5468 6973  |This|		.STRTAB_STRINGS
01c4 0000 0000  |    |		.BLANK	0000[0x4]
01c8 ; --------------------------------------------------------------------------------------
01c8 ; Debug Table
01c8 ; --------------------------------------------------------------------------------------
01c8 0004 0001  |    |		.DEBUG4	0x0004,0x0001,0x7401,0x0000,0x0001,0x0002
01ce 000b 0000  |    |		.DBG4T	0x000b,0x0000,0x8000,0x0000
01d2 001b 01d6  |    |		.DBG4T	0x001b,0x01d6,0x8001,0x4000
01d6 ; --------------------------------------------------------------------------------------
01d6 ; Debug chain
01d6 ; --------------------------------------------------------------------------------------
01d6 0007 0022  |   "|		.DBGLEN	0x0007,0x0022
01d8 001b 0023  |   #|		.DBGLNO	0x001b,0x0023,0x0024,0x0025,0x0026,0x0027,0x0028,0x002f,0x0033,0x0037,0x003b,0x003f,0x0042,0x0046,0x004a,0x0050,0x0054,0x005a,0x0060,0x0064,0x006a,0x006e,0x0074,0x007a,0x007d,0x0081,0x0085,0x008d,0x0099,0x009f,0x00a2,0x00a7,0x00ad,0x00b0,0x00b4,0x00bf,0x00c3,0x00ce,0x00d2,0x00d5,0x00db
0201 0001 0002  |    |		.XXX[0x22]
0203 0003 0004  |    |
0205 0005 0006  |    |
0207 0008 0009  |    |
0209 000a 000b  |    |
020b 000c 000d  |    |
020d 000e 000f  |    |
020f 0010 0011  |    |
0211 0012 0013  |    |
0213 0014 0015  |    |
0215 001c 0016  |    |
0217 0017 0018  |    |
0219 0019 001a  |    |
021b 001b 001d  |    |
021d 001e 001f  |    |
021f 0020 0021  |   !|
0221 0022 0023  | " #|
0223 0000 0000  |    |		.BLANK	0000[0x1dd]