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

⟦c902d13b6⟧

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

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 00c8       |    |		.CONST	0x00c8								; 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 001a       |    |		.CONST	0x001a								; Address of begin
0009 0004       |    |		.CONST	0x0004								; Address of exception handler
000a 000e       |    |		.CONST	0x000e								; Number of locals
000b			INIT_0008:
000b e20e       |    |		Load	0x1,0xe
000c 03d8       |    |		Declare_Variable	Float,Duplicate
000d 03d8       |    |		Declare_Variable	Float,Duplicate
000e 03d8       |    |		Declare_Variable	Float,Duplicate
000f 03d8       |    |		Declare_Variable	Float,Duplicate
0010 03d8       |    |		Declare_Variable	Float,Duplicate
0011 03d8       |    |		Declare_Variable	Float,Duplicate
0012 03d8       |    |		Declare_Variable	Float,Duplicate
0013 e20e       |    |		Load	0x1,0xe
0014 03d8       |    |		Declare_Variable	Float,Duplicate
0015 58aa       |X   |		Indirect_Literal	Float,0xc0,0.0
0016 e20e       |    |		Load	0x1,0xe
0017 02bf       |    |		Declare_Variable	Float,With_Value,With_Constraint
0018 e22f       | /  |		Load	0x1,0x2f
0019 03e9       |    |		Declare_Variable	Discrete,Duplicate
001a			BODY_0008:
001a e5fe       |    |		Load	0x2,-0x2
001b 00d8       |    |		Load_Top	At_Offset_0
001c e20e       |    |		Load	0x1,0xe
001d 0234       | 4  |		Execute	Float,In_Type
001e 7001       |p   |		Jump_Nonzero	0x20
001f 0801       |    |		Execute_Immediate	Raise,0x1
0020 c406       |    |		Store	0x2,0x6
0021 e406       |    |		Load	0x2,0x6
0022 0149       | I  |		Execute	Float,Less_Equal_Zero
0023 6802       |h   |		Jump_Zero	0x26
0024 e006       |    |		Load	0x0,0x6
0025 0257       | W  |		Execute	Discrete,Raise
0026 e5ff       |    |		Load	0x2,-0x1
0027 7001       |p   |		Jump_Nonzero	0x29
0028 08e0       |    |		Execute_Immediate	Raise,0xe0
0029 e5ff       |    |		Load	0x2,-0x1
002a 00d8       |    |		Load_Top	At_Offset_0
002b e20e       |    |		Load	0x1,0xe
002c 0234       | 4  |		Execute	Float,In_Type
002d 7001       |p   |		Jump_Nonzero	0x2f
002e 0801       |    |		Execute_Immediate	Raise,0x1
002f c403       |    |		Store	0x2,0x3
0030 e403       |    |		Load	0x2,0x3
0031 014c       | L  |		Execute	Float,Greater_Zero
0032 6803       |h   |		Jump_Zero	0x36
0033 5888       |X   |		Indirect_Literal	Float,0xbc,1.0
0034 c404       |    |		Store	0x2,0x4
0035 7805       |x   |		Jump	0x3b
0036 5881       |X   |		Indirect_Literal	Float,0xb8,-1.0
0037 c404       |    |		Store	0x2,0x4
0038 e403       |    |		Load	0x2,0x3
0039 023e       | >  |		Execute	Float,Absolute_Value
003a c403       |    |		Store	0x2,0x3
003b e406       |    |		Load	0x2,0x6
003c e20e       |    |		Load	0x1,0xe
003d 0232       | 2  |		Execute	Float,Check_In_Type
003e e403       |    |		Load	0x2,0x3
003f e20e       |    |		Load	0x1,0xe
0040 0232       | 2  |		Execute	Float,Check_In_Type
0041 e005       |    |		Load	0x0,0x5
0042 e230       | 0  |		Load	0x1,0x30
0043 0096       |    |		Execute	Package,Entry
0044 c402       |    |		Store	0x2,0x2
0045 586e       |Xn  |		Indirect_Literal	Float,0xb4,4.0
0046 e402       |    |		Load	0x2,0x2
0047 023b       | ;  |		Execute	Float,Times
0048 e406       |    |		Load	0x2,0x6
0049 023a       | :  |		Execute	Float,Divide
004a e20e       |    |		Load	0x1,0xe
004b 0232       | 2  |		Execute	Float,Check_In_Type
004c e008       |    |		Load	0x0,0x8
004d e230       | 0  |		Load	0x1,0x30
004e 0096       |    |		Execute	Package,Entry
004f c409       |    |		Store	0x2,0x9
0050 e409       |    |		Load	0x2,0x9
0051 0235       | 5  |		Execute	Float,Round_To_Discrete
0052 00e2       |    |		Load_Encached	Integer_Cache
0053 025e       | ^  |		Execute	Discrete,Convert
0054 4803       |H   |		Short_Literal	0x3
0055 0279       | y  |		Execute	Discrete,And
0056 00d8       |    |		Load_Top	At_Offset_0
0057 e22f       | /  |		Load	0x1,0x2f
0058 0260       | `  |		Execute	Discrete,In_Type
0059 7001       |p   |		Jump_Nonzero	0x5b
005a 0801       |    |		Execute_Immediate	Raise,0x1
005b 0052       | R  |		Store_Top_Unchecked	Discrete,At_Offset_2
005c 00d9       |    |		Load_Top	At_Offset_1
005d 4801       |H   |		Short_Literal	0x1
005e 0279       | y  |		Execute	Discrete,And
005f 0059       | Y  |		Store_Top	Discrete,At_Offset_1
0060 4804       |H   |		Short_Literal	0x4
0061 e406       |    |		Load	0x2,0x6
0062 e20e       |    |		Load	0x1,0xe
0063 0232       | 2  |		Execute	Float,Check_In_Type
0064 e004       |    |		Load	0x0,0x4
0065 e230       | 0  |		Load	0x1,0x30
0066 0096       |    |		Execute	Package,Entry
0067 c407       |    |		Store	0x2,0x7
0068 e406       |    |		Load	0x2,0x6
0069 e407       |    |		Load	0x2,0x7
006a 023c       | <  |		Execute	Float,Minus
006b c408       |    |		Store	0x2,0x8
006c e409       |    |		Load	0x2,0x9
006d 5842       |XB  |		Indirect_Literal	Float,0xb0,0.25
006e 023b       | ;  |		Execute	Float,Times
006f c409       |    |		Store	0x2,0x9
0070 e402       |    |		Load	0x2,0x2
0071 e409       |    |		Load	0x2,0x9
0072 e407       |    |		Load	0x2,0x7
0073 023b       | ;  |		Execute	Float,Times
0074 023c       | <  |		Execute	Float,Minus
0075 e409       |    |		Load	0x2,0x9
0076 e408       |    |		Load	0x2,0x8
0077 023b       | ;  |		Execute	Float,Times
0078 023c       | <  |		Execute	Float,Minus
0079 c402       |    |		Store	0x2,0x2
007a e402       |    |		Load	0x2,0x2
007b e406       |    |		Load	0x2,0x6
007c 023a       | :  |		Execute	Float,Divide
007d 582e       |X.  |		Indirect_Literal	Float,0xac,6.283185307179586
007e 023b       | ;  |		Execute	Float,Times
007f c402       |    |		Store	0x2,0x2
0080 00da       |    |		Load_Top	At_Offset_2
0081 e20e       |    |		Load	0x1,0xe
0082 0232       | 2  |		Execute	Float,Check_In_Type
0083 e402       |    |		Load	0x2,0x2
0084 e20e       |    |		Load	0x1,0xe
0085 0232       | 2  |		Execute	Float,Check_In_Type
0086 8252       | R  |		Call	0x1,0x52
0087 c40a       |    |		Store	0x2,0xa
0088 00da       |    |		Load_Top	At_Offset_2
0089 e20e       |    |		Load	0x1,0xe
008a 0232       | 2  |		Execute	Float,Check_In_Type
008b e402       |    |		Load	0x2,0x2
008c e20e       |    |		Load	0x1,0xe
008d 0232       | 2  |		Execute	Float,Check_In_Type
008e 8253       | S  |		Call	0x1,0x53
008f c40b       |    |		Store	0x2,0xb
0090 00d8       |    |		Load_Top	At_Offset_0
0091 0f01       |    |		Execute_Immediate	Equal,0x1
0092 6809       |h   |		Jump_Zero	0x9c
0093 00db       |    |		Load_Top	At_Offset_3
0094 7001       |p   |		Jump_Nonzero	0x96
0095 08e0       |    |		Execute_Immediate	Raise,0xe0
0096 e40a       |    |		Load	0x2,0xa
0097 e40b       |    |		Load	0x2,0xb
0098 023a       | :  |		Execute	Float,Divide
0099 023f       | ?  |		Execute	Float,Unary_Minus
009a c405       |    |		Store	0x2,0x5
009b 7807       |x   |		Jump	0xa3
009c e40a       |    |		Load	0x2,0xa
009d 7001       |p   |		Jump_Nonzero	0x9f
009e 08e0       |    |		Execute_Immediate	Raise,0xe0
009f 00db       |    |		Load_Top	At_Offset_3
00a0 e40a       |    |		Load	0x2,0xa
00a1 023a       | :  |		Execute	Float,Divide
00a2 c405       |    |		Store	0x2,0x5
00a3 e404       |    |		Load	0x2,0x4
00a4 e405       |    |		Load	0x2,0x5
00a5 023b       | ;  |		Execute	Float,Times
00a6 00d8       |    |		Load_Top	At_Offset_0
00a7 e20e       |    |		Load	0x1,0xe
00a8 0234       | 4  |		Execute	Float,In_Type
00a9 7001       |p   |		Jump_Nonzero	0xab
00aa 0801       |    |		Execute_Immediate	Raise,0x1
00ab 4402       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x2
00ac 4019 21fb  |@ ! |		.DBL	6.283185307179586
00ae 5444 2d18  |TD- |
00b0 3fd0 0000  |?   |		.DBL	0.25
00b2 0000 0000  |    |
00b4 4010 0000  |@   |		.DBL	4.0
00b6 0000 0000  |    |
00b8 bff0 0000  |    |		.DBL	-1.0
00ba 0000 0000  |    |
00bc 3ff0 0000  |?   |		.DBL	1.0
00be 0000 0000  |    |
00c0 0000 0000  |    |		.DBL	0.0
00c2 0000 0000  |    |
00c4 0000 0000  |    |		.BLANK	0000[0x4]
00c8 ; --------------------------------------------------------------------------------------
00c8 ; Debug Table
00c8 ; --------------------------------------------------------------------------------------
00c8 0004 0014  |    |		.DEBUG4	0x0004,0x0014,0x8f20,0x0000,0x0001,0x0000
00ce 0000 0000  |    |		.BLANK	0000[0x34]
0102 000e 7400  |  t |		.XXX[0x7]
0104 0000 0000  |    |
0106 0000 00eb  |    |
0108 6000       |`   |
0109 0000 0000  |    |		.BLANK	0000[0x8]
0111 f9a0       |    |		.XXX[0x1]
0112 0000 0000  |    |		.BLANK	0000[0x16]
0128 000f 4400  |  D |		.XXX[0x2]
012a 0000 0000  |    |		.BLANK	0000[0x20]
014a fc80       |    |		.XXX[0x1]
014b 0000 0000  |    |		.BLANK	0000[0x8]
0153 00e9 a000  |    |		.XXX[0x6]
0155 0000 0000  |    |
0157 0000 0f1c  |    |
0159 0000 0000  |    |		.BLANK	0000[0x1b]
0174 1b7b 6b6b  | {kk|		.XXX[0x81]
0176 0b73 2399  | s# |
0178 037b 9103  | {  |
017a 9ba3 0ba3  |    |
017c ab99 034b  |   K|
017e 7333 7b93  |s3{ |
0180 6b0b a34b  |k  K|
0182 7b70 0000  |{p  |
0184 0260 0000  | `  |
0186 0231 034b  | 1 K|
0188 7323 4b1b  |s#K |
018a 0ba3 2903  |  ) |
018c 8393 7b3b  |  {;|
018e 932b 9b99  | +  |
0190 03bb 4ba3  |  K |
0192 434b 7103  |CKq |
0194 0903 9b2b  |   +|
0196 8bab 2b73  |  +s|
0198 1b29 037b  | ) {|
019a 3103 1b7b  |1  {|
019c 6b6b 0b73  |kk s|
019e 2399 037b  |#  {|
01a0 9103 9ba3  |    |
01a2 0ba3 ab99  |    |
01a4 034b 7333  | Ks3|
01a6 7b93 6b0b  |{ k |
01a8 a34b 7b70  | K{p|
01aa 0000 0260  |   `|
01ac 0000 0231  |   1|
01ae 034b 7323  | Ks#|
01b0 4b1b 0ba3  |K   |
01b2 2903 8393  |)   |
01b4 7b3b 932b  |{; +|
01b6 9b99 03bb  |    |
01b8 4ba3 434b  |K CK|
01ba 7103 0903  |q   |
01bc 9b2b 8bab  | +  |
01be 2b73 1b29  |+s )|
01c0 037b 3103  | {1 |
01c2 1b7b 6b6b  | {kk|
01c4 0b73 2399  | s# |
01c6 037b 9103  | {  |
01c8 9ba3 0ba3  |    |
01ca ab99 034b  |   K|
01cc 7333 7b93  |s3{ |
01ce 6b0b a34b  |k  K|
01d0 7b70 0000  |{p  |
01d2 00a0 0000  |    |
01d4 0073 0b13  | s  |
01d6 7bab a103  |{   |
01d8 a343 2903  | C) |
01da 537b 1170  |S{ p|
01dc 0000 0098  |    |
01de 0000 0079  |   y|
01e0 030b 137b  |   {|
01e2 aba1 03a3  |    |
01e4 4329 0353  |C) S|
01e6 7b11 7000  |{ p |
01e8 0000 9800  |    |
01ea 0000 7903  |  y |
01ec 0b13 7bab  |  { |
01ee a103 a343  |   C|
01f0 2903 537b  |) S{|
01f2 1170 0000  | p  |
01f4 0008       |    |
01f5 0000 0000  |    |		.BLANK	0000[0x5]
01fa 0118 0000  |    |		.XXX[0x6]
01fc 0000 0000  |    |
01fe 0110 0000  |    |