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

⟦1b06f5701⟧

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

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 0290       |    |		.CONST	0x0290								; 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 0057       | W  |		.CONST	0x0057								; Address of begin
0009 0004       |    |		.CONST	0x0004								; Address of exception handler
000a 0017       |    |		.CONST	0x0017								; Number of locals
000b			INIT_0008:
000b 0007       |    |		Action	Break_Optional
000c 00c4       |    |		Action	Make_Default
000d 029a 0063  |   c|		Declare_Subprogram	INIT_0060,For_Outer_Call,Visible,Unelaborated
000f 029a 00a3  |    |		Declare_Subprogram	INIT_00a0,For_Outer_Call,Visible,Unelaborated
0011 029a 00d3  |    |		Declare_Subprogram	INIT_00d0,For_Outer_Call,Visible,Unelaborated
0013 029a 00db  |    |		Declare_Subprogram	INIT_00d8,For_Outer_Call,Visible,Unelaborated
0015 029a 00e3  |    |		Declare_Subprogram	INIT_00e0,For_Outer_Call,Visible,Unelaborated
0017 e004       |    |		Load	0x0,0x4
0018 00e3       |    |		Load_Encached	Natural_Cache
0019 4801       |H   |		Short_Literal	0x1
001a 607d       |`}  |		Indirect_Literal	Discrete,0x98,{0x00000000, 0x7fffffff}
001b e004       |    |		Load	0x0,0x4
001c 0269       | i  |		Execute	Discrete,Last
001d 026c       | l  |		Execute	Discrete,Minimum
001e e003       |    |		Load	0x0,0x3
001f 034f       | O  |		Declare_Type	Array,Constrained,Visible,Bounds_With_Object
0020 029f 0233  |   3|		Declare_Subprogram	INIT_0230,For_Call
0022 4800       |H   |		Short_Literal	0x0
0023 4801       |H   |		Short_Literal	0x1
0024 4801       |H   |		Short_Literal	0x1
0025 4800       |H   |		Short_Literal	0x0
0026 4801       |H   |		Short_Literal	0x1
0027 4801       |H   |		Short_Literal	0x1
0028 031e       |    |		Declare_Type	Variant_Record,Defined,Visible
0029 4800       |H   |		Short_Literal	0x0
002a 00d9       |    |		Load_Top	At_Offset_1
002b 1c08       |    |		Execute_Immediate	Run_Utility,0x8
002c 4800       |H   |		Short_Literal	0x0
002d 00d9       |    |		Load_Top	At_Offset_1
002e 2802       |(   |		Execute	Variant_Record,Field_Write,Fixed,Direct,Field_Number 0x2
002f e005       |    |		Load	0x0,0x5
0030 00d9       |    |		Load_Top	At_Offset_1
0031 00d8       |    |		Load_Top	At_Offset_0
0032 2503       |%   |		Execute	Variant_Record,Field_Reference,Indirect,Field_Number 0x3
0033 00da       |    |		Load_Top	At_Offset_2
0034 01da       |    |		Execute	Vector,Bounds
0035 00da       |    |		Load_Top	At_Offset_2
0036 01da       |    |		Execute	Vector,Bounds
0037 00da       |    |		Load_Top	At_Offset_2
0038 027f       |    |		Execute	Discrete,Equal
0039 7001       |p   |		Jump_Nonzero	0x3b
003a 08e0       |    |		Execute_Immediate	Raise,0xe0
003b 00cd       |    |		Action	Spare6_Action
003c 027f       |    |		Execute	Discrete,Equal
003d 7001       |p   |		Jump_Nonzero	0x3f
003e 08e0       |    |		Execute_Immediate	Raise,0xe0
003f 00d2       |    |		Pop_Control	Pop_Count_2
0040 00d9       |    |		Load_Top	At_Offset_1
0041 2903       |)   |		Execute	Variant_Record,Field_Write,Fixed,Indirect,Field_Number 0x3
0042 0129       | )  |		Execute	Any,Make_Visible
0043 c20d       |    |		Store	0x1,0xd
0044 00bf       |    |		Action	Accept_Activation
0045 029d 0113  |    |		Declare_Subprogram	INIT_0110,For_Outer_Call
0047 029d 012b  |   +|		Declare_Subprogram	INIT_0128,For_Outer_Call
0049 029d 0173  |   s|		Declare_Subprogram	INIT_0170,For_Outer_Call
004b 029d 01d3  |    |		Declare_Subprogram	INIT_01d0,For_Outer_Call
004d 1d0e       |    |		Execute_Immediate	Reference_Lex_1,0xe
004e 00c7       |    |		Action	Elaborate_Subprogram
004f 1d0f       |    |		Execute_Immediate	Reference_Lex_1,0xf
0050 00c7       |    |		Action	Elaborate_Subprogram
0051 1d10       |    |		Execute_Immediate	Reference_Lex_1,0x10
0052 00c7       |    |		Action	Elaborate_Subprogram
0053 1d11       |    |		Execute_Immediate	Reference_Lex_1,0x11
0054 00c7       |    |		Action	Elaborate_Subprogram
0055 1d12       |    |		Execute_Immediate	Reference_Lex_1,0x12
0056 00c7       |    |		Action	Elaborate_Subprogram
0057			BODY_0008:
0057 00bc       |    |		Action	Signal_Activated
0058 00bb       |    |		Action	Signal_Completion
0059 0000 0000  |    |		.BLANK	0000[0x7]
0060 ; --------------------------------------------------------------------------------------
0060 ; SUBPROGRAM
0060 ; --------------------------------------------------------------------------------------
0060 0067       | g  |		.CONST	0x0067								; Address of begin
0061 0004       |    |		.CONST	0x0004								; Address of exception handler
0062 0003       |    |		.CONST	0x0003								; Number of locals
0063			INIT_0060:
0063 00da       |    |		Load_Top	At_Offset_2
0064 8211       |    |		Call	0x1,0x11
0065 e5fe       |    |		Load	0x2,-0x2
0066 8211       |    |		Call	0x1,0x11
0067			BODY_0060:
0067 00d8       |    |		Load_Top	At_Offset_0
0068 00da       |    |		Load_Top	At_Offset_2
0069 8216       |    |		Call	0x1,0x16
006a 7028       |p(  |		Jump_Nonzero	0x93
006b 00d8       |    |		Load_Top	At_Offset_0
006c 00da       |    |		Load_Top	At_Offset_2
006d 8217       |    |		Call	0x1,0x17
006e 7022       |p"  |		Jump_Nonzero	0x91
006f e5fe       |    |		Load	0x2,-0x2
0070 2c02       |,   |		Execute	Variant_Record,Field_Read,Fixed,Direct,Field_Number 0x2
0071 e006       |    |		Load	0x0,0x6
0072 01d5       |    |		Execute	Vector,Field_Reference
0073 2402       |$   |		Execute	Variant_Record,Field_Reference,Fixed,Direct,Field_Number 0x2
0074 e5ff       |    |		Load	0x2,-0x1
0075 2c02       |,   |		Execute	Variant_Record,Field_Read,Fixed,Direct,Field_Number 0x2
0076 e006       |    |		Load	0x0,0x6
0077 01d5       |    |		Execute	Vector,Field_Reference
0078 2402       |$   |		Execute	Variant_Record,Field_Reference,Fixed,Direct,Field_Number 0x2
0079 8007       |    |		Call	0x0,0x7
007a 7014       |p   |		Jump_Nonzero	0x8f
007b e5ff       |    |		Load	0x2,-0x1
007c 2c02       |,   |		Execute	Variant_Record,Field_Read,Fixed,Direct,Field_Number 0x2
007d e006       |    |		Load	0x0,0x6
007e 01d5       |    |		Execute	Vector,Field_Reference
007f 2402       |$   |		Execute	Variant_Record,Field_Reference,Fixed,Direct,Field_Number 0x2
0080 e5fe       |    |		Load	0x2,-0x2
0081 2c02       |,   |		Execute	Variant_Record,Field_Read,Fixed,Direct,Field_Number 0x2
0082 e006       |    |		Load	0x0,0x6
0083 01d5       |    |		Execute	Vector,Field_Reference
0084 2402       |$   |		Execute	Variant_Record,Field_Reference,Fixed,Direct,Field_Number 0x2
0085 016f       | o  |		Execute	Variant_Record,Equal
0086 6806       |h   |		Jump_Zero	0x8d
0087 e5ff       |    |		Load	0x2,-0x1
0088 2c01       |,   |		Execute	Variant_Record,Field_Read,Fixed,Direct,Field_Number 0x1
0089 e5fe       |    |		Load	0x2,-0x2
008a 2c01       |,   |		Execute	Variant_Record,Field_Read,Fixed,Direct,Field_Number 0x1
008b 027c       | |  |		Execute	Discrete,Less
008c 4402       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x2
008d 4800       |H   |		Short_Literal	0x0
008e 4402       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x2
008f 4801       |H   |		Short_Literal	0x1
0090 4402       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x2
0091 4800       |H   |		Short_Literal	0x0
0092 4402       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x2
0093 4801       |H   |		Short_Literal	0x1
0094 4402       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x2
0095 0000 0000  |    |		.XXX[0x3]
0097 0000       |    |
0098 0000 0000  |    |		.LITERAL	{0x00000000, 0x7fffffff}
009c 0000 0000  |    |		.BLANK	0000[0x4]
00a0 ; --------------------------------------------------------------------------------------
00a0 ; SUBPROGRAM
00a0 ; --------------------------------------------------------------------------------------
00a0 00ab       |    |		.CONST	0x00ab								; Address of begin
00a1 0004       |    |		.CONST	0x0004								; Address of exception handler
00a2 0002       |    |		.CONST	0x0002								; Number of locals
00a3			INIT_00a0:
00a3 00db       |    |		Load_Top	At_Offset_3
00a4 01dc       |    |		Execute	Vector,Last
00a5 e5fe       |    |		Load	0x2,-0x2
00a6 01dd       |    |		Execute	Vector,First
00a7 0272       | r  |		Execute	Discrete,Minus
00a8 0a01       |    |		Execute_Immediate	Plus,0x1
00a9 00e3       |    |		Load_Encached	Natural_Cache
00aa 03ec       |    |		Declare_Variable	Discrete,With_Value,With_Constraint
00ab			BODY_00a0:
00ab 00d8       |    |		Load_Top	At_Offset_0
00ac 00d8       |    |		Load_Top	At_Offset_0
00ad e004       |    |		Load	0x0,0x4
00ae 0260       | `  |		Execute	Discrete,In_Type
00af 7001       |p   |		Jump_Nonzero	0xb1
00b0 0801       |    |		Execute_Immediate	Raise,0x1
00b1 e213       |    |		Load	0x1,0x13
00b2 1c08       |    |		Execute_Immediate	Run_Utility,0x8
00b3 e5ff       |    |		Load	0x2,-0x1
00b4 00d9       |    |		Load_Top	At_Offset_1
00b5 2802       |(   |		Execute	Variant_Record,Field_Write,Fixed,Direct,Field_Number 0x2
00b6 e5fe       |    |		Load	0x2,-0x2
00b7 00d9       |    |		Load_Top	At_Offset_1
00b8 00d8       |    |		Load_Top	At_Offset_0
00b9 2503       |%   |		Execute	Variant_Record,Field_Reference,Indirect,Field_Number 0x3
00ba 00da       |    |		Load_Top	At_Offset_2
00bb 01da       |    |		Execute	Vector,Bounds
00bc 00da       |    |		Load_Top	At_Offset_2
00bd 01da       |    |		Execute	Vector,Bounds
00be 00da       |    |		Load_Top	At_Offset_2
00bf 027f       |    |		Execute	Discrete,Equal
00c0 7001       |p   |		Jump_Nonzero	0xc2
00c1 08e0       |    |		Execute_Immediate	Raise,0xe0
00c2 00cd       |    |		Action	Spare6_Action
00c3 027f       |    |		Execute	Discrete,Equal
00c4 7001       |p   |		Jump_Nonzero	0xc6
00c5 08e0       |    |		Execute_Immediate	Raise,0xe0
00c6 00d2       |    |		Pop_Control	Pop_Count_2
00c7 00d9       |    |		Load_Top	At_Offset_1
00c8 2903       |)   |		Execute	Variant_Record,Field_Write,Fixed,Indirect,Field_Number 0x3
00c9 4402       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x2
00ca 0000 0000  |    |		.BLANK	0000[0x6]
00d0 ; --------------------------------------------------------------------------------------
00d0 ; SUBPROGRAM
00d0 ; --------------------------------------------------------------------------------------
00d0 00d3       |    |		.CONST	0x00d3								; Address of begin
00d1 0004       |    |		.CONST	0x0004								; Address of exception handler
00d2 0001       |    |		.CONST	0x0001								; Number of locals
00d3			BODY_00d0:
00d3			INIT_00d0:
00d3 00da       |    |		Load_Top	At_Offset_2
00d4 2c02       |,   |		Execute	Variant_Record,Field_Read,Fixed,Direct,Field_Number 0x2
00d5 4401       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x1
00d6 0000 0000  |    |		.XXX[0x2]
00d8 ; --------------------------------------------------------------------------------------
00d8 ; SUBPROGRAM
00d8 ; --------------------------------------------------------------------------------------
00d8 00db       |    |		.CONST	0x00db								; Address of begin
00d9 0004       |    |		.CONST	0x0004								; Address of exception handler
00da 0001       |    |		.CONST	0x0001								; Number of locals
00db			BODY_00d8:
00db			INIT_00d8:
00db 00da       |    |		Load_Top	At_Offset_2
00dc 2503       |%   |		Execute	Variant_Record,Field_Reference,Indirect,Field_Number 0x3
00dd 0335       | 5  |		Declare_Variable	Array,Duplicate
00de 00cd       |    |		Action	Spare6_Action
00df 4401       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x1
00e0 ; --------------------------------------------------------------------------------------
00e0 ; SUBPROGRAM
00e0 ; --------------------------------------------------------------------------------------
00e0 00e3       |    |		.CONST	0x00e3								; Address of begin
00e1 0004       |    |		.CONST	0x0004								; Address of exception handler
00e2 0001       |    |		.CONST	0x0001								; Number of locals
00e3			BODY_00e0:
00e3			INIT_00e0:
00e3 00db       |    |		Load_Top	At_Offset_3
00e4 0092 0270  |   p|		Action	Push_String_Extended,0x270					; "Rule_instance'("
00e6 8008       |    |		Call	0x0,0x8
00e7 00db       |    |		Load_Top	At_Offset_3
00e8 8009       |    |		Call	0x0,0x9
00e9 00db       |    |		Load_Top	At_Offset_3
00ea 0092 0271  |   q|		Action	Push_String_Extended,0x271					; "The_Rule =>"
00ec 800a       |    |		Call	0x0,0xa
00ed 00db       |    |		Load_Top	At_Offset_3
00ee 00db       |    |		Load_Top	At_Offset_3
00ef 2c02       |,   |		Execute	Variant_Record,Field_Read,Fixed,Direct,Field_Number 0x2
00f0 800b       |    |		Call	0x0,0xb
00f1 00db       |    |		Load_Top	At_Offset_3
00f2 482c       |H,  |		Short_Literal	0x2c
00f3 800c       |    |		Call	0x0,0xc
00f4 00db       |    |		Load_Top	At_Offset_3
00f5 0092 0272  |   r|		Action	Push_String_Extended,0x272					; "The_facts =>"
00f7 8008       |    |		Call	0x0,0x8
00f8 00db       |    |		Load_Top	At_Offset_3
00f9 8009       |    |		Call	0x0,0x9
00fa 00db       |    |		Load_Top	At_Offset_3
00fb 4801       |H   |		Short_Literal	0x1
00fc e5ff       |    |		Load	0x2,-0x1
00fd 2c01       |,   |		Execute	Variant_Record,Field_Read,Fixed,Direct,Field_Number 0x1
00fe e5ff       |    |		Load	0x2,-0x1
00ff 2503       |%   |		Execute	Variant_Record,Field_Reference,Indirect,Field_Number 0x3
0100 01cf       |    |		Execute	Vector,Slice_Read
0101 800d       |    |		Call	0x0,0xd
0102 00db       |    |		Load_Top	At_Offset_3
0103 800e       |    |		Call	0x0,0xe
0104 00db       |    |		Load_Top	At_Offset_3
0105 800e       |    |		Call	0x0,0xe
0106 00db       |    |		Load_Top	At_Offset_3
0107 0092 0273  |   s|		Action	Push_String_Extended,0x273					; ")"
0109 8008       |    |		Call	0x0,0x8
010a 4503       |E   |		Exit_Suprogram	New_Top_Offset 0x3
010b 0000 0000  |    |		.BLANK	0000[0x5]
0110 ; --------------------------------------------------------------------------------------
0110 ; SUBPROGRAM
0110 ; --------------------------------------------------------------------------------------
0110 0117       |    |		.CONST	0x0117								; Address of begin
0111 0004       |    |		.CONST	0x0004								; Address of exception handler
0112 0002       |    |		.CONST	0x0002								; Number of locals
0113			INIT_0110:
0113 e00f       |    |		Load	0x0,0xf
0114 02c7       |    |		Declare_Variable	Any
0115 00d8       |    |		Load_Top	At_Offset_0
0116 1c00       |    |		Execute_Immediate	Run_Utility,0x0
0117			BODY_0110:
0117 00db       |    |		Load_Top	At_Offset_3
0118 e5fe       |    |		Load	0x2,-0x2
0119 01d7       |    |		Execute	Vector,Field_Read
011a c402       |    |		Store	0x2,0x2
011b 00db       |    |		Load_Top	At_Offset_3
011c 0a01       |    |		Execute_Immediate	Plus,0x1
011d e5fe       |    |		Load	0x2,-0x2
011e 01d7       |    |		Execute	Vector,Field_Read
011f e5ff       |    |		Load	0x2,-0x1
0120 e5fe       |    |		Load	0x2,-0x2
0121 01d6       |    |		Execute	Vector,Field_Write
0122 00d8       |    |		Load_Top	At_Offset_0
0123 e5ff       |    |		Load	0x2,-0x1
0124 0a01       |    |		Execute_Immediate	Plus,0x1
0125 e5fe       |    |		Load	0x2,-0x2
0126 01d6       |    |		Execute	Vector,Field_Write
0127 4502       |E   |		Exit_Suprogram	New_Top_Offset 0x2
0128 ; --------------------------------------------------------------------------------------
0128 ; SUBPROGRAM
0128 ; --------------------------------------------------------------------------------------
0128 0139       | 9  |		.CONST	0x0139								; Address of begin
0129 0004       |    |		.CONST	0x0004								; Address of exception handler
012a 0002       |    |		.CONST	0x0002								; Number of locals
012b			INIT_0128:
012b 4801       |H   |		Short_Literal	0x1
012c 00db       |    |		Load_Top	At_Offset_3
012d 01db       |    |		Execute	Vector,Length
012e 00d8       |    |		Load_Top	At_Offset_0
012f 00e2       |    |		Load_Encached	Integer_Cache
0130 0260       | `  |		Execute	Discrete,In_Type
0131 7001       |p   |		Jump_Nonzero	0x133
0132 0801       |    |		Execute_Immediate	Raise,0x1
0133 e003       |    |		Load	0x0,0x3
0134 035b       | [  |		Declare_Type	Array,Constrained
0135 0337       | 7  |		Declare_Variable	Array
0136 00db       |    |		Load_Top	At_Offset_3
0137 00d9       |    |		Load_Top	At_Offset_1
0138 01d4       |    |		Execute	Vector,Structure_Write
0139			BODY_0128:
0139 00cf       |    |		Action	Mark_Auxiliary
013a 00d9       |    |		Load_Top	At_Offset_1
013b 01dc       |    |		Execute	Vector,Last
013c 0aff       |    |		Execute_Immediate	Plus,-0x1
013d 00d8       |    |		Load_Top	At_Offset_0
013e 00e2       |    |		Load_Encached	Integer_Cache
013f 0260       | `  |		Execute	Discrete,In_Type
0140 7001       |p   |		Jump_Nonzero	0x142
0141 0801       |    |		Execute_Immediate	Raise,0x1
0142 4801       |H   |		Short_Literal	0x1
0143 0263       | c  |		Execute	Discrete,Above_Bound
0144 7021       |p!  |		Jump_Nonzero	0x166
0145 00cf       |    |		Action	Mark_Auxiliary
0146 e402       |    |		Load	0x2,0x2
0147 01dc       |    |		Execute	Vector,Last
0148 00da       |    |		Load_Top	At_Offset_2
0149 0272       | r  |		Execute	Discrete,Minus
014a 00d8       |    |		Load_Top	At_Offset_0
014b 00e2       |    |		Load_Encached	Integer_Cache
014c 0260       | `  |		Execute	Discrete,In_Type
014d 7001       |p   |		Jump_Nonzero	0x14f
014e 0801       |    |		Execute_Immediate	Raise,0x1
014f 4801       |H   |		Short_Literal	0x1
0150 0263       | c  |		Execute	Discrete,Above_Bound
0151 7011       |p   |		Jump_Nonzero	0x163
0152 00d8       |    |		Load_Top	At_Offset_0
0153 0a01       |    |		Execute_Immediate	Plus,0x1
0154 e402       |    |		Load	0x2,0x2
0155 01d7       |    |		Execute	Vector,Field_Read
0156 8010       |    |		Call	0x0,0x10
0157 00d9       |    |		Load_Top	At_Offset_1
0158 e402       |    |		Load	0x2,0x2
0159 01d7       |    |		Execute	Vector,Field_Read
015a 8010       |    |		Call	0x0,0x10
015b 8011       |    |		Call	0x0,0x11
015c 6804       |h   |		Jump_Zero	0x161
015d e402       |    |		Load	0x2,0x2
015e 00d9       |    |		Load_Top	At_Offset_1
015f 8214       |    |		Call	0x1,0x14
0160 00d1       |    |		Pop_Control	Pop_Count_1
0161 00c8       |    |		Action	Pop_Auxiliary_Range
0162 3fef       |?   |		Loop_Increasing	0x152
0163 00ce       |    |		Action	Pop_Auxiliary
0164 00c8       |    |		Action	Pop_Auxiliary_Range
0165 3fdf       |?   |		Loop_Increasing	0x145
0166 00ce       |    |		Action	Pop_Auxiliary
0167 00d8       |    |		Load_Top	At_Offset_0
0168 e003       |    |		Load	0x0,0x3
0169 01c6       |    |		Execute	Vector,Convert_To_Formal
016a 4401       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x1
016b 0000 0000  |    |		.BLANK	0000[0x5]
0170 ; --------------------------------------------------------------------------------------
0170 ; SUBPROGRAM
0170 ; --------------------------------------------------------------------------------------
0170 018e       |    |		.CONST	0x018e								; Address of begin
0171 0004       |    |		.CONST	0x0004								; Address of exception handler
0172 0004       |    |		.CONST	0x0004								; Number of locals
0173			INIT_0170:
0173 00e4       |    |		Load_Encached	Positive_Cache
0174 4801       |H   |		Short_Literal	0x1
0175 e5ff       |    |		Load	0x2,-0x1
0176 01db       |    |		Execute	Vector,Length
0177 00d8       |    |		Load_Top	At_Offset_0
0178 00e2       |    |		Load_Encached	Integer_Cache
0179 0260       | `  |		Execute	Discrete,In_Type
017a 7001       |p   |		Jump_Nonzero	0x17c
017b 0801       |    |		Execute_Immediate	Raise,0x1
017c e003       |    |		Load	0x0,0x3
017d 035b       | [  |		Declare_Type	Array,Constrained
017e 0337       | 7  |		Declare_Variable	Array
017f 00d8       |    |		Load_Top	At_Offset_0
0180 1c00       |    |		Execute_Immediate	Run_Utility,0x0
0181 4801       |H   |		Short_Literal	0x1
0182 e5fe       |    |		Load	0x2,-0x2
0183 01db       |    |		Execute	Vector,Length
0184 00d8       |    |		Load_Top	At_Offset_0
0185 00e2       |    |		Load_Encached	Integer_Cache
0186 0260       | `  |		Execute	Discrete,In_Type
0187 7001       |p   |		Jump_Nonzero	0x189
0188 0801       |    |		Execute_Immediate	Raise,0x1
0189 e003       |    |		Load	0x0,0x3
018a 035b       | [  |		Declare_Type	Array,Constrained
018b 0337       | 7  |		Declare_Variable	Array
018c 00d8       |    |		Load_Top	At_Offset_0
018d 1c00       |    |		Execute_Immediate	Run_Utility,0x0
018e			BODY_0170:
018e e5ff       |    |		Load	0x2,-0x1
018f 01db       |    |		Execute	Vector,Length
0190 e5fe       |    |		Load	0x2,-0x2
0191 01db       |    |		Execute	Vector,Length
0192 027d       | }  |		Execute	Discrete,Greater
0193 6804       |h   |		Jump_Zero	0x198
0194 e5fe       |    |		Load	0x2,-0x2
0195 01db       |    |		Execute	Vector,Length
0196 005b       | [  |		Store_Top	Discrete,At_Offset_3
0197 7803       |x   |		Jump	0x19b
0198 e5ff       |    |		Load	0x2,-0x1
0199 01db       |    |		Execute	Vector,Length
019a 005b       | [  |		Store_Top	Discrete,At_Offset_3
019b e5ff       |    |		Load	0x2,-0x1
019c 8215       |    |		Call	0x1,0x15
019d 00da       |    |		Load_Top	At_Offset_2
019e 01d4       |    |		Execute	Vector,Structure_Write
019f e5fe       |    |		Load	0x2,-0x2
01a0 8215       |    |		Call	0x1,0x15
01a1 00d9       |    |		Load_Top	At_Offset_1
01a2 01d4       |    |		Execute	Vector,Structure_Write
01a3 00cf       |    |		Action	Mark_Auxiliary
01a4 00db       |    |		Load_Top	At_Offset_3
01a5 4801       |H   |		Short_Literal	0x1
01a6 0263       | c  |		Execute	Discrete,Above_Bound
01a7 701b       |p   |		Jump_Nonzero	0x1c3
01a8 00d8       |    |		Load_Top	At_Offset_0
01a9 e404       |    |		Load	0x2,0x4
01aa 01d7       |    |		Execute	Vector,Field_Read
01ab 8010       |    |		Call	0x0,0x10
01ac 00d9       |    |		Load_Top	At_Offset_1
01ad e403       |    |		Load	0x2,0x3
01ae 01d7       |    |		Execute	Vector,Field_Read
01af 8010       |    |		Call	0x0,0x10
01b0 8011       |    |		Call	0x0,0x11
01b1 6802       |h   |		Jump_Zero	0x1b4
01b2 4801       |H   |		Short_Literal	0x1
01b3 4402       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x2
01b4 00d8       |    |		Load_Top	At_Offset_0
01b5 e404       |    |		Load	0x2,0x4
01b6 01d7       |    |		Execute	Vector,Field_Read
01b7 8010       |    |		Call	0x0,0x10
01b8 00d9       |    |		Load_Top	At_Offset_1
01b9 e403       |    |		Load	0x2,0x3
01ba 01d7       |    |		Execute	Vector,Field_Read
01bb 8010       |    |		Call	0x0,0x10
01bc 8007       |    |		Call	0x0,0x7
01bd 6802       |h   |		Jump_Zero	0x1c0
01be 4800       |H   |		Short_Literal	0x0
01bf 4402       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x2
01c0 0008       |    |		Action	Idle
01c1 00c8       |    |		Action	Pop_Auxiliary_Range
01c2 3fe5       |?   |		Loop_Increasing	0x1a8
01c3 00ce       |    |		Action	Pop_Auxiliary
01c4 e5ff       |    |		Load	0x2,-0x1
01c5 01db       |    |		Execute	Vector,Length
01c6 e5fe       |    |		Load	0x2,-0x2
01c7 01db       |    |		Execute	Vector,Length
01c8 027c       | |  |		Execute	Discrete,Less
01c9 4402       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x2
01ca 0000 0000  |    |		.BLANK	0000[0x6]
01d0 ; --------------------------------------------------------------------------------------
01d0 ; SUBPROGRAM
01d0 ; --------------------------------------------------------------------------------------
01d0 01ee       |    |		.CONST	0x01ee								; Address of begin
01d1 0004       |    |		.CONST	0x0004								; Address of exception handler
01d2 0004       |    |		.CONST	0x0004								; Number of locals
01d3			INIT_01d0:
01d3 00e4       |    |		Load_Encached	Positive_Cache
01d4 4801       |H   |		Short_Literal	0x1
01d5 e5ff       |    |		Load	0x2,-0x1
01d6 01db       |    |		Execute	Vector,Length
01d7 00d8       |    |		Load_Top	At_Offset_0
01d8 00e2       |    |		Load_Encached	Integer_Cache
01d9 0260       | `  |		Execute	Discrete,In_Type
01da 7001       |p   |		Jump_Nonzero	0x1dc
01db 0801       |    |		Execute_Immediate	Raise,0x1
01dc e003       |    |		Load	0x0,0x3
01dd 035b       | [  |		Declare_Type	Array,Constrained
01de 0337       | 7  |		Declare_Variable	Array
01df 00d8       |    |		Load_Top	At_Offset_0
01e0 1c00       |    |		Execute_Immediate	Run_Utility,0x0
01e1 4801       |H   |		Short_Literal	0x1
01e2 e5fe       |    |		Load	0x2,-0x2
01e3 01db       |    |		Execute	Vector,Length
01e4 00d8       |    |		Load_Top	At_Offset_0
01e5 00e2       |    |		Load_Encached	Integer_Cache
01e6 0260       | `  |		Execute	Discrete,In_Type
01e7 7001       |p   |		Jump_Nonzero	0x1e9
01e8 0801       |    |		Execute_Immediate	Raise,0x1
01e9 e003       |    |		Load	0x0,0x3
01ea 035b       | [  |		Declare_Type	Array,Constrained
01eb 0337       | 7  |		Declare_Variable	Array
01ec 00d8       |    |		Load_Top	At_Offset_0
01ed 1c00       |    |		Execute_Immediate	Run_Utility,0x0
01ee			BODY_01d0:
01ee e5ff       |    |		Load	0x2,-0x1
01ef 01db       |    |		Execute	Vector,Length
01f0 e5fe       |    |		Load	0x2,-0x2
01f1 01db       |    |		Execute	Vector,Length
01f2 027d       | }  |		Execute	Discrete,Greater
01f3 6804       |h   |		Jump_Zero	0x1f8
01f4 e5fe       |    |		Load	0x2,-0x2
01f5 01db       |    |		Execute	Vector,Length
01f6 005b       | [  |		Store_Top	Discrete,At_Offset_3
01f7 7803       |x   |		Jump	0x1fb
01f8 e5ff       |    |		Load	0x2,-0x1
01f9 01db       |    |		Execute	Vector,Length
01fa 005b       | [  |		Store_Top	Discrete,At_Offset_3
01fb e5ff       |    |		Load	0x2,-0x1
01fc 8215       |    |		Call	0x1,0x15
01fd 00da       |    |		Load_Top	At_Offset_2
01fe 01d4       |    |		Execute	Vector,Structure_Write
01ff e5fe       |    |		Load	0x2,-0x2
0200 8215       |    |		Call	0x1,0x15
0201 00d9       |    |		Load_Top	At_Offset_1
0202 01d4       |    |		Execute	Vector,Structure_Write
0203 00cf       |    |		Action	Mark_Auxiliary
0204 00db       |    |		Load_Top	At_Offset_3
0205 4801       |H   |		Short_Literal	0x1
0206 0263       | c  |		Execute	Discrete,Above_Bound
0207 701b       |p   |		Jump_Nonzero	0x223
0208 00d8       |    |		Load_Top	At_Offset_0
0209 e404       |    |		Load	0x2,0x4
020a 01d7       |    |		Execute	Vector,Field_Read
020b 8010       |    |		Call	0x0,0x10
020c 00d9       |    |		Load_Top	At_Offset_1
020d e403       |    |		Load	0x2,0x3
020e 01d7       |    |		Execute	Vector,Field_Read
020f 8010       |    |		Call	0x0,0x10
0210 8011       |    |		Call	0x0,0x11
0211 6802       |h   |		Jump_Zero	0x214
0212 4800       |H   |		Short_Literal	0x0
0213 4402       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x2
0214 00d8       |    |		Load_Top	At_Offset_0
0215 e404       |    |		Load	0x2,0x4
0216 01d7       |    |		Execute	Vector,Field_Read
0217 8010       |    |		Call	0x0,0x10
0218 00d9       |    |		Load_Top	At_Offset_1
0219 e403       |    |		Load	0x2,0x3
021a 01d7       |    |		Execute	Vector,Field_Read
021b 8010       |    |		Call	0x0,0x10
021c 8007       |    |		Call	0x0,0x7
021d 6802       |h   |		Jump_Zero	0x220
021e 4801       |H   |		Short_Literal	0x1
021f 4402       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x2
0220 0008       |    |		Action	Idle
0221 00c8       |    |		Action	Pop_Auxiliary_Range
0222 3fe5       |?   |		Loop_Increasing	0x208
0223 00ce       |    |		Action	Pop_Auxiliary
0224 e5ff       |    |		Load	0x2,-0x1
0225 01db       |    |		Execute	Vector,Length
0226 e5fe       |    |		Load	0x2,-0x2
0227 01db       |    |		Execute	Vector,Length
0228 027d       | }  |		Execute	Discrete,Greater
0229 4402       |D   |		Exit_Subprogram	With_Value,New_Top_Offset 0x2
022a 0000 0000  |    |		.BLANK	0000[0x6]
0230 ; --------------------------------------------------------------------------------------
0230 ; SUBPROGRAM
0230 ; --------------------------------------------------------------------------------------
0230 0233       | 3  |		.CONST	0x0233								; Address of begin
0231 0004       |    |		.CONST	0x0004								; Address of exception handler
0232 0001       |    |		.CONST	0x0001								; Number of locals
0233			BODY_0230:
0233			INIT_0230:
0233 4609       |F   |		Jump_Case	0xa
0234 7809       |x   |		Jump	0x23e								; case 0x0
0235 4302       |C   |		Exit_Subprogram	From_Utility,New_Top_Offset 0x2				; case 0x1
0236 7817       |x   |		Jump	0x24e								; case 0x2
0237 781a       |x   |		Jump	0x252								; case 0x3
0238 7836       |x6  |		Jump	0x26f								; case 0x4
0239 7835       |x5  |		Jump	0x26f								; case 0x5
023a 7834       |x4  |		Jump	0x26f								; case 0x6
023b 781c       |x   |		Jump	0x258								; case 0x7
023c 7824       |x$  |		Jump	0x261								; case 0x8
023d 782d       |x-  |		Jump	0x26b								; case 0x9
023e 00da       |    |		Load_Top	At_Offset_2
023f 016c       | l  |		Execute	Variant_Record,Is_Constrained
0240 7009       |p   |		Jump_Nonzero	0x24a
0241 00cf       |    |		Action	Mark_Auxiliary
0242 4800       |H   |		Short_Literal	0x0
0243 e5ff       |    |		Load	0x2,-0x1
0244 1c08       |    |		Execute_Immediate	Run_Utility,0x8
0245 00d8       |    |		Load_Top	At_Offset_0
0246 1c00       |    |		Execute_Immediate	Run_Utility,0x0
0247 c5ff       |    |		Store	0x2,-0x1
0248 00ce       |    |		Action	Pop_Auxiliary
0249 4302       |C   |		Exit_Subprogram	From_Utility,New_Top_Offset 0x2
024a 00da       |    |		Load_Top	At_Offset_2
024b 2503       |%   |		Execute	Variant_Record,Field_Reference,Indirect,Field_Number 0x3
024c 1c00       |    |		Execute_Immediate	Run_Utility,0x0
024d 4302       |C   |		Exit_Subprogram	From_Utility,New_Top_Offset 0x2
024e 4801       |H   |		Short_Literal	0x1
024f 4803       |H   |		Short_Literal	0x3
0250 0311       |    |		Declare_Type	Variant_Record,Constrained_Incomplete
0251 4201       |B   |		Exit_Subprogram	From_Utility,With_Result,New_Top_Offset 0x1
0252 e5fd       |    |		Load	0x2,-0x3
0253 00db       |    |		Load_Top	At_Offset_3
0254 1c07       |    |		Execute_Immediate	Run_Utility,0x7
0255 e5fe       |    |		Load	0x2,-0x2
0256 0306       |    |		Complete_Type	Variant_Record,By_Renaming
0257 4304       |C   |		Exit_Subprogram	From_Utility,New_Top_Offset 0x4
0258 00db       |    |		Load_Top	At_Offset_3
0259 4801       |H   |		Short_Literal	0x1
025a e5fe       |    |		Load	0x2,-0x2
025b e003       |    |		Load	0x0,0x3
025c 035b       | [  |		Declare_Type	Array,Constrained
025d 4801       |H   |		Short_Literal	0x1
025e e5ff       |    |		Load	0x2,-0x1
025f 031b       |    |		Declare_Type	Variant_Record,Constrained
0260 4202       |B   |		Exit_Subprogram	From_Utility,With_Result,New_Top_Offset 0x2
0261 00db       |    |		Load_Top	At_Offset_3
0262 00db       |    |		Load_Top	At_Offset_3
0263 02fc       |    |		Declare_Variable	Variant_Record,With_Constraint
0264 4801       |H   |		Short_Literal	0x1
0265 e5fe       |    |		Load	0x2,-0x2
0266 e003       |    |		Load	0x0,0x3
0267 0334       | 4  |		Declare_Variable	Array,With_Constraint
0268 2d03       |-   |		Execute	Variant_Record,Field_Append,Fixed,Indirect,Field_Number 0x3
0269 016a       | j  |		QQ_execute	Variant_Record,XXX
026a 4202       |B   |		Exit_Subprogram	From_Utility,With_Result,New_Top_Offset 0x2
026b 4800       |H   |		Short_Literal	0x0
026c 00db       |    |		Load_Top	At_Offset_3
026d 1c07       |    |		Execute_Immediate	Run_Utility,0x7
026e 4201       |B   |		Exit_Subprogram	From_Utility,With_Result,New_Top_Offset 0x1
026f 0869       | i  |		Execute_Immediate	Raise,0x69
0270 ; --------------------------------------------------------------------------------------
0270 ; STRING TABLE
0270 ; --------------------------------------------------------------------------------------
0270 000a       |    |		.STRTAB	0x000a->0x0275							; "Rule_instance'("
0271 0017       |    |		.STRTAB	0x0017->0x027c							; "The_Rule =>"
0272 0020       |    |		.STRTAB	0x0020->0x0282							; "The_facts =>"
0273 002a       | *  |		.STRTAB	0x002a->0x0288							; ")"
0274 0029       | )  |		.STREND 0x0029->0x0288
0275 5275 6c65  |Rule|		.STRTAB_STRINGS
0289 0000 0000  |    |		.BLANK	0000[0x7]
0290 ; --------------------------------------------------------------------------------------
0290 ; Debug Table
0290 ; --------------------------------------------------------------------------------------
0290 0004 0006  |    |		.DEBUG4	0x0004,0x0006,0xb33c,0x0000,0x0001,0x000c
0296 000b 02c6  |    |		.DBG4T	0x000b,0x02c6,0x0000,0x0000
029a 0045 02d1  | E  |		.DBG4T	0x0045,0x02d1,0x0000,0x0000
029e 0063 02dc  | c  |		.DBG4T	0x0063,0x02dc,0x0002,0x0000
02a2 00a3 02e1  |    |		.DBG4T	0x00a3,0x02e1,0x0002,0x0000
02a6 00d3 02e5  |    |		.DBG4T	0x00d3,0x02e5,0x0002,0x0000
02aa 00db 02e8  |    |		.DBG4T	0x00db,0x02e8,0x0002,0x0000
02ae 00e3 02eb  |    |		.DBG4T	0x00e3,0x02eb,0x0001,0x0000
02b2 0113 02f8  |    |		.DBG4T	0x0113,0x02f8,0x0001,0x0000
02b6 012b 02fe  | +  |		.DBG4T	0x012b,0x02fe,0x0002,0x0000
02ba 0173 0306  | s  |		.DBG4T	0x0173,0x0306,0x0002,0x0000
02be 01d3 0317  |    |		.DBG4T	0x01d3,0x0317,0x0002,0x0000
02c2 0233 0000  | 3  |		.DBG4T	0x0233,0x0000,0x0005,0x0000
02c6 ; --------------------------------------------------------------------------------------
02c6 ; Debug chain
02c6 ; --------------------------------------------------------------------------------------
02c6 0009 0000  |    |		.DBGLEN	0x0009,0x0000
02c8 000b 000c  |    |		.DBGLNO	0x000b,0x000c,0x000d,0x000f,0x0011,0x0013,0x0015,0x0017,0x0029
02d1 ; --------------------------------------------------------------------------------------
02d1 ; Debug chain
02d1 ; --------------------------------------------------------------------------------------
02d1 0009 0000  |    |		.DBGLEN	0x0009,0x0000
02d3 0045 0047  | E G|		.DBGLNO	0x0045,0x0047,0x0049,0x004b,0x004d,0x004f,0x0051,0x0053,0x0055
02dc ; --------------------------------------------------------------------------------------
02dc ; Debug chain
02dc ; --------------------------------------------------------------------------------------
02dc 0002 0001  |    |		.DBGLEN	0x0002,0x0001
02de 0063 0065  | c e|		.DBGLNO	0x0063,0x0065,0x0067
02e1 ; --------------------------------------------------------------------------------------
02e1 ; Debug chain
02e1 ; --------------------------------------------------------------------------------------
02e1 0001 0001  |    |		.DBGLEN	0x0001,0x0001
02e3 00a3 00ab  |    |		.DBGLNO	0x00a3,0x00ab
02e5 ; --------------------------------------------------------------------------------------
02e5 ; Debug chain
02e5 ; --------------------------------------------------------------------------------------
02e5 0000 0001  |    |		.DBGLEN	0x0000,0x0001
02e7 00d3       |    |		.DBGLNO	0x00d3
02e8 ; --------------------------------------------------------------------------------------
02e8 ; Debug chain
02e8 ; --------------------------------------------------------------------------------------
02e8 0000 0001  |    |		.DBGLEN	0x0000,0x0001
02ea 00db       |    |		.DBGLNO	0x00db
02eb ; --------------------------------------------------------------------------------------
02eb ; Debug chain
02eb ; --------------------------------------------------------------------------------------
02eb 0000 000b  |    |		.DBGLEN	0x0000,0x000b
02ed 00e3 00e7  |    |		.DBGLNO	0x00e3,0x00e7,0x00e9,0x00ed,0x00f1,0x00f4,0x00f8,0x00fa,0x0102,0x0104,0x0106
02f8 ; --------------------------------------------------------------------------------------
02f8 ; Debug chain
02f8 ; --------------------------------------------------------------------------------------
02f8 0001 0003  |    |		.DBGLEN	0x0001,0x0003
02fa 0113 0117  |    |		.DBGLNO	0x0113,0x0117,0x011b,0x0122
02fe ; --------------------------------------------------------------------------------------
02fe ; Debug chain
02fe ; --------------------------------------------------------------------------------------
02fe 0001 0005  |    |		.DBGLEN	0x0001,0x0005
0300 012b 013a  | + :|		.DBGLNO	0x012b,0x013a,0x0146,0x0152,0x015d,0x0167
0306 ; --------------------------------------------------------------------------------------
0306 ; Debug chain
0306 ; --------------------------------------------------------------------------------------
0306 0003 000c  |    |		.DBGLEN	0x0003,0x000c
0308 0173 0174  | s t|		.DBGLNO	0x0173,0x0174,0x0181,0x018e,0x0194,0x0198,0x019b,0x019f,0x01a4,0x01a8,0x01b2,0x01b4,0x01be,0x01c0,0x01c4
0317 ; --------------------------------------------------------------------------------------
0317 ; Debug chain
0317 ; --------------------------------------------------------------------------------------
0317 0003 000c  |    |		.DBGLEN	0x0003,0x000c
0319 01d3 01d4  |    |		.DBGLNO	0x01d3,0x01d4,0x01e1,0x01ee,0x01f4,0x01f8,0x01fb,0x01ff,0x0204,0x0208,0x0212,0x0214,0x021e,0x0220,0x0224
0328 0000 0000  |    |		.BLANK	0000[0xd8]