|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 1024 (0x400)
Notes: 00_class, 5800_R1K_CODE, 74_tag, ELAB_segment_table, NULL, R1k_Segment, seg_0bf8df
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
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 01c8 | | .CONST 0x01c8 ; Offset of debug table
0004 0100 | | .CONST 0x0100 ; Default exception handler - raise instruction
0005 00bb | | .CONST 0x00bb ; Module termination instruction - signal completion
0006 01bc | | .CONST 0x01bc ; Offset to segment table (only in elab segments)
0007 8000 | | .CONST 0x8000 ; 0, wired, #pages in seg - 1)
0008 ; --------------------------------------------------------------------------------------
0008 ; SUBPROGRAM
0008 ; --------------------------------------------------------------------------------------
0008 000e | | .CONST 0x000e ; Address of begin
0009 0004 | | .CONST 0x0004 ; Address of exception handler
000a 0001 | | .CONST 0x0001 ; Number of locals
000b INIT_0008:
000b 029c 0013 | | Declare_Subprogram For_Outer_Call,Visible,INIT_0010
000d 00bf | | Action Accept_Activation
000e BODY_0008:
000e 00bc | | Action Signal_Activated
000f 00bb | | Action Signal_Completion
0010 ; --------------------------------------------------------------------------------------
0010 ; SUBPROGRAM
0010 ; --------------------------------------------------------------------------------------
0010 0015 | | .CONST 0x0015 ; Address of begin
0011 001a | | .CONST 0x001a ; Address of exception handler
0012 0002 | | .CONST 0x0002 ; Number of locals
0013 INIT_0010:
0013 029f 0023 | #| Declare_Subprogram For_Call,INIT_0020
0015 BODY_0010:
0015 8402 | | Call 0x2,0x2
0016 7801 |x | Jump 0x18
0017 0003 | | .XXX[0x1]
0018 006f | o | Action Break_Unconditional
0019 4505 |E | Exit_Subprogram 0x5
001a TRAP_0010:
001a 7801 |x | Jump 0x1c
001b 0003 | | .XXX[0x1]
001c 006f | o | Action Break_Unconditional
001d 00d8 | | Load_Top At_Offset_0
001e 0100 | | Execute Exception,Raise
001f 0000 | | .XXX[0x1]
0020 ; --------------------------------------------------------------------------------------
0020 ; SUBPROGRAM
0020 ; --------------------------------------------------------------------------------------
0020 0146 | F | .CONST 0x0146 ; Address of begin
0021 0004 | | .CONST 0x0004 ; Address of exception handler
0022 0019 | | .CONST 0x0019 ; Number of locals
0023 INIT_0020:
0023 7801 |x | Jump 0x25
0024 0002 | | .XXX[0x1]
0025 006f | o | Action Break_Unconditional
0026 7918 |y | Jump 0x13f
0027 4800 |H | Short_Literal 0x0
0028 618f |a | Indirect_Literal Discrete,0x1b8,{0x0053210a, 0x000000b0}
0029 02a0 | | Declare_Subprogram Null_Subprogram
002a 038e | | Declare_Type Package,Defined
002b 0387 | | Declare_Variable Package
002c 00d8 | | Load_Top At_Offset_0
002d 190d | | Execute Package,Field_Reference,Field_Number 0xd
002e 6185 |a | Indirect_Literal Discrete,0x1b4,{0x00000000, 0x001a9404}
002f e002 | | Load 0x0,0x2
0030 e001 | | Load 0x0,0x1
0031 1835 | 5 | Execute Package,Field_Execute,Field_Number 0x35
0032 617d |a} | Indirect_Literal Discrete,0x1b0,{0x00000000, 0x000c9004}
0033 e002 | | Load 0x0,0x2
0034 e001 | | Load 0x0,0x1
0035 1835 | 5 | Execute Package,Field_Execute,Field_Number 0x35
0036 6175 |au | Indirect_Literal Discrete,0x1ac,{0x00000000, 0x00324804}
0037 e002 | | Load 0x0,0x2
0038 e001 | | Load 0x0,0x1
0039 1835 | 5 | Execute Package,Field_Execute,Field_Number 0x35
003a 616d |am | Indirect_Literal Discrete,0x1a8,{0x00000000, 0x001aa804}
003b e002 | | Load 0x0,0x2
003c e001 | | Load 0x0,0x1
003d 1835 | 5 | Execute Package,Field_Execute,Field_Number 0x35
003e 6165 |ae | Indirect_Literal Discrete,0x1a4,{0x00000000, 0x000e1804}
003f e002 | | Load 0x0,0x2
0040 e001 | | Load 0x0,0x1
0041 1835 | 5 | Execute Package,Field_Execute,Field_Number 0x35
0042 615d |a] | Indirect_Literal Discrete,0x1a0,{0x00000000, 0x003e8804}
0043 e002 | | Load 0x0,0x2
0044 e001 | | Load 0x0,0x1
0045 1835 | 5 | Execute Package,Field_Execute,Field_Number 0x35
0046 6155 |aU | Indirect_Literal Discrete,0x19c,{0x00000000, 0x00010804}
0047 e002 | | Load 0x0,0x2
0048 e001 | | Load 0x0,0x1
0049 1835 | 5 | Execute Package,Field_Execute,Field_Number 0x35
004a 4809 |H | Short_Literal 0x9
004b 614c |aL | Indirect_Literal Discrete,0x198,{0x00530d0a, 0x000000b0}
004c 02a0 | | Declare_Subprogram Null_Subprogram
004d 038c | | Declare_Type Package,Defined,Not_Elaborated
004e 4801 |H | Short_Literal 0x1
004f 4800 |H | Short_Literal 0x0
0050 00e5 | | Load_Encached Long_Integer_Cache
0051 02a0 | | Declare_Subprogram Null_Subprogram
0052 4801 |H | Short_Literal 0x1
0053 035d | ] | Declare_Type Array,Defined
0054 0337 | 7 | Declare_Variable Array
0055 e607 | | Load 0x3,0x7
0056 4802 |H | Short_Literal 0x2
0057 00db | | Load_Top At_Offset_3
0058 020e | | Execute Module,Augment_Imports
0059 613a |a: | Indirect_Literal Discrete,0x194,{0x00000000, 0x003d6404}
005a e002 | | Load 0x0,0x2
005b e001 | | Load 0x0,0x1
005c 1835 | 5 | Execute Package,Field_Execute,Field_Number 0x35
005d 6132 |a2 | Indirect_Literal Discrete,0x190,{0x00000000, 0x0004bc04}
005e e002 | | Load 0x0,0x2
005f e001 | | Load 0x0,0x1
0060 1835 | 5 | Execute Package,Field_Execute,Field_Number 0x35
0061 e609 | | Load 0x3,0x9
0062 6129 |a) | Indirect_Literal Discrete,0x18c,{0x00000001, 0x00020b8f}
0063 4806 |H | Short_Literal 0x6
0064 6127 |a' | Indirect_Literal Discrete,0x18c,{0x00000001, 0x00020b8f}
0065 4805 |H | Short_Literal 0x5
0066 6125 |a% | Indirect_Literal Discrete,0x18c,{0x00000001, 0x00020b8f}
0067 4804 |H | Short_Literal 0x4
0068 6123 |a# | Indirect_Literal Discrete,0x18c,{0x00000001, 0x00020b8f}
0069 4803 |H | Short_Literal 0x3
006a 6121 |a! | Indirect_Literal Discrete,0x18c,{0x00000001, 0x00020b8f}
006b 4802 |H | Short_Literal 0x2
006c 611f |a | Indirect_Literal Discrete,0x18c,{0x00000001, 0x00020b8f}
006d 4801 |H | Short_Literal 0x1
006e e60d | | Load 0x3,0xd
006f e608 | | Load 0x3,0x8
0070 e60c | | Load 0x3,0xc
0071 4810 |H | Short_Literal 0x10
0072 e60b | | Load 0x3,0xb
0073 020e | | Execute Module,Augment_Imports
0074 00da | | Load_Top At_Offset_2
0075 020d | | Execute Module,Elaborate
0076 4800 |H | Short_Literal 0x0
0077 6110 |a | Indirect_Literal Discrete,0x188,{0x0053110a, 0x000000b0}
0078 02a0 | | Declare_Subprogram Null_Subprogram
0079 038e | | Declare_Type Package,Defined
007a 4801 |H | Short_Literal 0x1
007b 4800 |H | Short_Literal 0x0
007c 00e5 | | Load_Encached Long_Integer_Cache
007d 02a0 | | Declare_Subprogram Null_Subprogram
007e 4801 |H | Short_Literal 0x1
007f 035d | ] | Declare_Type Array,Defined
0080 0337 | 7 | Declare_Variable Array
0081 4801 |H | Short_Literal 0x1
0082 4800 |H | Short_Literal 0x0
0083 e609 | | Load 0x3,0x9
0084 e60b | | Load 0x3,0xb
0085 4805 |H | Short_Literal 0x5
0086 e60e | | Load 0x3,0xe
0087 020e | | Execute Module,Augment_Imports
0088 0387 | | Declare_Variable Package
0089 60fa |` | Indirect_Literal Discrete,0x184,{0x00000000, 0x00118404}
008a e002 | | Load 0x0,0x2
008b e001 | | Load 0x0,0x1
008c 1835 | 5 | Execute Package,Field_Execute,Field_Number 0x35
008d 60f2 |` | Indirect_Literal Discrete,0x180,{0x00000000, 0x000e5004}
008e e002 | | Load 0x0,0x2
008f e001 | | Load 0x0,0x1
0090 1835 | 5 | Execute Package,Field_Execute,Field_Number 0x35
0091 60ea |` | Indirect_Literal Discrete,0x17c,{0x00000000, 0x000e3804}
0092 e002 | | Load 0x0,0x2
0093 e001 | | Load 0x0,0x1
0094 1835 | 5 | Execute Package,Field_Execute,Field_Number 0x35
0095 e607 | | Load 0x3,0x7
0096 00d9 | | Load_Top At_Offset_1
0097 00db | | Load_Top At_Offset_3
0098 e60f | | Load 0x3,0xf
0099 e604 | | Load 0x3,0x4
009a e608 | | Load 0x3,0x8
009b 4806 |H | Short_Literal 0x6
009c e60e | | Load 0x3,0xe
009d 020e | | Execute Module,Augment_Imports
009e 00db | | Load_Top At_Offset_3
009f 020f | | Execute Module,Activate
00a0 60d7 |` | Indirect_Literal Discrete,0x178,{0x00000000, 0x00324c04}
00a1 e002 | | Load 0x0,0x2
00a2 e001 | | Load 0x0,0x1
00a3 1835 | 5 | Execute Package,Field_Execute,Field_Number 0x35
00a4 4803 |H | Short_Literal 0x3
00a5 60ce |` | Indirect_Literal Discrete,0x174,{0x0053150a, 0x000000b0}
00a6 02a0 | | Declare_Subprogram Null_Subprogram
00a7 038c | | Declare_Type Package,Defined,Not_Elaborated
00a8 4801 |H | Short_Literal 0x1
00a9 4800 |H | Short_Literal 0x0
00aa 00e5 | | Load_Encached Long_Integer_Cache
00ab 02a0 | | Declare_Subprogram Null_Subprogram
00ac 4801 |H | Short_Literal 0x1
00ad 035d | ] | Declare_Type Array,Defined
00ae 0337 | 7 | Declare_Variable Array
00af 4801 |H | Short_Literal 0x1
00b0 00da | | Load_Top At_Offset_2
00b1 020e | | Execute Module,Augment_Imports
00b2 60bd |` | Indirect_Literal Discrete,0x170,{0x00000000, 0x003b6804}
00b3 e002 | | Load 0x0,0x2
00b4 e001 | | Load 0x0,0x1
00b5 1835 | 5 | Execute Package,Field_Execute,Field_Number 0x35
00b6 60b5 |` | Indirect_Literal Discrete,0x16c,{0x00000000, 0x003e9404}
00b7 e002 | | Load 0x0,0x2
00b8 e001 | | Load 0x0,0x1
00b9 1835 | 5 | Execute Package,Field_Execute,Field_Number 0x35
00ba 60ad |` | Indirect_Literal Discrete,0x168,{0x00000000, 0x00273004}
00bb e002 | | Load 0x0,0x2
00bc e001 | | Load 0x0,0x1
00bd 1835 | 5 | Execute Package,Field_Execute,Field_Number 0x35
00be 60a5 |` | Indirect_Literal Discrete,0x164,{0x00000000, 0x00373c04}
00bf e002 | | Load 0x0,0x2
00c0 e001 | | Load 0x0,0x1
00c1 1835 | 5 | Execute Package,Field_Execute,Field_Number 0x35
00c2 00da | | Load_Top At_Offset_2
00c3 e607 | | Load 0x3,0x7
00c4 e609 | | Load 0x3,0x9
00c5 609a |` | Indirect_Literal Discrete,0x160,{0x00000001, 0x00020b9a}
00c6 4802 |H | Short_Literal 0x2
00c7 6098 |` | Indirect_Literal Discrete,0x160,{0x00000001, 0x00020b9a}
00c8 4801 |H | Short_Literal 0x1
00c9 e617 | | Load 0x3,0x17
00ca e616 | | Load 0x3,0x16
00cb e604 | | Load 0x3,0x4
00cc e60d | | Load 0x3,0xd
00cd e614 | | Load 0x3,0x14
00ce e60f | | Load 0x3,0xf
00cf e608 | | Load 0x3,0x8
00d0 480e |H | Short_Literal 0xe
00d1 e613 | | Load 0x3,0x13
00d2 020e | | Execute Module,Augment_Imports
00d3 e613 | | Load 0x3,0x13
00d4 020d | | Execute Module,Elaborate
00d5 4803 |H | Short_Literal 0x3
00d6 6085 |` | Indirect_Literal Discrete,0x15c,{0x0053190a, 0x000000b0}
00d7 02a0 | | Declare_Subprogram Null_Subprogram
00d8 038c | | Declare_Type Package,Defined,Not_Elaborated
00d9 4801 |H | Short_Literal 0x1
00da 4800 |H | Short_Literal 0x0
00db 00e5 | | Load_Encached Long_Integer_Cache
00dc 02a0 | | Declare_Subprogram Null_Subprogram
00dd 4801 |H | Short_Literal 0x1
00de 035d | ] | Declare_Type Array,Defined
00df 0337 | 7 | Declare_Variable Array
00e0 4800 |H | Short_Literal 0x0
00e1 e613 | | Load 0x3,0x13
00e2 4800 |H | Short_Literal 0x0
00e3 4820 |H | Short_Literal 0x20
00e4 e60b | | Load 0x3,0xb
00e5 4806 |H | Short_Literal 0x6
00e6 e618 | | Load 0x3,0x18
00e7 020e | | Execute Module,Augment_Imports
00e8 e607 | | Load 0x3,0x7
00e9 4810 |H | Short_Literal 0x10
00ea 4817 |H | Short_Literal 0x17
00eb 4815 |H | Short_Literal 0x15
00ec 481d |H | Short_Literal 0x1d
00ed 4816 |H | Short_Literal 0x16
00ee 481e |H | Short_Literal 0x1e
00ef 481f |H | Short_Literal 0x1f
00f0 e609 | | Load 0x3,0x9
00f1 e610 | | Load 0x3,0x10
00f2 480a |H | Short_Literal 0xa
00f3 e618 | | Load 0x3,0x18
00f4 020e | | Execute Module,Augment_Imports
00f5 00d8 | | Load_Top At_Offset_0
00f6 020d | | Execute Module,Elaborate
00f7 6060 |`` | Indirect_Literal Discrete,0x158,{0x00000000, 0x003d2804}
00f8 e002 | | Load 0x0,0x2
00f9 e001 | | Load 0x0,0x1
00fa 1835 | 5 | Execute Package,Field_Execute,Field_Number 0x35
00fb 190d | | Execute Package,Field_Reference,Field_Number 0xd
00fc 4801 |H | Short_Literal 0x1
00fd 4800 |H | Short_Literal 0x0
00fe 00e5 | | Load_Encached Long_Integer_Cache
00ff 02a0 | | Declare_Subprogram Null_Subprogram
0100 4801 |H | Short_Literal 0x1
0101 035d | ] | Declare_Type Array,Defined
0102 0337 | 7 | Declare_Variable Array
0103 4801 |H | Short_Literal 0x1
0104 4800 |H | Short_Literal 0x0
0105 e618 | | Load 0x3,0x18
0106 4820 |H | Short_Literal 0x20
0107 4810 |H | Short_Literal 0x10
0108 481a |H | Short_Literal 0x1a
0109 481d |H | Short_Literal 0x1d
010a 4817 |H | Short_Literal 0x17
010b e607 | | Load 0x3,0x7
010c e60e | | Load 0x3,0xe
010d 1b13 | | Execute Package,Field_Read,Field_Number 0x13
010e 1b1d | | Execute Package,Field_Read,Field_Number 0x1d
010f 1b1a | | Execute Package,Field_Read,Field_Number 0x1a
0110 4825 |H% | Short_Literal 0x25
0111 e60e | | Load 0x3,0xe
0112 1b13 | | Execute Package,Field_Read,Field_Number 0x13
0113 1b25 | % | Execute Package,Field_Read,Field_Number 0x25
0114 603f |`? | Indirect_Literal Discrete,0x154,{0x00000001, 0x00020b71}
0115 4802 |H | Short_Literal 0x2
0116 e619 | | Load 0x3,0x19
0117 603c |`< | Indirect_Literal Discrete,0x154,{0x00000001, 0x00020b71}
0118 4801 |H | Short_Literal 0x1
0119 e604 | | Load 0x3,0x4
011a 4811 |H | Short_Literal 0x11
011b 4812 |H | Short_Literal 0x12
011c e612 | | Load 0x3,0x12
011d e606 | | Load 0x3,0x6
011e e60d | | Load 0x3,0xd
011f e608 | | Load 0x3,0x8
0120 4815 |H | Short_Literal 0x15
0121 481a |H | Short_Literal 0x1a
0122 480d |H | Short_Literal 0xd
0123 4813 |H | Short_Literal 0x13
0124 4814 |H | Short_Literal 0x14
0125 481b |H | Short_Literal 0x1b
0126 4810 |H | Short_Literal 0x10
0127 4816 |H | Short_Literal 0x16
0128 e611 | | Load 0x3,0x11
0129 e60e | | Load 0x3,0xe
012a 1b13 | | Execute Package,Field_Read,Field_Number 0x13
012b 1b1d | | Execute Package,Field_Read,Field_Number 0x1d
012c 190d | | Execute Package,Field_Reference,Field_Number 0xd
012d e60e | | Load 0x3,0xe
012e 1b13 | | Execute Package,Field_Read,Field_Number 0x13
012f 1b1d | | Execute Package,Field_Read,Field_Number 0x1d
0130 1913 | | Execute Package,Field_Reference,Field_Number 0x13
0131 e60e | | Load 0x3,0xe
0132 1b13 | | Execute Package,Field_Read,Field_Number 0x13
0133 1b1d | | Execute Package,Field_Read,Field_Number 0x1d
0134 1914 | | Execute Package,Field_Reference,Field_Number 0x14
0135 e60e | | Load 0x3,0xe
0136 1b13 | | Execute Package,Field_Read,Field_Number 0x13
0137 1b1d | | Execute Package,Field_Read,Field_Number 0x1d
0138 1910 | | Execute Package,Field_Reference,Field_Number 0x10
0139 4826 |H& | Short_Literal 0x26
013a e602 | | Load 0x3,0x2
013b 020e | | Execute Module,Augment_Imports
013c e602 | | Load 0x3,0x2
013d 020f | | Execute Module,Activate
013e 7807 |x | Jump BODY_0020
013f 6010 |` | Indirect_Literal Discrete,0x150,{0x00000000, 0x00001f40}
0140 600b |` | Indirect_Literal Discrete,0x14c,{0x00000000, 0x00190c04}
0141 e002 | | Load 0x0,0x2
0142 e001 | | Load 0x0,0x1
0143 1835 | 5 | Execute Package,Field_Execute,Field_Number 0x35
0144 180d | | Execute Package,Field_Execute,Field_Number 0xd
0145 7ee1 |~ | Jump 0x27
0146 BODY_0020:
0146 e5fc | | Load 0x2,-0x4
0147 e5fd | | Load 0x2,-0x3
0148 e5fe | | Load 0x2,-0x2
0149 e5ff | | Load 0x2,-0x1
014a 8603 | | Call 0x3,0x3
014b 4501 |E | Exit_Subprogram 0x1
014c 0000 0000 | | .LITERAL {0x00000000, 0x00190c04}
0150 0000 0000 | | .LITERAL {0x00000000, 0x00001f40}
0154 0000 0001 | | .LITERAL {0x00000001, 0x00020b71}
0158 0000 0000 | | .LITERAL {0x00000000, 0x003d2804}
015c 0053 190a | S | .LITERAL {0x0053190a, 0x000000b0}
0160 0000 0001 | | .LITERAL {0x00000001, 0x00020b9a}
0164 0000 0000 | | .LITERAL {0x00000000, 0x00373c04}
0168 0000 0000 | | .LITERAL {0x00000000, 0x00273004}
016c 0000 0000 | | .LITERAL {0x00000000, 0x003e9404}
0170 0000 0000 | | .LITERAL {0x00000000, 0x003b6804}
0174 0053 150a | S | .LITERAL {0x0053150a, 0x000000b0}
0178 0000 0000 | | .LITERAL {0x00000000, 0x00324c04}
017c 0000 0000 | | .LITERAL {0x00000000, 0x000e3804}
0180 0000 0000 | | .LITERAL {0x00000000, 0x000e5004}
0184 0000 0000 | | .LITERAL {0x00000000, 0x00118404}
0188 0053 110a | S | .LITERAL {0x0053110a, 0x000000b0}
018c 0000 0001 | | .LITERAL {0x00000001, 0x00020b8f}
0190 0000 0000 | | .LITERAL {0x00000000, 0x0004bc04}
0194 0000 0000 | | .LITERAL {0x00000000, 0x003d6404}
0198 0053 0d0a | S | .LITERAL {0x00530d0a, 0x000000b0}
019c 0000 0000 | | .LITERAL {0x00000000, 0x00010804}
01a0 0000 0000 | | .LITERAL {0x00000000, 0x003e8804}
01a4 0000 0000 | | .LITERAL {0x00000000, 0x000e1804}
01a8 0000 0000 | | .LITERAL {0x00000000, 0x001aa804}
01ac 0000 0000 | | .LITERAL {0x00000000, 0x00324804}
01b0 0000 0000 | | .LITERAL {0x00000000, 0x000c9004}
01b4 0000 0000 | | .LITERAL {0x00000000, 0x001a9404}
01b8 0053 210a | S! | .LITERAL {0x0053210a, 0x000000b0}
01bc ; --------------------------------------------------------------------------------------
01bc ; Segment Table
01bc ; --------------------------------------------------------------------------------------
01bc 0028 004b | ( K| .XXX[0x5]
01be 0077 00a5 | w |
01c0 00d6 | |
01c1 0000 0000 | | .BLANK 0000[0x7]
01c8 ; --------------------------------------------------------------------------------------
01c8 ; Debug Table
01c8 ; --------------------------------------------------------------------------------------
01c8 0004 0002 | | .DEBUG4 0x0004,0x0002,0x0b71,0x0000,0x0001,0x0000
01ce 0000 0001 | | .XXX[0x32]
01d0 be58 5800 | XX |
01d2 1ae9 0000 | |
01d4 0000 1c39 | 9|
01d6 8590 01b3 | |
01d8 9000 0000 | |
01da 01c8 d85a | Z|
01dc 001b 8900 | |
01de 0000 001c | |
01e0 e185 b001 | |
01e2 bd90 0000 | |
01e4 0001 d358 | X|
01e6 5c00 1c29 |\ )|
01e8 0000 0000 | |
01ea 1d89 85d0 | |
01ec 01c7 9000 | |
01ee 0000 01dd | |
01f0 d85e 001c | ^ |
01f2 c900 0000 | |
01f4 001e 3185 | 1 |
01f6 f001 d190 | |
01f8 0000 0001 | |
01fa e858 6000 | X` |
01fc 1d69 0000 | i |
01fe 0000 1ed9 | |