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

⟦70fd239f1⟧

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

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 01d0       |    |		.CONST	0x01d0								; 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 0023       | #  |		.CONST	0x0023								; Address of begin
0009 0004       |    |		.CONST	0x0004								; Address of exception handler
000a 0012       |    |		.CONST	0x0012								; Number of locals
000b			INIT_0008:
000b 029a 002b  |   +|		Declare_Subprogram	INIT_0028,For_Outer_Call,Visible,Unelaborated
000d 0093 0000  |    |		push_full_address	0x0
000f 60b0       |`   |		Indirect_Literal	Discrete,0xc0,{0x80000000, 0x00010000}
0010 0273       | s  |		Execute	Discrete,Plus
0011 0129       | )  |		Execute	Any,Make_Visible
0012 0093 0000  |    |		push_full_address	0x0
0014 60a7       |`   |		Indirect_Literal	Discrete,0xbc,{0x80000000, 0x00020000}
0015 0273       | s  |		Execute	Discrete,Plus
0016 0129       | )  |		Execute	Any,Make_Visible
0017 00bf       |    |		Action	Accept_Activation
0018 4800       |H   |		Short_Literal	0x0
0019 4807       |H   |		Short_Literal	0x7
001a 029f 00cb  |    |		Declare_Subprogram	INIT_00c8,For_Call
001c 03fd       |    |		Declare_Type	Discrete,Defined
001d 029d 00f3  |    |		Declare_Subprogram	INIT_00f0,For_Outer_Call
001f 029d 00fb  |    |		Declare_Subprogram	INIT_00f8,For_Outer_Call
0021 1d0d       |    |		Execute_Immediate	Reference_Lex_1,0xd
0022 00c7       |    |		Action	Elaborate_Subprogram
0023			BODY_0008:
0023 00bc       |    |		Action	Signal_Activated
0024 00bb       |    |		Action	Signal_Completion
0025 0000 0000  |    |		.XXX[0x3]
0027 0000       |    |
0028 ; --------------------------------------------------------------------------------------
0028 ; SUBPROGRAM
0028 ; --------------------------------------------------------------------------------------
0028 0032       | 2  |		.CONST	0x0032								; Address of begin
0029 00af       |    |		.CONST	0x00af								; Address of exception handler
002a 0005       |    |		.CONST	0x0005								; Number of locals
002b			INIT_0028:
002b e002       |    |		Load	0x0,0x2
002c 0337       | 7  |		Declare_Variable	Array
002d 00e3       |    |		Load_Encached	Natural_Cache
002e 00e1       |    |		Load_Encached	Boolean_Cache
002f 0600       |    |		Execute_Immediate	Set_Value_Unchecked,0x0
0030 00e1       |    |		Load_Encached	Boolean_Cache
0031 0601       |    |		Execute_Immediate	Set_Value_Unchecked,0x1
0032			BODY_0028:
0032 0092 0132  |   2|		Action	Push_String_Extended,0x132					; "                 "
0034 8003       |    |		Call	0x0,0x3
0035 0092 0133  |   3|		Action	Push_String_Extended,0x133					; "World Message : "
0037 8003       |    |		Call	0x0,0x3
0038 0092 0132  |   2|		Action	Push_String_Extended,0x132					; "                 "
003a 8003       |    |		Call	0x0,0x3
003b 00e3       |    |		Load_Encached	Natural_Cache
003c e402       |    |		Load	0x2,0x2
003d 8004       |    |		Call	0x0,0x4
003e 00d1       |    |		Pop_Control	Pop_Count_1
003f 005b       | [  |		Store_Top	Discrete,At_Offset_3
0040 00da       |    |		Load_Top	At_Offset_2
0041 0c05       |    |		Execute_Immediate	Greater_Equal,0x5
0042 680c       |h   |		Jump_Zero	0x4f
0043 0092 0134  |   4|		Action	Push_String_Extended,0x134					; "               Une instruction ne comporte pas plus de quatre mots !"
0045 8003       |    |		Call	0x0,0x3
0046 e5ff       |    |		Load	0x2,-0x1
0047 8005       |    |		Call	0x0,0x5
0048 00d1       |    |		Pop_Control	Pop_Count_1
0049 4800       |H   |		Short_Literal	0x0
004a 0053       | S  |		Store_Top_Uncheched	Discrete,At_Offset_3
004b e5ff       |    |		Load	0x2,-0x1
004c 820d       |    |		Call	0x1,0xd
004d 00d1       |    |		Pop_Control	Pop_Count_1
004e 785d       |x]  |		Jump	0xac
004f 00da       |    |		Load_Top	At_Offset_2
0050 700a       |p   |		Jump_Nonzero	0x5b
0051 0092 0135  |   5|		Action	Push_String_Extended,0x135					; "               Il n y a aucune instruction."
0053 8003       |    |		Call	0x0,0x3
0054 e5ff       |    |		Load	0x2,-0x1
0055 8005       |    |		Call	0x0,0x5
0056 00d1       |    |		Pop_Control	Pop_Count_1
0057 e5ff       |    |		Load	0x2,-0x1
0058 820d       |    |		Call	0x1,0xd
0059 00d1       |    |		Pop_Control	Pop_Count_1
005a 7851       |xQ  |		Jump	0xac
005b 4801       |H   |		Short_Literal	0x1
005c e402       |    |		Load	0x2,0x2
005d 8006       |    |		Call	0x0,0x6
005e 0092 0136  |   6|		Action	Push_String_Extended,0x136					; "quit"
0060 01df       |    |		Execute	Vector,Equal
0061 6802       |h   |		Jump_Zero	0x64
0062 e20f       |    |		Load	0x1,0xf
0063 0257       | W  |		Execute	Discrete,Raise
0064 4801       |H   |		Short_Literal	0x1
0065 e402       |    |		Load	0x2,0x2
0066 8006       |    |		Call	0x0,0x6
0067 0092 0137  |   7|		Action	Push_String_Extended,0x137					; "dico_verbes"
0069 01df       |    |		Execute	Vector,Equal
006a 680a       |h   |		Jump_Zero	0x75
006b 8007       |    |		Call	0x0,0x7
006c e5ff       |    |		Load	0x2,-0x1
006d 8005       |    |		Call	0x0,0x5
006e 00d1       |    |		Pop_Control	Pop_Count_1
006f 4800       |H   |		Short_Literal	0x0
0070 0053       | S  |		Store_Top_Uncheched	Discrete,At_Offset_3
0071 e5ff       |    |		Load	0x2,-0x1
0072 820d       |    |		Call	0x1,0xd
0073 00d1       |    |		Pop_Control	Pop_Count_1
0074 7837       |x7  |		Jump	0xac
0075 00cf       |    |		Action	Mark_Auxiliary
0076 00db       |    |		Load_Top	At_Offset_3
0077 4801       |H   |		Short_Literal	0x1
0078 0263       | c  |		Execute	Discrete,Above_Bound
0079 7011       |p   |		Jump_Nonzero	0x8b
007a 00db       |    |		Load_Top	At_Offset_3
007b 6809       |h   |		Jump_Zero	0x85
007c 00d8       |    |		Load_Top	At_Offset_0
007d 00d9       |    |		Load_Top	At_Offset_1
007e e402       |    |		Load	0x2,0x2
007f 01d7       |    |		Execute	Vector,Field_Read
0080 8008       |    |		Call	0x0,0x8
0081 6803       |h   |		Jump_Zero	0x85
0082 4801       |H   |		Short_Literal	0x1
0083 a404       |    |		Store_Unchecked	0x2,0x4
0084 7804       |x   |		Jump	0x89
0085 4800       |H   |		Short_Literal	0x0
0086 a404       |    |		Store_Unchecked	0x2,0x4
0087 4800       |H   |		Short_Literal	0x0
0088 a405       |    |		Store_Unchecked	0x2,0x5
0089 00c8       |    |		Action	Pop_Auxiliary_Range
008a 3fef       |?   |		Loop_Increasing	0x7a
008b 00ce       |    |		Action	Pop_Auxiliary
008c 00d9       |    |		Load_Top	At_Offset_1
008d 6815       |h   |		Jump_Zero	0xa3
008e 00da       |    |		Load_Top	At_Offset_2
008f e402       |    |		Load	0x2,0x2
0090 8009       |    |		Call	0x0,0x9
0091 6807       |h   |		Jump_Zero	0x99
0092 e5ff       |    |		Load	0x2,-0x1
0093 00db       |    |		Load_Top	At_Offset_3
0094 e402       |    |		Load	0x2,0x2
0095 8212       |    |		Call	0x1,0x12
0096 800a       |    |		Call	0x0,0xa
0097 00d1       |    |		Pop_Control	Pop_Count_1
0098 7813       |x   |		Jump	0xac
0099 8211       |    |		Call	0x1,0x11
009a e5ff       |    |		Load	0x2,-0x1
009b 8005       |    |		Call	0x0,0x5
009c 00d1       |    |		Pop_Control	Pop_Count_1
009d 4800       |H   |		Short_Literal	0x0
009e 0053       | S  |		Store_Top_Uncheched	Discrete,At_Offset_3
009f e5ff       |    |		Load	0x2,-0x1
00a0 820d       |    |		Call	0x1,0xd
00a1 00d1       |    |		Pop_Control	Pop_Count_1
00a2 7809       |x   |		Jump	0xac
00a3 8211       |    |		Call	0x1,0x11
00a4 e5ff       |    |		Load	0x2,-0x1
00a5 8005       |    |		Call	0x0,0x5
00a6 00d1       |    |		Pop_Control	Pop_Count_1
00a7 4800       |H   |		Short_Literal	0x0
00a8 0053       | S  |		Store_Top_Uncheched	Discrete,At_Offset_3
00a9 e5ff       |    |		Load	0x2,-0x1
00aa 820d       |    |		Call	0x1,0xd
00ab 00d1       |    |		Pop_Control	Pop_Count_1
00ac 4800       |H   |		Short_Literal	0x0
00ad 0053       | S  |		Store_Top_Uncheched	Discrete,At_Offset_3
00ae 4501       |E   |		Exit_Suprogram	New_Top_Offset 0x1
00af			TRAP_0028:
00af e20f       |    |		Load	0x1,0xf
00b0 010f       |    |		Execute	Exception,Equal
00b1 6802       |h   |		Jump_Zero	0xb4
00b2 e20f       |    |		Load	0x1,0xf
00b3 0257       | W  |		Execute	Discrete,Raise
00b4 0092 0138  |   8|		Action	Push_String_Extended,0x138					; "erreur interpreteur"
00b6 e00b       |    |		Load	0x0,0xb
00b7 184f       | O  |		Execute	Package,Field_Execute,Field_Number 0x4f
00b8 4501       |E   |		Exit_Suprogram	New_Top_Offset 0x1
00b9 0000 0000  |    |		.XXX[0x3]
00bb 0000       |    |
00bc 8000 0000  |    |		.LITERAL	{0x80000000, 0x00020000}
00c0 8000 0000  |    |		.LITERAL	{0x80000000, 0x00010000}
00c4 0000 0000  |    |		.BLANK	0000[0x4]
00c8 ; --------------------------------------------------------------------------------------
00c8 ; SUBPROGRAM
00c8 ; --------------------------------------------------------------------------------------
00c8 00cb       |    |		.CONST	0x00cb								; Address of begin
00c9 0004       |    |		.CONST	0x0004								; Address of exception handler
00ca 0001       |    |		.CONST	0x0001								; Number of locals
00cb			BODY_00c8:
00cb			INIT_00c8:
00cb 4607       |F   |		Jump_Case	0x8
00cc 4302       |C   |		Exit_Subprogram	From_Utility,New_Top_Offset 0x2				; case 0x0
00cd 7807       |x   |		Jump	0xd5								; case 0x1
00ce 780a       |x   |		Jump	0xd9								; case 0x2
00cf 780e       |x   |		Jump	0xde								; case 0x3
00d0 7811       |x   |		Jump	0xe2								; case 0x4
00d1 7812       |x   |		Jump	0xe4								; case 0x5
00d2 7813       |x   |		Jump	0xe6								; case 0x6
00d3 7816       |x   |		Jump	0xea								; case 0x7
00d4 4302       |C   |		.XXX[0x1]
00d5 00da       |    |		Load_Top	At_Offset_2
00d6 0091 012a  |   *|		Action	Push_String_Extended_Indexed,0x12a				; "COMMUNICATION"
00d8 4201       |B   |		Exit_Subprogram	From_Utility,With_Result,New_Top_Offset 0x1
00d9 00db       |    |		Load_Top	At_Offset_3
00da 00db       |    |		Load_Top	At_Offset_3
00db 00e0       |    |		Load_Encached	Standard_Cache
00dc 181b       |    |		Execute	Package,Field_Execute,Field_Number 0x1b
00dd 4202       |B   |		Exit_Subprogram	From_Utility,With_Result,New_Top_Offset 0x2
00de 00da       |    |		Load_Top	At_Offset_2
00df 00e0       |    |		Load_Encached	Standard_Cache
00e0 181c       |    |		Execute	Package,Field_Execute,Field_Number 0x1c
00e1 4201       |B   |		Exit_Subprogram	From_Utility,With_Result,New_Top_Offset 0x1
00e2 00db       |    |		Load_Top	At_Offset_3
00e3 4202       |B   |		Exit_Subprogram	From_Utility,With_Result,New_Top_Offset 0x2
00e4 00db       |    |		Load_Top	At_Offset_3
00e5 4202       |B   |		Exit_Subprogram	From_Utility,With_Result,New_Top_Offset 0x2
00e6 e210       |    |		Load	0x1,0x10
00e7 00dc       |    |		Load_Top	At_Offset_4
00e8 0267       | g  |		Execute	Discrete,Predecessor
00e9 4202       |B   |		Exit_Subprogram	From_Utility,With_Result,New_Top_Offset 0x2
00ea e210       |    |		Load	0x1,0x10
00eb 00dc       |    |		Load_Top	At_Offset_4
00ec 0268       | h  |		Execute	Discrete,Successor
00ed 4202       |B   |		Exit_Subprogram	From_Utility,With_Result,New_Top_Offset 0x2
00ee 0000 0000  |    |		.XXX[0x2]
00f0 ; --------------------------------------------------------------------------------------
00f0 ; SUBPROGRAM
00f0 ; --------------------------------------------------------------------------------------
00f0 00f3       |    |		.CONST	0x00f3								; Address of begin
00f1 0004       |    |		.CONST	0x0004								; Address of exception handler
00f2 0001       |    |		.CONST	0x0001								; Number of locals
00f3			BODY_00f0:
00f3			INIT_00f0:
00f3 0092 0139  |   9|		Action	Push_String_Extended,0x139					; "       Je ne comprends pas votre commande"
00f5 8003       |    |		Call	0x0,0x3
00f6 4501       |E   |		Exit_Suprogram	New_Top_Offset 0x1
00f7 0000       |    |		.XXX[0x1]
00f8 ; --------------------------------------------------------------------------------------
00f8 ; SUBPROGRAM
00f8 ; --------------------------------------------------------------------------------------
00f8 00ff       |    |		.CONST	0x00ff								; Address of begin
00f9 0004       |    |		.CONST	0x0004								; Address of exception handler
00fa 0003       |    |		.CONST	0x0003								; Number of locals
00fb			INIT_00f8:
00fb e00c       |    |		Load	0x0,0xc
00fc 0322       | "  |		Declare_Variable	Record
00fd e002       |    |		Load	0x0,0x2
00fe 0337       | 7  |		Declare_Variable	Array
00ff			BODY_00f8:
00ff 00cf       |    |		Action	Mark_Auxiliary
0100 e5fe       |    |		Load	0x2,-0x2
0101 4801       |H   |		Short_Literal	0x1
0102 0263       | c  |		Execute	Discrete,Above_Bound
0103 701d       |p   |		Jump_Nonzero	0x121
0104 00d8       |    |		Load_Top	At_Offset_0
0105 e5ff       |    |		Load	0x2,-0x1
0106 01d7       |    |		Execute	Vector,Field_Read
0107 800d       |    |		Call	0x0,0xd
0108 00d8       |    |		Load_Top	At_Offset_0
0109 e210       |    |		Load	0x1,0x10
010a 0260       | `  |		Execute	Discrete,In_Type
010b 7001       |p   |		Jump_Nonzero	0x10d
010c 0801       |    |		Execute_Immediate	Raise,0x1
010d 4805       |H   |		Short_Literal	0x5
010e 4806       |H   |		Short_Literal	0x6
010f 0262       | b  |		Execute	Discrete,In_Range
0110 7007       |p   |		Jump_Nonzero	0x118
0111 00d8       |    |		Load_Top	At_Offset_0
0112 e5ff       |    |		Load	0x2,-0x1
0113 01d7       |    |		Execute	Vector,Field_Read
0114 00d9       |    |		Load_Top	At_Offset_1
0115 e403       |    |		Load	0x2,0x3
0116 01d6       |    |		Execute	Vector,Field_Write
0117 7807       |x   |		Jump	0x11f
0118 00d8       |    |		Load_Top	At_Offset_0
0119 e5ff       |    |		Load	0x2,-0x1
011a 01d7       |    |		Execute	Vector,Field_Read
011b 800e       |    |		Call	0x0,0xe
011c 00d9       |    |		Load_Top	At_Offset_1
011d e403       |    |		Load	0x2,0x3
011e 01d6       |    |		Execute	Vector,Field_Write
011f 00c8       |    |		Action	Pop_Auxiliary_Range
0120 3fe3       |?   |		Loop_Increasing	0x104
0121 00ce       |    |		Action	Pop_Auxiliary
0122 e5fe       |    |		Load	0x2,-0x2
0123 00da       |    |		Load_Top	At_Offset_2
0124 3800       |8   |		Execute	Record,Field_Write,Field_Number 0x0
0125 00d8       |    |		Load_Top	At_Offset_0
0126 00da       |    |		Load_Top	At_Offset_2
0127 3801       |8   |		Execute	Record,Field_Write,Field_Number 0x1
0128 00d9       |    |		Load_Top	At_Offset_1
0129 4402       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x2
012a ; --------------------------------------------------------------------------------------
012a ; STRING TABLE
012a ; --------------------------------------------------------------------------------------
012a 0022       | "  |		.STRTAB	0x0022->0x013b							; "COMMUNICATION"
012b 002d       | -  |		.STRTAB	0x002d->0x0141							; "COMPTEUR"
012c 0033       | 3  |		.STRTAB	0x0033->0x0145							; "LIEU"
012d 0035       | 5  |		.STRTAB	0x0035->0x0147							; "OBJET"
012e 0038       | 8  |		.STRTAB	0x0038->0x014a							; "PERSONNAGE"
012f 0040       | @  |		.STRTAB	0x0040->0x014f							; "VERBE"
0130 0043       | C  |		.STRTAB	0x0043->0x0151							; "PREPOSITION"
0131 004c       | L  |		.STRTAB	0x004c->0x0157							; "SANS_TYPE"
0132 0053       | S  |		.STRTAB	0x0053->0x015b							; "                 "
0133 0062       | b  |		.STRTAB	0x0062->0x0164							; "World Message : "
0134 0070       | p  |		.STRTAB	0x0070->0x016c							; "               Une instruction ne comporte pas plus de quatre mots !"
0135 00b2       |    |		.STRTAB	0x00b2->0x018e							; "               Il n y a aucune instruction."
0136 00db       |    |		.STRTAB	0x00db->0x01a3							; "quit"
0137 00dd       |    |		.STRTAB	0x00dd->0x01a5							; "dico_verbes"
0138 00e6       |    |		.STRTAB	0x00e6->0x01ab							; "erreur interpreteur"
0139 00f7       |    |		.STRTAB	0x00f7->0x01b4							; "       Je ne comprends pas votre commande"
013a 011e       |    |		.STREND 0x011e->0x01c9
013b 434f 4d4d  |COMM|		.STRTAB_STRINGS
01c9 0000 0000  |    |		.BLANK	0000[0x7]
01d0 ; --------------------------------------------------------------------------------------
01d0 ; Debug Table
01d0 ; --------------------------------------------------------------------------------------
01d0 0004 0008  |    |		.DEBUG4	0x0004,0x0008,0xfe8a,0x0000,0x0001,0x0006
01d6 000b 01ee  |    |		.DBG4T	0x000b,0x01ee,0x8000,0x8000
01da 0018 01f6  |    |		.DBG4T	0x0018,0x01f6,0x8000,0x8000
01de 002b 0200  | +  |		.DBG4T	0x002b,0x0200,0x0001,0x0000
01e2 00cb 0000  |    |		.DBG4T	0x00cb,0x0000,0x0005,0x0000
01e6 00f3 022d  |   -|		.DBG4T	0x00f3,0x022d,0x0001,0x0000
01ea 00fb 0230  |   0|		.DBG4T	0x00fb,0x0230,0x0002,0x4000
01ee ; --------------------------------------------------------------------------------------
01ee ; Debug chain
01ee ; --------------------------------------------------------------------------------------
01ee 0003 0000  |    |		.DBGLEN	0x0003,0x0000
01f0 000b 000d  |    |		.DBGLNO	0x000b,0x000d,0x0012
01f3 0004 0005  |    |		.XXX[0x3]
01f5 0006       |    |
01f6 ; --------------------------------------------------------------------------------------
01f6 ; Debug chain
01f6 ; --------------------------------------------------------------------------------------
01f6 0004 0000  |    |		.DBGLEN	0x0004,0x0000
01f8 0018 001d  |    |		.DBGLNO	0x0018,0x001d,0x001f,0x0021
01fc 0001 0003  |    |		.XXX[0x4]
01fe 0004 0005  |    |
0200 ; --------------------------------------------------------------------------------------
0200 ; Debug chain
0200 ; --------------------------------------------------------------------------------------
0200 0004 0027  |   '|		.DBGLEN	0x0004,0x0027
0202 002b 002d  | + -|		.DBGLNO	0x002b,0x002d,0x002e,0x0030,0x0032,0x0035,0x0038,0x003b,0x0040,0x0043,0x0046,0x0049,0x004b,0x004f,0x0051,0x0054,0x0057,0x005b,0x0062,0x0064,0x006b,0x006c,0x006f,0x0071,0x0076,0x007a,0x0082,0x0085,0x0087,0x008c,0x008e,0x0092,0x0099,0x009a,0x009d,0x009f,0x00a3,0x00a4,0x00a7,0x00a9,0x00ac,0x00b2,0x00b4
022d ; --------------------------------------------------------------------------------------
022d ; Debug chain
022d ; --------------------------------------------------------------------------------------
022d 0000 0001  |    |		.DBGLEN	0x0000,0x0001
022f 00f3       |    |		.DBGLNO	0x00f3
0230 ; --------------------------------------------------------------------------------------
0230 ; Debug chain
0230 ; --------------------------------------------------------------------------------------
0230 0002 0007  |    |		.DBGLEN	0x0002,0x0007
0232 00fb 00fd  |    |		.DBGLNO	0x00fb,0x00fd,0x0100,0x0104,0x0111,0x0118,0x0122,0x0125,0x0128
023b 0001 0002  |    |		.XXX[0x7]
023d 0004 0003  |    |
023f 0005 0006  |    |
0241 0007       |    |
0242 0000 0000  |    |		.BLANK	0000[0x1be]