|
|
1.1 root 1: 1 00000000 LL0:
2: 2 00000000 .data
3: 3 00000730 * .text
4: 4 00000000 .align 1
5: 5 00000000 .globl _pipe6
6: 6 00000000 _pipe6:
7: 7 00010FC4 0000 .word L381
8: 8 00010FC6 #
9: 9 00010FC6 # #include "evt_defs.h"
10: 10 00010FC6 # #define MAX_POS 0x7fffffff;
11: 11 00010FC6 # /*
12: 12 00010FC6 # *********************************************************************
13: 13 00010FC6 # * FPP PIPELINED EVENTS TEST #6
14: 14 00010FC6 # *
15: 15 00010FC6 # * This test will execute the following code: "LDD MULD ADDL2 MULD 0"
16: 16 00010FC6 # * with an integer overflow fault on the ADDL2. We will make sure that:
17: 17 00010FC6 # * 1. The fault is detected,
18: 18 00010FC6 # * 2. the 1st multiply operation completes, and
19: 19 00010FC6 # * 3. the 2nd multiply instruction is not executed.
20: 20 00010FC6 # *
21: 21 00010FC6 # * NOTE: this instruction uses the same data as pipe2
22: 22 00010FC6 # *********************************************************************
23: 23 00010FC6 # */
24: 24 00010FC6 # pipe6()
25: 25 00010FC6 # {
26: 26 00010FC6 13 0182 jbr L383
27: 27 00010FC9 L384:
28: 28 00010FC9 # asm("moval (r13),_pre_event_fp"); /* save the frame pointer */
29: 29 00010FC9 ed 6d effffffff4 moval (r13),_pre_event_fp
30: 30 00010FD0 # asm("moval (r14),_pre_event_sp"); /* save the stack pointer */
31: 31 00010FD0 ed 6e efffffffed moval (r14),_pre_event_sp
32: 32 00010FD7 # precision = DBL;
33: 33 00010FD7 0d 02 efffffffe6 movl $2,_precision
34: 34 00010FDE # test_event = ARITH_CODE; /* expect an arithmetic fault */
35: 35 00010FDE 0d 34 efffffffdf movl $52,_test_event
36: 36 00010FE5 # exp_code = INT_OVFL_CODE; /* -specificly int overflow */
37: 37 00010FE5 0d 01 efffffffd8 movl $1,_exp_code
38: 38 00010FEC # exp_event = FALSE; /* ... but not yet */
39: 39 00010FEC 4d efffffffd2 clrl _exp_event
40: 40 00010FF2 # asm("movab _pipe6_ret,_event_return"); /* set post event return addr */
41: 41 00010FF2 e9 ef000000f3 efffffffc7 movab _pipe6_ret,_event_return
42: 42 00010FFD # dbl_value_2.m = dbl_value_2.l = 0; /* clear the 2nd MULD operand */
43: 43 00010FFD 4d efffffffc5 clrl _dbl_value_2+4
44: 44 00011003 0d efffffffbf 50 movl _dbl_value_2+4,r0
45: 45 0001100A 0d 50 efffffffb3 movl r0,_dbl_value_2
46: 46 00011011 # for( index = 0; index < max_pipe2_index; index++ )
47: 47 00011011 4d efffffffad clrl _index
48: 48 00011017 L387:
49: 49 00011017 1d efffffffa7 efffffffa2 cmpl _index,_max_pipe2_index
50: 50 00011022 91 03 13 0123 jgeq L386
51: 51 00011027 # {
52: 52 00011027 # sgl_value_1 = 0x789abcde; /* get the integer ovfl data */
53: 53 00011027 0d 8f789abcde efffffff92 movl $2023406814,_sgl_value_1
54: 54 00011032 # sgl_value_2 = MAX_POS; /* max integer (7fffffff) */
55: 55 00011032 0d 8f7fffffff efffffff87 movl $2147483647,_sgl_value_2
56: 56 0001103D # dbl_ld_acc = pipe2_data[index].op_1; /* get the data */
57: 57 0001103D 5c 18 efffffff80 50 mull3 $24,_index,r0
58: 58 00011045 0c 8f00000000 50 addl2 $_pipe2_data,r0
59: 59 0001104C 0d a004 efffffff74 movl 4(r0),_dbl_ld_acc+4
60: 60 00011054 0d 60 efffffff69 movl (r0),_dbl_ld_acc
61: 61 0001105B # dbl_value_1 = pipe2_data[index].op_2;
62: 62 0001105B 5c 18 efffffff62 50 mull3 $24,_index,r0
63: 63 00011063 0c 8f00000008 50 addl2 $_pipe2_data+8,r0
64: 64 0001106A 0d a004 efffffff56 movl 4(r0),_dbl_value_1+4
65: 65 00011072 0d 60 efffffff4b movl (r0),_dbl_value_1
66: 66 00011079 # dbl_expected = pipe2_data[index].exp;
67: 67 00011079 5c 18 efffffff44 50 mull3 $24,_index,r0
68: 68 00011081 0c 8f00000010 50 addl2 $_pipe2_data+16,r0
69: 69 00011088 0d a004 efffffff38 movl 4(r0),_dbl_expected+4
70: 70 00011090 0d 60 efffffff2d movl (r0),_dbl_expected
71: 71 00011097 # asm(".globl _pipe6_lp1");
72: 72 00011097 .globl _pipe6_lp1
73: 73 00011097 # asm("_pipe6_lp1:");
74: 74 00011097 _pipe6_lp1:
75: 75 00011097 # asm("bispsw $0x60"); /* enable ovfl,undfl */
76: 76 00011097 8b 8860 bispsw $0x60
77: 77 0001109A # asm("ldd _dbl_ld_acc"); /* load the Acc. */
78: 78 0001109A 07 efffffff24 ldd _dbl_ld_acc
79: 79 000110A0 # exp_event = test_event; /* expect event soon */
80: 80 000110A0 0d efffffff1e efffffff19 movl _test_event,_exp_event
81: 81 000110AB # asm("muld _dbl_value_1"); /* start the multiply*/
82: 82 000110AB e7 efffffff13 muld _dbl_value_1
83: 83 000110B1 # asm("addl2 _sgl_value_1,_sgl_value_2"); /* trigger the fault */
84: 84 000110B1 0c efffffff0d efffffff08 addl2 _sgl_value_1,_sgl_value_2
85: 85 000110BC # asm("muld _dbl_value_2"); /* shouldn't get here*/
86: 86 000110BC e7 efffffff02 muld _dbl_value_2
87: 87 000110C2 # /*
88: 88 000110C2 # * If we got to here then there was no event
89: 89 000110C2 # */
90: 90 000110C2 # if( force_loop )
91: 91 000110C2 5d effffffefc tstl _force_loop
92: 92 000110C8 31 03 jeql L388
93: 93 000110CA # asm("brw _pipe6_lp1");; /* loop on the error */
94: Assemb00028784 # asm("brw _pipe6_lp1");; /* loop on the error */
95: "pipe600028784 94: WARNING: brw: destination label is external
96: 94 000110CA 13 ffca brw _pipe6_lp1
97: 95 000110CD L388:
98: 96 000110CD # exp_event = FALSE; /* reset event expected flag */
99: 97 000110CD 4d effffffef1 clrl _exp_event
100: 98 000110D3 # asm("movl _pre_event_fp,fp"); /* restore the frame pointer */
101: 99 000110D3 0d effffffeeb 5d movl _pre_event_fp,fp
102: 100 000110DA # asm("movl _pre_event_sp,sp"); /* restore the stack pointer */
103: 101 000110DA 0d effffffee4 5e movl _pre_event_sp,sp
104: 102 000110E1 # asm("bicpsw $0x60"); /* disable ovfl & undfl evts */
105: 103 000110E1 9b 8860 bicpsw $0x60
106: 104 000110E4 # no_pipe6_evt();; /* report the error */
107: 105 000110E4 fe 04 ef00000063 callf $4,_no_pipe6_evt
108: 106 000110EB # /*
109: 107 000110EB # * Come here after the event
110: 108 000110EB # */
111: 109 000110EB # asm(".globl _pipe6_ret");
112: 110 000110EB .globl _pipe6_ret
113: 111 000110EB # asm("_pipe6_ret:");
114: 112 000110EB _pipe6_ret:
115: 113 000110EB # asm("movl _pre_event_fp,fp"); /* restore the frame pointer */
116: 114 000110EB 0d effffffed3 5d movl _pre_event_fp,fp
117: 115 000110F2 # asm("movl _pre_event_sp,sp"); /* restore the stack pointer */
118: 116 000110F2 0d effffffecc 5e movl _pre_event_sp,sp
119: 117 000110F9 # if( force_loop )
120: 118 000110F9 5d effffffec5 tstl _force_loop
121: 119 000110FF 31 03 jeql L390
122: 120 00011101 # asm("brw _pipe6_lp1");; /* loop on the error */
123: "pipe600028784 121: WARNING: brw: destination label is external
124: 121 00011101 13 ff93 brw _pipe6_lp1
125: 122 00011104 L390:
126: 123 00011104 # asm("bicpsw $0x60"); /* disable ovfl & undfl evts */
127: 124 00011104 9b 8860 bicpsw $0x60
128: 125 00011107 # if( (post_evt_acc.m != dbl_expected.m) ||
129: 126 00011107 # (post_evt_acc.l != dbl_expected.l) )
130: 127 00011107 1d effffffeb7 effffffeb2 cmpl _post_evt_acc,_dbl_expected
131: 128 00011112 21 0d jneq L9999
132: 129 00011114 1d effffffeae effffffea9 cmpl _post_evt_acc+4,_dbl_expected+4
133: 130 0001111F 31 20 jeql L391
134: 131 00011121 L9999:
135: 132 00011121 # {
136: 133 00011121 # if( (!post_evt_acc.m) && (!post_evt_acc.l) )
137: 134 00011121 5d effffffe9d tstl _post_evt_acc
138: 135 00011127 21 11 jneq L392
139: 136 00011129 5d effffffe99 tstl _post_evt_acc+4
140: 137 0001112F 21 09 jneq L392
141: 138 00011131 # pipe6_queue_er(); /* queue not cleared error */
142: 139 00011131 fe 04 ef00000292 callf $4,_pipe6_queue_er
143: 140 00011138 # else
144: 141 00011138 11 07 jbr L394
145: 142 0001113A L392:
146: 143 0001113A # bad_pipe6_result(); /* incorrect result error */
147: 144 0001113A fe 04 ef00000125 callf $4,_bad_pipe6_result
148: 145 00011141 L394:
149: 146 00011141 # }
150: 147 00011141 # }
151: 148 00011141 L391:
152: 149 00011141 L385:
153: 150 00011141 6d effffffe7d incl _index
154: 151 00011147 13 fecd jbr L387
155: 152 0001114A L386:
156: 153 0001114A # }
157: 154 0001114A 40 ret#2
158: 155 0001114B .set L381,0x0
159: 156 0001114B L383:
160: 157 0001114B 13 fe7b jbr L384
161: 158 0001114E .data
162: 159 00000730 * .text
163: 160 0001114E .align 1
164: 161 0001114E .globl _no_pipe6_evt
165: 162 0001114E _no_pipe6_evt:
166: 163 0001114E 0000 .word L396
167: 164 00011150 #
168: 165 00011150 #
169: 166 00011150 #
170: 167 00011150 # /****************************************************************************
171: 168 00011150 # * Report an "EVENT NOT DETECTED" error
172: 169 00011150 # *
173: 170 00011150 # * Cycle: xx. EVT test xx. subtest xx. No Integer Overflow fault. index = xx
174: 171 00011150 # * inst = LDD op1, MULD op2, ADDL2 op3,op4, MULD op5 (Int. Overflow on ADDL2)
175: 172 00011150 # * op1 = xxxxxxxx xxxxxxxx, op3 = xxxxxxxx
176: 173 00011150 # * op2 = xxxxxxxx xxxxxxxx, initial op4 = xxxxxxxx, final op4 = xxxxxxxx
177: 174 00011150 # ****************************************************************************/
178: 175 00011150 # no_pipe6_evt()
179: 176 00011150 # {
180: 177 00011150 13 010f jbr L398
181: 178 00011153 L399:
182: 179 00011153 # errcnt++; /* bump the error count */
183: 180 00011153 6d effffffe6b incl _errcnt
184: 181 00011159 # if ( prt_error )
185: 182 00011159 5d effffffe65 tstl _prt_error
186: 183 0001115F 21 03 13 00d7 jeql L400
187: 184 00011164 # {
188: 185 00011164 # print_pipe6_err( " No Integer Overflow fault." );
189: 186 00011164 .data 1
190: 187 00000730 * L402:
191: 188 00000730 * 20204E6F20496E74656765722 .ascii " No Integer Overflow fault.\0"
192: 04F766572666C6F7720666175
193: 6C742E00
194: 189 0000074d * .text
195: 190 00011164 dd 8f00000730 pushl $L402
196: 191 0001116A fe 08 ef000003bd callf $8,_print_pipe6_err
197: 192 00011171 # writes("op1 = ");
198: 193 00011171 .data 1
199: 194 0000074d * L404:
200: 195 0000074d * 6F7031203D2000 .ascii "op1 = \0"
201: 196 00000754 * .text
202: 197 00011171 dd 8f0000074d pushl $L404
203: 198 00011177 fe 08 effffffe46 callf $8,_writes
204: 199 0001117E # write32h( dbl_ld_acc.m );
205: 200 0001117E dd effffffe40 pushl _dbl_ld_acc
206: 201 00011184 fe 08 effffffe39 callf $8,_write32h
207: 202 0001118B # writes(" ");
208: 203 0001118B .data 1
209: 204 00000754 * L406:
210: 205 00000754 * 2000 .ascii " \0"
211: 206 00000756 * .text
212: 207 0001118B dd 8f00000754 pushl $L406
213: 208 00011191 fe 08 effffffe2c callf $8,_writes
214: 209 00011198 # write32h( dbl_ld_acc.l );
215: 210 00011198 dd effffffe2a pushl _dbl_ld_acc+4
216: 211 0001119E fe 08 effffffe1f callf $8,_write32h
217: 212 000111A5 # writes(", op3 = ");
218: 213 000111A5 .data 1
219: 214 00000756 * L407:
220: 215 00000756 * 2C202020202020202020206F7 .ascii ", op3 = \0"
221: 033203D2000
222: 216 00000768 * .text
223: 217 000111A5 dd 8f00000756 pushl $L407
224: 218 000111AB fe 08 effffffe12 callf $8,_writes
225: 219 000111B2 # write32h( sgl_value_1 );
226: 220 000111B2 dd effffffe0c pushl _sgl_value_1
227: 221 000111B8 fe 08 effffffe05 callf $8,_write32h
228: 222 000111BF # writes("\nop2 = ");
229: 223 000111BF .data 1
230: 224 00000768 * L408:
231: 225 00000768 * 0A6F7032203D2000 .ascii "\12op2 = \0"
232: 226 00000770 * .text
233: 227 000111BF dd 8f00000768 pushl $L408
234: 228 000111C5 fe 08 effffffdf8 callf $8,_writes
235: 229 000111CC # write32h( dbl_value_1.m );
236: 230 000111CC dd effffffdf2 pushl _dbl_value_1
237: 231 000111D2 fe 08 effffffdeb callf $8,_write32h
238: 232 000111D9 # writes(" ");
239: 233 000111D9 .data 1
240: 234 00000770 * L409:
241: 235 00000770 * 2000 .ascii " \0"
242: 236 00000772 * .text
243: 237 000111D9 dd 8f00000770 pushl $L409
244: 238 000111DF fe 08 effffffdde callf $8,_writes
245: 239 000111E6 # write32h( dbl_value_1.l );
246: 240 000111E6 dd effffffddc pushl _dbl_value_1+4
247: 241 000111EC fe 08 effffffdd1 callf $8,_write32h
248: 242 000111F3 # writes(", initial op4 = ");
249: 243 000111F3 .data 1
250: 244 00000772 * L410:
251: 245 00000772 * 2C2020696E697469616C206F7 .ascii ", initial op4 = \0"
252: 034203D2000
253: 246 00000784 * .text
254: 247 000111F3 dd 8f00000772 pushl $L410
255: 248 000111F9 fe 08 effffffdc4 callf $8,_writes
256: 249 00011200 # sgl_dummy1 = MAX_POS;
257: 250 00011200 0d 8f7fffffff effffffdb9 movl $2147483647,_sgl_dummy1
258: 251 0001120B # write32h( sgl_dummy1 );
259: 252 0001120B dd effffffdb3 pushl _sgl_dummy1
260: 253 00011211 fe 08 effffffdac callf $8,_write32h
261: 254 00011218 # writes(", final op4 = ");
262: 255 00011218 .data 1
263: 256 00000784 * L411:
264: 257 00000784 * 2C202066696E616C206F70342 .ascii ", final op4 = \0"
265: 03D2000
266: 258 00000794 * .text
267: 259 00011218 dd 8f00000784 pushl $L411
268: 260 0001121E fe 08 effffffd9f callf $8,_writes
269: 261 00011225 # write32h( sgl_value_2 );
270: 262 00011225 dd effffffd99 pushl _sgl_value_2
271: 263 0001122B fe 08 effffffd92 callf $8,_write32h
272: 264 00011232 # writec('\n');
273: 265 00011232 dd 0a pushl $10
274: 266 00011234 fe 08 effffffd89 callf $8,_writec
275: 267 0001123B # }
276: 268 0001123B # if ( halt_flg ) /* halt on error? */
277: 269 0001123B L400:
278: 270 0001123B 5d effffffd83 tstl _halt_flg
279: 271 00011241 31 09 jeql L413
280: 272 00011243 # pipe6_halt( 1 ); /* halt with a code of 1 */
281: 273 00011243 dd 01 pushl $1
282: 274 00011245 fe 08 ef0000038e callf $8,_pipe6_halt
283: 275 0001124C # if ( loop_on_err )
284: 276 0001124C L413:
285: 277 0001124C 5d effffffd72 tstl _loop_on_err
286: 278 00011252 31 0d jeql L415
287: 279 00011254 # {
288: 280 00011254 # force_loop = TRUE; /* set the force loop flag */
289: 281 00011254 0d 01 effffffd69 movl $1,_force_loop
290: 282 0001125B # asm("jmp _pipe6_lp1"); /* and loop */
291: 283 0001125B 71 effffffe36 jmp _pipe6_lp1
292: 284 00011261 # };
293: 285 00011261 L415:
294: 286 00011261 # }
295: 287 00011261 40 ret#2
296: 288 00011262 .set L396,0x0
297: 289 00011262 L398:
298: 290 00011262 13 feee jbr L399
299: 291 00011265 .data
300: 292 00000730 * .text
301: 293 00011265 00 .align 1
302: 294 00011266 .globl _bad_pipe6_result
303: 295 00011266 _bad_pipe6_result:
304: 296 00011266 0000 .word L416
305: 297 00011268 #
306: 298 00011268 #
307: 299 00011268 #
308: 300 00011268 #
309: 301 00011268 # /****************************************************************************
310: 302 00011268 # * Report an "BAD ACCUMULATOR AFTER THE EVENT" error
311: 303 00011268 # *
312: 304 00011268 # * Cycle: xx. EVT test xx. subtest xx. . Bad final Accumulator. index = xx
313: 305 00011268 # * inst = LDD op1, MULD op2, ADDL2 op3,op4, MULD op5 (Int. Overflow on ADDL2)
314: 306 00011268 # * The 2nd MULD should not be executed.
315: 307 00011268 # * op1 = xxxxxxxx xxxxxxxx, final Acc. = xxxxxxxx xxxxxxxx
316: 308 00011268 # * op2 = xxxxxxxx xxxxxxxx, expected = xxxxxxxx xxxxxxxx
317: 309 00011268 # * op5 = xxxxxxxx xxxxxxxx
318: 310 00011268 # ****************************************************************************/
319: 311 00011268 # bad_pipe6_result()
320: 312 00011268 # {
321: 313 00011268 13 015b jbr L418
322: 314 0001126B L419:
323: 315 0001126B # errcnt++; /* bump the error count */
324: 316 0001126B 6d effffffd53 incl _errcnt
325: 317 00011271 # if ( prt_error )
326: 318 00011271 5d effffffd4d tstl _prt_error
327: 319 00011277 21 03 13 0123 jeql L420
328: 320 0001127C # {
329: 321 0001127C # print_pipe6_err( ". Bad final Accumulator." );
330: 322 0001127C .data 1
331: 323 00000794 * L421:
332: 324 00000794 * 2E204261642066696E616C204 .ascii ". Bad final Accumulator.\0"
333: 16363756D756C61746F722E00
334: 325 000007ad * .text
335: 326 0001127C dd 8f00000794 pushl $L421
336: 327 00011282 fe 08 ef000002a5 callf $8,_print_pipe6_err
337: 328 00011289 # writes("The 2nd MULD should not be executed\n");
338: 329 00011289 .data 1
339: 330 000007ad * L422:
340: 331 000007ad * 54686520326E64204D554C442 .ascii "The 2nd MULD should not be executed\12\0"
341: 073686F756C64206E6F742062
342: 652065786563757465640A00
343: 332 000007d2 * .text
344: 333 00011289 dd 8f000007ad pushl $L422
345: 334 0001128F fe 08 effffffd2e callf $8,_writes
346: 335 00011296 # writes("op1 = ");
347: 336 00011296 .data 1
348: 337 000007d2 * L423:
349: 338 000007d2 * 6F7031203D2000 .ascii "op1 = \0"
350: 339 000007d9 * .text
351: 340 00011296 dd 8f000007d2 pushl $L423
352: 341 0001129C fe 08 effffffd21 callf $8,_writes
353: 342 000112A3 # write32h( dbl_ld_acc.m );
354: 343 000112A3 dd effffffd1b pushl _dbl_ld_acc
355: 344 000112A9 fe 08 effffffd14 callf $8,_write32h
356: 345 000112B0 # writes(" ");
357: 346 000112B0 .data 1
358: 347 000007d9 * L424:
359: 348 000007d9 * 2000 .ascii " \0"
360: 349 000007db * .text
361: 350 000112B0 dd 8f000007d9 pushl $L424
362: 351 000112B6 fe 08 effffffd07 callf $8,_writes
363: 352 000112BD # write32h( dbl_ld_acc.l );
364: 353 000112BD dd effffffd05 pushl _dbl_ld_acc+4
365: 354 000112C3 fe 08 effffffcfa callf $8,_write32h
366: 355 000112CA # writes(", final Acc. = ");
367: 356 000112CA .data 1
368: 357 000007db * L425:
369: 358 000007db * 2C20202066696E616C2041636 .ascii ", final Acc. = \0"
370: 32E203D2000
371: 359 000007ed * .text
372: 360 000112CA dd 8f000007db pushl $L425
373: 361 000112D0 fe 08 effffffced callf $8,_writes
374: 362 000112D7 # write32h( post_evt_acc.m );
375: 363 000112D7 dd effffffce7 pushl _post_evt_acc
376: 364 000112DD fe 08 effffffce0 callf $8,_write32h
377: 365 000112E4 # writec(' ');
378: 366 000112E4 dd 20 pushl $32
379: 367 000112E6 fe 08 effffffcd7 callf $8,_writec
380: 368 000112ED # write32h( post_evt_acc.l );
381: 369 000112ED dd effffffcd5 pushl _post_evt_acc+4
382: 370 000112F3 fe 08 effffffcca callf $8,_write32h
383: 371 000112FA # writes("\nop2 = ");
384: 372 000112FA .data 1
385: 373 000007ed * L426:
386: 374 000007ed * 0A6F7032203D2000 .ascii "\12op2 = \0"
387: 375 000007f5 * .text
388: 376 000112FA dd 8f000007ed pushl $L426
389: 377 00011300 fe 08 effffffcbd callf $8,_writes
390: 378 00011307 # write32h( dbl_value_1.m );
391: 379 00011307 dd effffffcb7 pushl _dbl_value_1
392: 380 0001130D fe 08 effffffcb0 callf $8,_write32h
393: 381 00011314 # writes(" ");
394: 382 00011314 .data 1
395: 383 000007f5 * L427:
396: 384 000007f5 * 2000 .ascii " \0"
397: 385 000007f7 * .text
398: 386 00011314 dd 8f000007f5 pushl $L427
399: 387 0001131A fe 08 effffffca3 callf $8,_writes
400: 388 00011321 # write32h( dbl_value_1.l );
401: 389 00011321 dd effffffca1 pushl _dbl_value_1+4
402: 390 00011327 fe 08 effffffc96 callf $8,_write32h
403: 391 0001132E # writes(", expected = ");
404: 392 0001132E .data 1
405: 393 000007f7 * L428:
406: 394 000007f7 * 2C20202065787065637465642 .ascii ", expected = \0"
407: 020203D2000
408: 395 00000809 * .text
409: 396 0001132E dd 8f000007f7 pushl $L428
410: 397 00011334 fe 08 effffffc89 callf $8,_writes
411: 398 0001133B # write32h( dbl_expected.m );
412: 399 0001133B dd effffffc83 pushl _dbl_expected
413: 400 00011341 fe 08 effffffc7c callf $8,_write32h
414: 401 00011348 # writes(" ");
415: 402 00011348 .data 1
416: 403 00000809 * L429:
417: 404 00000809 * 2000 .ascii " \0"
418: 405 0000080b * .text
419: 406 00011348 dd 8f00000809 pushl $L429
420: 407 0001134E fe 08 effffffc6f callf $8,_writes
421: 408 00011355 # write32h( dbl_expected.l );
422: 409 00011355 dd effffffc6d pushl _dbl_expected+4
423: 410 0001135B fe 08 effffffc62 callf $8,_write32h
424: 411 00011362 # writes("\nop5 = ");
425: 412 00011362 .data 1
426: 413 0000080b * L430:
427: 414 0000080b * 0A6F7035203D2000 .ascii "\12op5 = \0"
428: 415 00000813 * .text
429: 416 00011362 dd 8f0000080b pushl $L430
430: 417 00011368 fe 08 effffffc55 callf $8,_writes
431: 418 0001136F # write32h( dbl_value_2.m );
432: 419 0001136F dd effffffc4f pushl _dbl_value_2
433: 420 00011375 fe 08 effffffc48 callf $8,_write32h
434: 421 0001137C # writes(" ");
435: 422 0001137C .data 1
436: 423 00000813 * L431:
437: 424 00000813 * 2000 .ascii " \0"
438: 425 00000815 * .text
439: 426 0001137C dd 8f00000813 pushl $L431
440: 427 00011382 fe 08 effffffc3b callf $8,_writes
441: 428 00011389 # write32h( dbl_value_2.l );
442: 429 00011389 dd effffffc39 pushl _dbl_value_2+4
443: 430 0001138F fe 08 effffffc2e callf $8,_write32h
444: 431 00011396 # writec('\n');
445: 432 00011396 dd 0a pushl $10
446: 433 00011398 fe 08 effffffc25 callf $8,_writec
447: 434 0001139F # }
448: 435 0001139F # if ( halt_flg ) /* halt on error? */
449: 436 0001139F L420:
450: 437 0001139F 5d effffffc1f tstl _halt_flg
451: 438 000113A5 31 09 jeql L432
452: 439 000113A7 # pipe6_halt( 2 ); /* halt with a code of 2 */
453: 440 000113A7 dd 02 pushl $2
454: 441 000113A9 fe 08 ef0000022a callf $8,_pipe6_halt
455: 442 000113B0 # if ( loop_on_err )
456: 443 000113B0 L432:
457: 444 000113B0 5d effffffc0e tstl _loop_on_err
458: 445 000113B6 31 0d jeql L433
459: 446 000113B8 # {
460: 447 000113B8 # force_loop = TRUE; /* set the force loop flag */
461: 448 000113B8 0d 01 effffffc05 movl $1,_force_loop
462: 449 000113BF # asm("jmp _pipe6_lp1"); /* and loop */
463: 450 000113BF 71 effffffcd2 jmp _pipe6_lp1
464: 451 000113C5 # };
465: 452 000113C5 L433:
466: 453 000113C5 # }
467: 454 000113C5 40 ret#2
468: 455 000113C6 .set L416,0x0
469: 456 000113C6 L418:
470: 457 000113C6 13 fea2 jbr L419
471: 458 000113C9 .data
472: 459 00000730 * .text
473: 460 000113C9 00 .align 1
474: 461 000113CA .globl _pipe6_queue_er
475: 462 000113CA _pipe6_queue_er:
476: 463 000113CA 0000 .word L434
477: 464 000113CC #
478: 465 000113CC #
479: 466 000113CC #
480: 467 000113CC #
481: 468 000113CC # /****************************************************************************
482: 469 000113CC # * Report an "FPP Queue not cleared" error
483: 470 000113CC # *
484: 471 000113CC # * Cycle: xx. EVT test xx. subtest xx. . FPP queue not cleared. index = xx
485: 472 000113CC # * inst = LDD op1, MULD op2, ADDL2 op3,op4, MULD op5 (Int. Overflow on ADDL2)
486: 473 000113CC # * The 2nd MULD should not have been executed but apparently was.
487: 474 000113CC # * op1 = xxxxxxxx xxxxxxxx, final Acc. = xxxxxxxx xxxxxxxx
488: 475 000113CC # * op2 = xxxxxxxx xxxxxxxx, expected = xxxxxxxx xxxxxxxx
489: 476 000113CC # * op5 = xxxxxxxx xxxxxxxx
490: 477 000113CC # ****************************************************************************/
491: 478 000113CC # pipe6_queue_er()
492: 479 000113CC # {
493: 480 000113CC 13 015b jbr L436
494: 481 000113CF L437:
495: 482 000113CF # errcnt++; /* bump the error count */
496: 483 000113CF 6d effffffbef incl _errcnt
497: 484 000113D5 # if ( prt_error )
498: 485 000113D5 5d effffffbe9 tstl _prt_error
499: 486 000113DB 21 03 13 0123 jeql L438
500: 487 000113E0 # {
501: 488 000113E0 # print_pipe6_err( ". FPP queue not cleared." );
502: 489 000113E0 .data 1
503: 490 00000815 * L439:
504: 491 00000815 * 2E20465050207175657565206 .ascii ". FPP queue not cleared.\0"
505: E6F7420636C65617265642E00
506: 492 0000082e * .text
507: 493 000113E0 dd 8f00000815 pushl $L439
508: 494 000113E6 fe 08 ef00000141 callf $8,_print_pipe6_err
509: 495 000113ED # writes(
510: 496 000113ED # "The 2nd MULD should not have been executed but apparently was.\n");
511: 497 000113ED .data 1
512: 498 0000082e * L440:
513: 499 0000082e * 54686520326E64204D554C442 .ascii "The 2nd MULD should not have been executed but apparently was.\12\0"
514: 073686F756C64206E6F742068
515: 617665206265656E206578656
516: 3757465642062757420617070
517: 6172656E746C79207761732E0
518: A00
519: 500 0000086e * .text
520: 501 000113ED dd 8f0000082e pushl $L440
521: 502 000113F3 fe 08 effffffbca callf $8,_writes
522: 503 000113FA # writes("op1 = ");
523: 504 000113FA .data 1
524: 505 0000086e * L441:
525: 506 0000086e * 6F7031203D2000 .ascii "op1 = \0"
526: 507 00000875 * .text
527: 508 000113FA dd 8f0000086e pushl $L441
528: 509 00011400 fe 08 effffffbbd callf $8,_writes
529: 510 00011407 # write32h( dbl_ld_acc.m );
530: 511 00011407 dd effffffbb7 pushl _dbl_ld_acc
531: 512 0001140D fe 08 effffffbb0 callf $8,_write32h
532: 513 00011414 # writes(" ");
533: 514 00011414 .data 1
534: 515 00000875 * L442:
535: 516 00000875 * 2000 .ascii " \0"
536: 517 00000877 * .text
537: 518 00011414 dd 8f00000875 pushl $L442
538: 519 0001141A fe 08 effffffba3 callf $8,_writes
539: 520 00011421 # write32h( dbl_ld_acc.l );
540: 521 00011421 dd effffffba1 pushl _dbl_ld_acc+4
541: 522 00011427 fe 08 effffffb96 callf $8,_write32h
542: 523 0001142E # writes(", final Acc. = ");
543: 524 0001142E .data 1
544: 525 00000877 * L443:
545: 526 00000877 * 2C20202066696E616C2041636 .ascii ", final Acc. = \0"
546: 32E203D2000
547: 527 00000889 * .text
548: 528 0001142E dd 8f00000877 pushl $L443
549: 529 00011434 fe 08 effffffb89 callf $8,_writes
550: 530 0001143B # write32h( post_evt_acc.m );
551: 531 0001143B dd effffffb83 pushl _post_evt_acc
552: 532 00011441 fe 08 effffffb7c callf $8,_write32h
553: 533 00011448 # writec(' ');
554: 534 00011448 dd 20 pushl $32
555: 535 0001144A fe 08 effffffb73 callf $8,_writec
556: 536 00011451 # write32h( post_evt_acc.l );
557: 537 00011451 dd effffffb71 pushl _post_evt_acc+4
558: 538 00011457 fe 08 effffffb66 callf $8,_write32h
559: 539 0001145E # writes("\nop2 = ");
560: 540 0001145E .data 1
561: 541 00000889 * L444:
562: 542 00000889 * 0A6F7032203D2000 .ascii "\12op2 = \0"
563: 543 00000891 * .text
564: 544 0001145E dd 8f00000889 pushl $L444
565: 545 00011464 fe 08 effffffb59 callf $8,_writes
566: 546 0001146B # write32h( dbl_value_1.m );
567: 547 0001146B dd effffffb53 pushl _dbl_value_1
568: 548 00011471 fe 08 effffffb4c callf $8,_write32h
569: 549 00011478 # writes(" ");
570: 550 00011478 .data 1
571: 551 00000891 * L445:
572: 552 00000891 * 2000 .ascii " \0"
573: 553 00000893 * .text
574: 554 00011478 dd 8f00000891 pushl $L445
575: 555 0001147E fe 08 effffffb3f callf $8,_writes
576: 556 00011485 # write32h( dbl_value_1.l );
577: 557 00011485 dd effffffb3d pushl _dbl_value_1+4
578: 558 0001148B fe 08 effffffb32 callf $8,_write32h
579: 559 00011492 # writes(", expected = ");
580: 560 00011492 .data 1
581: 561 00000893 * L446:
582: 562 00000893 * 2C20202065787065637465642 .ascii ", expected = \0"
583: 020203D2000
584: 563 000008a5 * .text
585: 564 00011492 dd 8f00000893 pushl $L446
586: 565 00011498 fe 08 effffffb25 callf $8,_writes
587: 566 0001149F # write32h( dbl_expected.m );
588: 567 0001149F dd effffffb1f pushl _dbl_expected
589: 568 000114A5 fe 08 effffffb18 callf $8,_write32h
590: 569 000114AC # writes(" ");
591: 570 000114AC .data 1
592: 571 000008a5 * L447:
593: 572 000008a5 * 2000 .ascii " \0"
594: 573 000008a7 * .text
595: 574 000114AC dd 8f000008a5 pushl $L447
596: 575 000114B2 fe 08 effffffb0b callf $8,_writes
597: 576 000114B9 # write32h( dbl_expected.l );
598: 577 000114B9 dd effffffb09 pushl _dbl_expected+4
599: 578 000114BF fe 08 effffffafe callf $8,_write32h
600: 579 000114C6 # writes("\nop5 = ");
601: 580 000114C6 .data 1
602: 581 000008a7 * L448:
603: 582 000008a7 * 0A6F7035203D2000 .ascii "\12op5 = \0"
604: 583 000008af * .text
605: 584 000114C6 dd 8f000008a7 pushl $L448
606: 585 000114CC fe 08 effffffaf1 callf $8,_writes
607: 586 000114D3 # write32h( dbl_value_2.m );
608: 587 000114D3 dd effffffaeb pushl _dbl_value_2
609: 588 000114D9 fe 08 effffffae4 callf $8,_write32h
610: 589 000114E0 # writes(" ");
611: 590 000114E0 .data 1
612: 591 000008af * L449:
613: 592 000008af * 2000 .ascii " \0"
614: 593 000008b1 * .text
615: 594 000114E0 dd 8f000008af pushl $L449
616: 595 000114E6 fe 08 effffffad7 callf $8,_writes
617: 596 000114ED # write32h( dbl_value_2.l );
618: 597 000114ED dd effffffad5 pushl _dbl_value_2+4
619: 598 000114F3 fe 08 effffffaca callf $8,_write32h
620: 599 000114FA # writec('\n');
621: 600 000114FA dd 0a pushl $10
622: 601 000114FC fe 08 effffffac1 callf $8,_writec
623: 602 00011503 # }
624: 603 00011503 # if ( halt_flg ) /* halt on error? */
625: 604 00011503 L438:
626: 605 00011503 5d effffffabb tstl _halt_flg
627: 606 00011509 31 09 jeql L450
628: 607 0001150B # pipe6_halt( 3 ); /* halt with a code of 3 */
629: 608 0001150B dd 03 pushl $3
630: 609 0001150D fe 08 ef000000c6 callf $8,_pipe6_halt
631: 610 00011514 # if ( loop_on_err )
632: 611 00011514 L450:
633: 612 00011514 5d effffffaaa tstl _loop_on_err
634: 613 0001151A 31 0d jeql L451
635: 614 0001151C # {
636: 615 0001151C # force_loop = TRUE; /* set the force loop flag */
637: 616 0001151C 0d 01 effffffaa1 movl $1,_force_loop
638: 617 00011523 # asm("jmp _pipe6_lp1"); /* and loop */
639: 618 00011523 71 effffffb6e jmp _pipe6_lp1
640: 619 00011529 # };
641: 620 00011529 L451:
642: 621 00011529 # }
643: 622 00011529 40 ret#2
644: 623 0001152A .set L434,0x0
645: 624 0001152A L436:
646: 625 0001152A 13 fea2 jbr L437
647: 626 0001152D .data
648: 627 00000730 * .text
649: 628 0001152D 00 .align 1
650: 629 0001152E .globl _print_pipe6_err
651: 630 0001152E _print_pipe6_err:
652: 631 0001152E 0000 .word L452
653: 632 00011530 #
654: 633 00011530 #
655: 634 00011530 #
656: 635 00011530 #
657: 636 00011530 #
658: 637 00011530 # /****************************************************************************
659: 638 00011530 # * Report an error message of the form
660: 639 00011530 # *
661: 640 00011530 # * Cycle: xx. EVT test xx. subtest xx. <your message here> index = xx
662: 641 00011530 # * inst = LDD op1, MULD op2, ADDL2 op3,op4, MULD op5 (Int. Overflow on ADDL2)
663: 642 00011530 # ****************************************************************************/
664: 643 00011530 # print_pipe6_err( msg )
665: 644 00011530 # char *msg; /* pointer to error message */
666: 645 00011530 # {
667: 646 00011530 13 00a3 jbr L454
668: 647 00011533 L455:
669: 648 00011533 # if( errcnt == 1 ) /* 1st error? */
670: 649 00011533 1d effffffa8b 01 cmpl _errcnt,$1
671: 650 0001153A 21 0d jneq L456
672: 651 0001153C # writes(" \n"); /* start a new print line */
673: 652 0001153C .data 1
674: 653 000008b1 * L457:
675: 654 000008b1 * 200A00 .ascii " \12\0"
676: 655 000008b4 * .text
677: 656 0001153C dd 8f000008b1 pushl $L457
678: 657 00011542 fe 08 effffffa7b callf $8,_writes
679: 658 00011549 # writes("Cycle: ");
680: 659 00011549 L456:
681: 660 00011549 .data 1
682: 661 000008b4 * L458:
683: 662 000008b4 * 4379636C653A2000 .ascii "Cycle: \0"
684: 663 000008bc * .text
685: 664 00011549 dd 8f000008b4 pushl $L458
686: 665 0001154F fe 08 effffffa6e callf $8,_writes
687: 666 00011556 # writed( cycle );
688: 667 00011556 dd effffffa68 pushl _cycle
689: 668 0001155C fe 08 effffffa61 callf $8,_writed
690: 669 00011563 # writes(" EVT test ");
691: 670 00011563 .data 1
692: 671 000008bc * L460:
693: 672 000008bc * 202045565420746573742000 .ascii " EVT test \0"
694: 673 000008c8 * .text
695: 674 00011563 dd 8f000008bc pushl $L460
696: 675 00011569 fe 08 effffffa54 callf $8,_writes
697: 676 00011570 # writed( test_no );
698: 677 00011570 dd effffffa4e pushl _test_no
699: 678 00011576 fe 08 effffffa47 callf $8,_writed
700: 679 0001157D # writes(". subtest ");
701: 680 0001157D .data 1
702: 681 000008c8 * L461:
703: 682 000008c8 * 2E20737562746573742000 .ascii ". subtest \0"
704: 683 000008d3 * .text
705: 684 0001157D dd 8f000008c8 pushl $L461
706: 685 00011583 fe 08 effffffa3a callf $8,_writes
707: 686 0001158A # writed( subtest );
708: 687 0001158A dd effffffa34 pushl _subtest
709: 688 00011590 fe 08 effffffa2d callf $8,_writed
710: 689 00011597 # writes( msg ); /* print the error message */
711: 690 00011597 dd ad04 pushl 4(fp)
712: 691 0001159A fe 08 effffffa23 callf $8,_writes
713: 692 000115A1 # writes(" index = ");
714: 693 000115A1 .data 1
715: 694 000008d3 * L462:
716: 695 000008d3 * 20696E646578203D2000 .ascii " index = \0"
717: 696 000008dd * .text
718: 697 000115A1 dd 8f000008d3 pushl $L462
719: 698 000115A7 fe 08 effffffa16 callf $8,_writes
720: 699 000115AE # writed( index );
721: 700 000115AE dd effffffa10 pushl _index
722: 701 000115B4 fe 08 effffffa09 callf $8,_writed
723: 702 000115BB # writes("\ninst = LDD op1, MULD op2, ADDL2 op3,op4, MULD op5");
724: 703 000115BB .data 1
725: 704 000008dd * L463:
726: 705 000008dd * 0A696E7374203D204C4444206 .ascii "\12inst = LDD op1, MULD op2, ADDL2 op3,op4, MULD op5\0"
727: F70312C204D554C44206F7032
728: 2C204144444C32206F70332C6
729: F70342C204D554C44206F7035
730: 00
731: 706 00000910 * .text
732: 707 000115BB dd 8f000008dd pushl $L463
733: 708 000115C1 fe 08 effffff9fc callf $8,_writes
734: 709 000115C8 # writes(" (Integer Overflow on ADDL2)\n");
735: 710 000115C8 .data 1
736: 711 00000910 * L464:
737: 712 00000910 * 202028496E7465676572204F7 .ascii " (Integer Overflow on ADDL2)\12\0"
738: 66572666C6F77206F6E204144
739: 444C32290A00
740: 713 0000092f * .text
741: 714 000115C8 dd 8f00000910 pushl $L464
742: 715 000115CE fe 08 effffff9ef callf $8,_writes
743: 716 000115D5 # }
744: 717 000115D5 40 ret#2
745: 718 000115D6 .set L452,0x0
746: 719 000115D6 L454:
747: 720 000115D6 13 ff5a jbr L455
748: 721 000115D9 .data
749: 722 00000730 * .text
750: 723 000115D9 00 .align 1
751: 724 000115DA .globl _pipe6_halt
752: 725 000115DA _pipe6_halt:
753: 726 000115DA 0000 .word L465
754: 727 000115DC #
755: 728 000115DC #
756: 729 000115DC # /****************************************************************************
757: 730 000115DC # * Error Halt Routine
758: 731 000115DC # ****************************************************************************/
759: 732 000115DC # pipe6_halt( code )
760: 733 000115DC # int code; /* halt code to use */
761: 734 000115DC # {
762: 735 000115DC 13 0111 jbr L467
763: 736 000115DF L468:
764: 737 000115DF # err_code = code;
765: 738 000115DF 0d ad04 effffff9dd movl 4(fp),_err_code
766: 739 000115E7 # sgl_value_3 = MAX_POS; /* initial op4 data */
767: 740 000115E7 0d 8f7fffffff effffff9d2 movl $2147483647,_sgl_value_3
768: 741 000115F2 # sgl_value_4 = dbl_ld_acc.m;
769: 742 000115F2 0d effffff9cc effffff9c7 movl _dbl_ld_acc,_sgl_value_4
770: 743 000115FD # sgl_value_5 = dbl_ld_acc.l;
771: 744 000115FD 0d effffff9c5 effffff9bc movl _dbl_ld_acc+4,_sgl_value_5
772: 745 00011608 # sgl_value_6 = dbl_value_1.m;
773: 746 00011608 0d effffff9b6 effffff9b1 movl _dbl_value_1,_sgl_value_6
774: 747 00011613 # sgl_value_7 = dbl_value_1.l;
775: 748 00011613 0d effffff9af effffff9a6 movl _dbl_value_1+4,_sgl_value_7
776: 749 0001161E # asm("movl _test_no,r0"); /* r0 = test number */
777: 750 0001161E 0d effffff9a0 50 movl _test_no,r0
778: 751 00011625 # asm("movl _subtest,r1"); /* r1 = subtest number */
779: 752 00011625 0d effffff999 51 movl _subtest,r1
780: 753 0001162C # asm("movl _err_code,r2"); /* r2 = error code */
781: 754 0001162C 0d effffff992 52 movl _err_code,r2
782: 755 00011633 # asm("movl _cycle,r3"); /* r3 = cycle count */
783: 756 00011633 0d effffff98b 53 movl _cycle,r3
784: 757 0001163A # asm("movl _sgl_value_4,r4"); /* r4 = MSW of operand 1 */
785: 758 0001163A 0d effffff984 54 movl _sgl_value_4,r4
786: 759 00011641 # asm("movl _sgl_value_5,r5"); /* r5 = LSW of operand 1 */
787: 760 00011641 0d effffff97d 55 movl _sgl_value_5,r5
788: 761 00011648 # asm("movl _sgl_value_6,r6"); /* r6 = MSW of operand 2 */
789: 762 00011648 0d effffff976 56 movl _sgl_value_6,r6
790: 763 0001164F # asm("movl _sgl_value_7,r7"); /* r7 = LSW of operand 2 */
791: 764 0001164F 0d effffff96f 57 movl _sgl_value_7,r7
792: 765 00011656 # if( code == 1 ) {
793: 766 00011656 1d ad04 01 cmpl 4(fp),$1
794: 767 0001165A 21 1f jneq L469
795: 768 0001165C # asm("movl _sgl_value_1,r8"); /* r8 = operand 3 */
796: 769 0001165C 0d effffff962 58 movl _sgl_value_1,r8
797: 770 00011663 # asm("movl _sgl_value_3,r9"); /* r9 = operand 2, initial */
798: 771 00011663 0d effffff95b 59 movl _sgl_value_3,r9
799: 772 0001166A # asm("movl _sgl_value_2,r10"); /* r10 = operand 2, final */
800: 773 0001166A 0d effffff954 5a movl _sgl_value_2,r10
801: 774 00011671 # asm("movl _index,r11"); /* r11 = data index */
802: 775 00011671 0d effffff94d 5b movl _index,r11
803: 776 00011678 # asm("halt"); /* HALT ... */
804: 777 00011678 00 halt
805: 778 00011679 # } else {
806: 779 00011679 11 73 jbr L470
807: 780 0001167B L469:
808: 781 0001167B # sgl_value_1 = post_evt_acc.m;
809: 782 0001167B 0d effffff943 effffff93e movl _post_evt_acc,_sgl_value_1
810: 783 00011686 # sgl_value_2 = post_evt_acc.l;
811: 784 00011686 0d effffff93c effffff933 movl _post_evt_acc+4,_sgl_value_2
812: 785 00011691 # sgl_value_3 = dbl_expected.m;
813: 786 00011691 0d effffff92d effffff928 movl _dbl_expected,_sgl_value_3
814: 787 0001169C # sgl_value_4 = dbl_expected.l;
815: 788 0001169C 0d effffff926 effffff91d movl _dbl_expected+4,_sgl_value_4
816: 789 000116A7 # sgl_value_5 = dbl_value_2.m;
817: 790 000116A7 0d effffff917 effffff912 movl _dbl_value_2,_sgl_value_5
818: 791 000116B2 # sgl_value_6 = dbl_value_2.l;
819: 792 000116B2 0d effffff910 effffff907 movl _dbl_value_2+4,_sgl_value_6
820: 793 000116BD # asm("movl _sgl_value_1,r8"); /* r8 = MSW of final acc. */
821: 794 000116BD 0d effffff901 58 movl _sgl_value_1,r8
822: 795 000116C4 # asm("movl _sgl_value_2,r9"); /* r9 = LSW of final acc. */
823: 796 000116C4 0d effffff8fa 59 movl _sgl_value_2,r9
824: 797 000116CB # asm("movl _sgl_value_3,r10"); /* r10 = MSW of expected */
825: 798 000116CB 0d effffff8f3 5a movl _sgl_value_3,r10
826: 799 000116D2 # asm("movl _sgl_value_4,r11"); /* r11 = LSW of expected */
827: 800 000116D2 0d effffff8ec 5b movl _sgl_value_4,r11
828: 801 000116D9 # asm("movl _sgl_value_5,r12"); /* r12 = MSW of 2nd MULD op */
829: 802 000116D9 0d effffff8e5 5c movl _sgl_value_5,r12
830: 803 000116E0 # asm("movl _sgl_value_6,r13"); /* r13 = LSW of 2nd MULD op */
831: 804 000116E0 0d effffff8de 5d movl _sgl_value_6,r13
832: 805 000116E7 # asm("movl _index,r14"); /* r14 = data index */
833: 806 000116E7 0d effffff8d7 5e movl _index,r14
834: 807 000116EE # }
835: 808 000116EE L470:
836: 809 000116EE # asm("halt"); /* HALT ... */
837: 810 000116EE 00 halt
838: 811 000116EF # }
839: 812 000116EF 40 ret#2
840: 813 000116F0 .set L465,0x0
841: 814 000116F0 L467:
842: 815 000116F0 13 feec jbr L468
843: 816 000116F3 .data
844: 816 000226B7 .data
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.