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

⟦41a3b7ea9⟧

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

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 0100       |    |		.CONST	0x0100								; 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 0011       |    |		.CONST	0x0011								; Address of begin
0009 0004       |    |		.CONST	0x0004								; Address of exception handler
000a 0004       |    |		.CONST	0x0004								; Number of locals
000b			INIT_0008:
000b e230       | 0  |		Load	0x1,0x30
000c 0007       |    |		Action	Break_Optional
000d 029f 0033  |   3|		Declare_Subprogram	INIT_0030,For_Call
000f 029f 00bb  |    |		Declare_Subprogram	INIT_00b8,For_Call
0011			BODY_0008:
0011 00cf       |    |		Action	Mark_Auxiliary
0012 e5ff       |    |		Load	0x2,-0x1
0013 2502       |%   |		Execute	Variant_Record,Field_Reference,Indirect,Field_Number 0x2
0014 01d9       |    |		Execute	Vector,Reverse_Bounds
0015 0263       | c  |		Execute	Discrete,Above_Bound
0016 700f       |p   |		Jump_Nonzero	0x26
0017 00d8       |    |		Load_Top	At_Offset_0
0018 e5ff       |    |		Load	0x2,-0x1
0019 2502       |%   |		Execute	Variant_Record,Field_Reference,Indirect,Field_Number 0x2
001a 01d5       |    |		Execute	Vector,Field_Reference
001b 2c01       |,   |		Execute	Variant_Record,Field_Read,Fixed,Direct,Field_Number 0x1
001c 0f04       |    |		Execute_Immediate	Equal,0x4
001d 6806       |h   |		Jump_Zero	0x24
001e e230       | 0  |		Load	0x1,0x30
001f e5ff       |    |		Load	0x2,-0x1
0020 8231       | 1  |		Call	0x1,0x31
0021 c402       |    |		Store	0x2,0x2
0022 8404       |    |		Call	0x2,0x4
0023 4401       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x1
0024 00c8       |    |		Action	Pop_Auxiliary_Range
0025 3ff1       |?   |		Loop_Increasing	0x17
0026 00ce       |    |		Action	Pop_Auxiliary
0027 e5ff       |    |		Load	0x2,-0x1
0028 2502       |%   |		Execute	Variant_Record,Field_Reference,Indirect,Field_Number 0x2
0029 8403       |    |		Call	0x2,0x3
002a 4401       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x1
002b 0000 0000  |    |		.BLANK	0000[0x5]
0030 ; --------------------------------------------------------------------------------------
0030 ; SUBPROGRAM
0030 ; --------------------------------------------------------------------------------------
0030 0033       | 3  |		.CONST	0x0033								; Address of begin
0031 0004       |    |		.CONST	0x0004								; Address of exception handler
0032 0001       |    |		.CONST	0x0001								; Number of locals
0033			BODY_0030:
0033			INIT_0030:
0033 00da       |    |		Load_Top	At_Offset_2
0034 01db       |    |		Execute	Vector,Length
0035 0b00       |    |		Execute_Immediate	Case_Compare,0x0
0036 7044       |pD  |		Jump_Nonzero	0x7b
0037 0f01       |    |		Execute_Immediate	Equal,0x1
0038 7045       |pE  |		Jump_Nonzero	0x7e
0039 00da       |    |		Load_Top	At_Offset_2
003a 01dd       |    |		Execute	Vector,First
003b 00db       |    |		Load_Top	At_Offset_3
003c 01d5       |    |		Execute	Vector,Field_Reference
003d 2c02       |,   |		Execute	Variant_Record,Field_Read,Fixed,Direct,Field_Number 0x2
003e 681e       |h   |		Jump_Zero	0x5d
003f 4801       |H   |		Short_Literal	0x1
0040 4801       |H   |		Short_Literal	0x1
0041 e248       | H  |		Load	0x1,0x48
0042 0334       | 4  |		Declare_Variable	Array,With_Constraint
0043 00db       |    |		Load_Top	At_Offset_3
0044 01dd       |    |		Execute	Vector,First
0045 e7ff       |    |		Load	0x3,-0x1
0046 01d5       |    |		Execute	Vector,Field_Reference
0047 4801       |H   |		Short_Literal	0x1
0048 00da       |    |		Load_Top	At_Offset_2
0049 01d6       |    |		Execute	Vector,Field_Write
004a 8403       |    |		Call	0x2,0x3
004b 0092 00d9  |    |		Action	Push_String_Extended,0xd9					; " and "
004d 01cc       |    |		Execute	Vector,Catenate
004e 00db       |    |		Load_Top	At_Offset_3
004f 01dd       |    |		Execute	Vector,First
0050 0a01       |    |		Execute_Immediate	Plus,0x1
0051 00d8       |    |		Load_Top	At_Offset_0
0052 00e2       |    |		Load_Encached	Integer_Cache
0053 0260       | `  |		Execute	Discrete,In_Type
0054 7001       |p   |		Jump_Nonzero	0x56
0055 0801       |    |		Execute_Immediate	Raise,0x1
0056 e7ff       |    |		Load	0x3,-0x1
0057 01dc       |    |		Execute	Vector,Last
0058 e7ff       |    |		Load	0x3,-0x1
0059 01cf       |    |		Execute	Vector,Slice_Read
005a 8403       |    |		Call	0x2,0x3
005b 01cc       |    |		Execute	Vector,Catenate
005c 4401       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x1
005d 4801       |H   |		Short_Literal	0x1
005e 4801       |H   |		Short_Literal	0x1
005f e248       | H  |		Load	0x1,0x48
0060 0334       | 4  |		Declare_Variable	Array,With_Constraint
0061 00db       |    |		Load_Top	At_Offset_3
0062 01dd       |    |		Execute	Vector,First
0063 e7ff       |    |		Load	0x3,-0x1
0064 01d5       |    |		Execute	Vector,Field_Reference
0065 4801       |H   |		Short_Literal	0x1
0066 00da       |    |		Load_Top	At_Offset_2
0067 01d6       |    |		Execute	Vector,Field_Write
0068 8403       |    |		Call	0x2,0x3
0069 0092 00da  |    |		Action	Push_String_Extended,0xda					; " & "
006b 01cc       |    |		Execute	Vector,Catenate
006c 00db       |    |		Load_Top	At_Offset_3
006d 01dd       |    |		Execute	Vector,First
006e 0a01       |    |		Execute_Immediate	Plus,0x1
006f 00d8       |    |		Load_Top	At_Offset_0
0070 00e2       |    |		Load_Encached	Integer_Cache
0071 0260       | `  |		Execute	Discrete,In_Type
0072 7001       |p   |		Jump_Nonzero	0x74
0073 0801       |    |		Execute_Immediate	Raise,0x1
0074 e7ff       |    |		Load	0x3,-0x1
0075 01dc       |    |		Execute	Vector,Last
0076 e7ff       |    |		Load	0x3,-0x1
0077 01cf       |    |		Execute	Vector,Slice_Read
0078 8403       |    |		Call	0x2,0x3
0079 01cc       |    |		Execute	Vector,Catenate
007a 4401       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x1
007b 00d1       |    |		Pop_Control	Pop_Count_1
007c 00ea       |    |		Load_Encached	Null_String_Cache
007d 4401       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x1
007e 00da       |    |		Load_Top	At_Offset_2
007f 01dd       |    |		Execute	Vector,First
0080 00db       |    |		Load_Top	At_Offset_3
0081 01d5       |    |		Execute	Vector,Field_Reference
0082 2c01       |,   |		Execute	Variant_Record,Field_Read,Fixed,Direct,Field_Number 0x1
0083 4604       |F   |		Jump_Case	0x5
0084 7805       |x   |		Jump	0x8a								; case 0x0
0085 7814       |x   |		Jump	0x9a								; case 0x1
0086 7824       |x$  |		Jump	0xab								; case 0x2
0087 7826       |x&  |		Jump	0xae								; case 0x3
0088 7800       |x   |		Jump	0x89								; case 0x4
0089 08e0       |    |		Execute_Immediate	Raise,0xe0
008a 0092 00db  |    |		Action	Push_String_Extended,0xdb					; "Data("
008c 00db       |    |		Load_Top	At_Offset_3
008d 01dd       |    |		Execute	Vector,First
008e e7ff       |    |		Load	0x3,-0x1
008f 01d5       |    |		Execute	Vector,Field_Reference
0090 2e03       |.   |		Execute	Variant_Record,Field_Read,Variant,Direct,Field_Number 0x3
0091 e245       | E  |		Load	0x1,0x45
0092 1810       |    |		Execute	Package,Field_Execute,Field_Number 0x10
0093 e001       |    |		Load	0x0,0x1
0094 1815       |    |		Execute	Package,Field_Execute,Field_Number 0x15
0095 01cc       |    |		Execute	Vector,Catenate
0096 0092 00dc  |    |		Action	Push_String_Extended,0xdc					; ")"
0098 01cc       |    |		Execute	Vector,Catenate
0099 4401       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x1
009a 0092 00dd  |    |		Action	Push_String_Extended,0xdd					; "Silence("
009c 4820       |H   |		Short_Literal	0x20
009d e7ff       |    |		Load	0x3,-0x1
009e 01dd       |    |		Execute	Vector,First
009f e7ff       |    |		Load	0x3,-0x1
00a0 01d5       |    |		Execute	Vector,Field_Reference
00a1 2e05       |.   |		Execute	Variant_Record,Field_Read,Variant,Direct,Field_Number 0x5
00a2 e00f       |    |		Load	0x0,0xf
00a3 1829       | )  |		Execute	Package,Field_Execute,Field_Number 0x29
00a4 e010       |    |		Load	0x0,0x10
00a5 181c       |    |		Execute	Package,Field_Execute,Field_Number 0x1c
00a6 01cc       |    |		Execute	Vector,Catenate
00a7 0092 00dc  |    |		Action	Push_String_Extended,0xdc					; ")"
00a9 01cc       |    |		Execute	Vector,Catenate
00aa 4401       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x1
00ab 0092 00de  |    |		Action	Push_String_Extended,0xde					; "Break"
00ad 4401       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x1
00ae 0092 00df  |    |		Action	Push_String_Extended,0xdf					; "Disconnect"
00b0 4401       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x1
00b1 0000 0000  |    |		.BLANK	0000[0x7]
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 e5ff       |    |		Load	0x2,-0x1
00bc e402       |    |		Load	0x2,0x2
00bd 8233       | 3  |		Call	0x1,0x33
00be 2502       |%   |		Execute	Variant_Record,Field_Reference,Indirect,Field_Number 0x2
00bf 8403       |    |		Call	0x2,0x3
00c0			BODY_00b8:
00c0 e402       |    |		Load	0x2,0x2
00c1 e5ff       |    |		Load	0x2,-0x1
00c2 8234       | 4  |		Call	0x1,0x34
00c3 c402       |    |		Store	0x2,0x2
00c4 e402       |    |		Load	0x2,0x2
00c5 8232       | 2  |		Call	0x1,0x32
00c6 6808       |h   |		Jump_Zero	0xcf
00c7 0092 00e0  |    |		Action	Push_String_Extended,0xe0					; "("
00c9 00d9       |    |		Load_Top	At_Offset_1
00ca 01cc       |    |		Execute	Vector,Catenate
00cb 0092 00dc  |    |		Action	Push_String_Extended,0xdc					; ")"
00cd 01cc       |    |		Execute	Vector,Catenate
00ce 00ca       |    |		Action	Exit_Nullary_Function
00cf 0092 00e0  |    |		Action	Push_String_Extended,0xe0					; "("
00d1 00d9       |    |		Load_Top	At_Offset_1
00d2 01cc       |    |		Execute	Vector,Catenate
00d3 0092 00e1  |    |		Action	Push_String_Extended,0xe1					; ") or "
00d5 01cc       |    |		Execute	Vector,Catenate
00d6 8404       |    |		Call	0x2,0x4
00d7 01cc       |    |		Execute	Vector,Catenate
00d8 00ca       |    |		Action	Exit_Nullary_Function
00d9 ; --------------------------------------------------------------------------------------
00d9 ; STRING TABLE
00d9 ; --------------------------------------------------------------------------------------
00d9 0014       |    |		.STRTAB	0x0014->0x00e3							; " and "
00da 0017       |    |		.STRTAB	0x0017->0x00e5							; " & "
00db 0018       |    |		.STRTAB	0x0018->0x00e7							; "Data("
00dc 001b       |    |		.STRTAB	0x001b->0x00e9							; ")"
00dd 001a       |    |		.STRTAB	0x001a->0x00ea							; "Silence("
00de 0020       |    |		.STRTAB	0x0020->0x00ee							; "Break"
00df 0023       | #  |		.STRTAB	0x0023->0x00f0							; "Disconnect"
00e0 002b       | +  |		.STRTAB	0x002b->0x00f5							; "("
00e1 002a       | *  |		.STRTAB	0x002a->0x00f6							; ") or "
00e2 002d       | -  |		.STREND 0x002d->0x00f8
00e3 2061 6e64  | and|		.STRTAB_STRINGS
00f9 0000 0000  |    |		.BLANK	0000[0x7]
0100 ; --------------------------------------------------------------------------------------
0100 ; Debug Table
0100 ; --------------------------------------------------------------------------------------
0100 0004 000a  |    |		.DEBUG4	0x0004,0x000a,0x7e42,0x0000,0x0001,0x0000
0106 0000 0000  |    |		.BLANK	0000[0xfa]