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

⟦092140c34⟧

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

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 5900       |Y   |		.CONST	0x5900								; Diana Version, RCG Major Version, RCG minor version
0002 0000       |    |		.CONST	0x0000								; Zero
0003 00c0       |    |		.CONST	0x00c0								; 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 0000       |    |		.CONST	0x0000								; 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 0027       | '  |		.CONST	0x0027								; Address of begin
0019 0072       | r  |		.CONST	0x0072								; Address of exception handler
001a 0005       |    |		.CONST	0x0005								; Number of locals
001b			INIT_0018:
001b e002       |    |		Load	0x0,0x2
001c e003       |    |		Load	0x0,0x3
001d 00e3       |    |		Load_Encached	Natural_Cache
001e e004       |    |		Load	0x0,0x4
001f 1b50       | P  |		Execute	Package,Field_Read,Field_Number 0x50
0020 0387       |    |		Declare_Variable	Package
0021 00d8       |    |		Load_Top	At_Offset_0
0022 020f       |    |		Execute	Module,Activate
0023 00e3       |    |		Load_Encached	Natural_Cache
0024 e005       |    |		Load	0x0,0x5
0025 0007       |    |		Action	Break_Optional
0026 00e8       |    |		Load_Encached	Character_Cache
0027			BODY_0018:
0027 00cf       |    |		Action	Mark_Auxiliary
0028 4801       |H   |		Short_Literal	0x1
0029 e004       |    |		Load	0x0,0x4
002a 182d       | -  |		Execute	Package,Field_Execute,Field_Number 0x2d
002b 0092 0087  |    |		Action	Push_String_Extended,0x87					; "Size of your Magic Square : "
002d e004       |    |		Load	0x0,0x4
002e 184b       | K  |		Execute	Package,Field_Execute,Field_Number 0x4b
002f e402       |    |		Load	0x2,0x2
0030 1b0f       |    |		Execute	Package,Field_Read,Field_Number 0xf
0031 4800       |H   |		Short_Literal	0x0
0032 e402       |    |		Load	0x2,0x2
0033 1813       |    |		Execute	Package,Field_Execute,Field_Number 0x13
0034 c403       |    |		Store	0x2,0x3
0035 4801       |H   |		Short_Literal	0x1
0036 e004       |    |		Load	0x0,0x4
0037 182d       | -  |		Execute	Package,Field_Execute,Field_Number 0x2d
0038 00db       |    |		Load_Top	At_Offset_3
0039 4801       |H   |		Short_Literal	0x1
003a 0279       | y  |		Execute	Discrete,And
003b 7011       |p   |		Jump_Nonzero	0x4d
003c 4801       |H   |		Short_Literal	0x1
003d e004       |    |		Load	0x0,0x4
003e 182d       | -  |		Execute	Package,Field_Execute,Field_Number 0x2d
003f 0092 0087  |    |		Action	Push_String_Extended,0x87					; "Size of your Magic Square : "
0041 e004       |    |		Load	0x0,0x4
0042 184b       | K  |		Execute	Package,Field_Execute,Field_Number 0x4b
0043 4801       |H   |		Short_Literal	0x1
0044 e004       |    |		Load	0x0,0x4
0045 182d       | -  |		Execute	Package,Field_Execute,Field_Number 0x2d
0046 e402       |    |		Load	0x2,0x2
0047 1b0f       |    |		Execute	Package,Field_Read,Field_Number 0xf
0048 4800       |H   |		Short_Literal	0x0
0049 e402       |    |		Load	0x2,0x2
004a 1813       |    |		Execute	Package,Field_Execute,Field_Number 0x13
004b c403       |    |		Store	0x2,0x3
004c 7809       |x   |		Jump	0x56
004d 00db       |    |		Load_Top	At_Offset_3
004e 00d8       |    |		Load_Top	At_Offset_0
004f e005       |    |		Load	0x0,0x5
0050 0260       | `  |		Execute	Discrete,In_Type
0051 7001       |p   |		Jump_Nonzero	0x53
0052 0801       |    |		Execute_Immediate	Raise,0x1
0053 0053       | S  |		Store_Top_Uncheched	Discrete,At_Offset_3
0054 00da       |    |		Load_Top	At_Offset_2
0055 8006       |    |		Call	0x0,0x6
0056 4801       |H   |		Short_Literal	0x1
0057 e004       |    |		Load	0x0,0x4
0058 182d       | -  |		Execute	Package,Field_Execute,Field_Number 0x2d
0059 0092 0088  |    |		Action	Push_String_Extended,0x88					; "Again (Y/N) ? "
005b e004       |    |		Load	0x0,0x4
005c 184b       | K  |		Execute	Package,Field_Execute,Field_Number 0x4b
005d 00e8       |    |		Load_Encached	Character_Cache
005e e004       |    |		Load	0x0,0x4
005f 1845       | E  |		Execute	Package,Field_Execute,Field_Number 0x45
0060 005a       | Z  |		Store_Top	Discrete,At_Offset_2
0061 00d9       |    |		Load_Top	At_Offset_1
0062 0f6e       | n  |		Execute_Immediate	Equal,0x6e
0063 00da       |    |		Load_Top	At_Offset_2
0064 0f4e       | N  |		Execute_Immediate	Equal,0x4e
0065 0278       | x  |		Execute	Discrete,Or
0066 7002       |p   |		Jump_Nonzero	0x69
0067 00c9       |    |		Action	Pop_Auxiliary_Loop
0068 7fbf       |    |		Jump	0x28
0069 00ce       |    |		Action	Pop_Auxiliary
006a 0092 0089  |    |		Action	Push_String_Extended,0x89					; "See you... "
006c e004       |    |		Load	0x0,0x4
006d 184b       | K  |		Execute	Package,Field_Execute,Field_Number 0x4b
006e 4801       |H   |		Short_Literal	0x1
006f e004       |    |		Load	0x0,0x4
0070 182d       | -  |		Execute	Package,Field_Execute,Field_Number 0x2d
0071 4501       |E   |		Exit_Suprogram	New_Top_Offset 0x1
0072			TRAP_0018:
0072 010e       |    |		Execute	Exception,Is_Constraint_Error
0073 6812       |h   |		Jump_Zero	0x86
0074 0092 008a  |    |		Action	Push_String_Extended,0x8a					; "Please key in a number, between 1 and 999 ! "
0076 e004       |    |		Load	0x0,0x4
0077 184b       | K  |		Execute	Package,Field_Execute,Field_Number 0x4b
0078 4801       |H   |		Short_Literal	0x1
0079 e004       |    |		Load	0x0,0x4
007a 182d       | -  |		Execute	Package,Field_Execute,Field_Number 0x2d
007b 0092 0087  |    |		Action	Push_String_Extended,0x87					; "Size of your Magic Square : "
007d e004       |    |		Load	0x0,0x4
007e 184b       | K  |		Execute	Package,Field_Execute,Field_Number 0x4b
007f e402       |    |		Load	0x2,0x2
0080 1b0f       |    |		Execute	Package,Field_Read,Field_Number 0xf
0081 4800       |H   |		Short_Literal	0x0
0082 e402       |    |		Load	0x2,0x2
0083 1813       |    |		Execute	Package,Field_Execute,Field_Number 0x13
0084 c403       |    |		Store	0x2,0x3
0085 4501       |E   |		Exit_Suprogram	New_Top_Offset 0x1
0086 0100       |    |		Execute	Exception,Raise
0087 ; --------------------------------------------------------------------------------------
0087 ; STRING TABLE
0087 ; --------------------------------------------------------------------------------------
0087 000a       |    |		.STRTAB	0x000a->0x008c							; "Size of your Magic Square : "
0088 0024       | $  |		.STRTAB	0x0024->0x009a							; "Again (Y/N) ? "
0089 0030       | 0  |		.STRTAB	0x0030->0x00a1							; "See you... "
008a 0039       | 9  |		.STRTAB	0x0039->0x00a6							; "Please key in a number, between 1 and 999 ! "
008b 0063       | c  |		.STREND 0x0063->0x00bc
008c 5369 7a65  |Size|		.STRTAB_STRINGS
00bd 0000 0000  |    |		.XXX[0x3]
00bf 0000       |    |
00c0 ; --------------------------------------------------------------------------------------
00c0 ; Debug Table
00c0 ; --------------------------------------------------------------------------------------
00c0 0004 0004  |    |		.DEBUG4	0x0004,0x0004,0xf0a1,0x0000,0x0001,0x0002
00c6 000b 0000  |    |		.DBG4T	0x000b,0x0000,0x8000,0x0000
00ca 001b 00ce  |    |		.DBG4T	0x001b,0x00ce,0x8001,0x4000
00ce ; --------------------------------------------------------------------------------------
00ce ; Debug chain
00ce ; --------------------------------------------------------------------------------------
00ce 0004 0015  |    |		.DBGLEN	0x0004,0x0015
00d0 001b 0023  |   #|		.DBGLNO	0x001b,0x0023,0x0024,0x0026,0x0028,0x002b,0x002f,0x0035,0x0038,0x003c,0x003f,0x0043,0x0046,0x004d,0x0054,0x0056,0x0059,0x005d,0x0061,0x006a,0x006e,0x0074,0x0078,0x007b,0x007f
00e9 0002 0003  |    |		.XXX[0x15]
00eb 0004 0005  |    |
00ed 0006 0007  |    |
00ef 0008 0009  |    |
00f1 000a 000b  |    |
00f3 000c 000d  |    |
00f5 000e 000f  |    |
00f7 0010 0011  |    |
00f9 0012 0013  |    |
00fb 0014 0015  |    |
00fd 0016       |    |
00fe 0000 0000  |    |		.BLANK	0000[0x102]