|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2048 (0x800)
Notes: 00_class, 5800_R1K_CODE, 74_tag, NULL, R1k_Segment, seg_16ccd7
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
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 For_Outer_Call,Visible,Unelaborated,INIT_0018
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_Subprogram 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_Subprogram 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_Subprogram 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_Subprogram 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]