|
|
1.1 ! root 1: 1 00000000 LL0: ! 2: 2 00000000 .data ! 3: 3 0000037c * .text ! 4: 4 00000000 .align 1 ! 5: 5 00000000 .globl _pipe_19 ! 6: 6 00000000 _pipe_19: ! 7: 7 00032EE8 0000 .word L215 ! 8: 8 00032EEA # ! 9: 9 00032EEA # #include "fpp_defs.h" ! 10: 10 00032EEA # ! 11: 11 00032EEA # ! 12: 12 00032EEA # /***************************************************************************** ! 13: 13 00032EEA # * ! 14: 14 00032EEA # * PIPELINE TEST #19 ! 15: 15 00032EEA # * ! 16: 16 00032EEA # * LDD(op1), MULD(op2), STD op3, SUBD op3, STD ! 17: 17 00032EEA # * ! 18: 18 00032EEA # * -where the operands are the fmacro1 MULD data patterns. The SUBD operand ! 19: 19 00032EEA # * is the stored result of the MULD. ! 20: 20 00032EEA # * -If the 1st STD isn't completed before the SUBD data is fetched then we ! 21: 21 00032EEA # * won't get a final accumulator of zero. ! 22: 22 00032EEA # *****************************************************************************/ ! 23: 23 00032EEA # pipe_19() ! 24: 24 00032EEA # { ! 25: 25 00032EEA 13 0117 jbr L217 ! 26: 26 00032EED L218: ! 27: 27 00032EED # asm(".globl _pipeline_19_t"); ! 28: 28 00032EED .globl _pipeline_19_t ! 29: 29 00032EED # asm("_pipeline_19_t:"); ! 30: 30 00032EED _pipeline_19_t: ! 31: 31 00032EED # if( (cycle == 1) && (prt_hdrs) ) /* print headers on 1st cycle */ ! 32: 32 00032EED 1d effffffff5 01 cmpl _cycle,$1 ! 33: 33 00032EF4 21 15 jneq L219 ! 34: 34 00032EF6 5d efffffffec tstl _prt_hdrs ! 35: 35 00032EFC 31 0d jeql L219 ! 36: 36 00032EFE # writes(" PIPE_19"); ! 37: 37 00032EFE .data 1 ! 38: 38 0000037c * L221: ! 39: 39 0000037c * 20504950455F313900 .ascii " PIPE_19\0" ! 40: 40 00000385 * .text ! 41: 41 00032EFE dd 8f0000037c pushl $L221 ! 42: 42 00032F04 fe 08 efffffffdd callf $8,_writes ! 43: 43 00032F0B # force_loop = FALSE; /* clear force_loop flag */ ! 44: 44 00032F0B L219: ! 45: 45 00032F0B 4d efffffffd7 clrl _force_loop ! 46: 46 00032F11 # for( index = 0; index <= max_muld_1_index; index++ ) { ! 47: 47 00032F11 4d efffffffd1 clrl _index ! 48: 48 00032F17 L224: ! 49: 49 00032F17 1d efffffffcb efffffffc6 cmpl _index,_max_muld_1_index ! 50: 50 00032F22 51 03 13 00d6 jgtr L223 ! 51: 51 00032F27 # dbl_value_1 = muld_1_data[index].op_1; /* get the data */ ! 52: 52 00032F27 5c 18 efffffffba 50 mull3 $24,_index,r0 ! 53: 53 00032F2F 0c 8f00000000 50 addl2 $_muld_1_data,r0 ! 54: 54 00032F36 0d a004 efffffffae movl 4(r0),_dbl_value_1+4 ! 55: 55 00032F3E 0d 60 efffffffa3 movl (r0),_dbl_value_1 ! 56: 56 00032F45 # dbl_value_2 = muld_1_data[index].op_2; /* operands */ ! 57: 57 00032F45 5c 18 efffffff9c 50 mull3 $24,_index,r0 ! 58: 58 00032F4D 0c 8f00000008 50 addl2 $_muld_1_data+8,r0 ! 59: 59 00032F54 0d a004 efffffff90 movl 4(r0),_dbl_value_2+4 ! 60: 60 00032F5C 0d 60 efffffff85 movl (r0),_dbl_value_2 ! 61: 61 00032F63 # dbl_expected = muld_1_data[index].exp; ! 62: 62 00032F63 5c 18 efffffff7e 50 mull3 $24,_index,r0 ! 63: 63 00032F6B 0c 8f00000010 50 addl2 $_muld_1_data+16,r0 ! 64: 64 00032F72 0d a004 efffffff72 movl 4(r0),_dbl_expected+4 ! 65: 65 00032F7A 0d 60 efffffff67 movl (r0),_dbl_expected ! 66: 66 00032F81 # /* ! 67: 67 00032F81 # * This is the start of the LOOP ON ERROR section ! 68: 68 00032F81 # */ ! 69: 69 00032F81 # asm("_pipe19_1_lp:"); ! 70: 70 00032F81 _pipe19_1_lp: ! 71: 71 00032F81 # asm("ldd _dbl_value_1"); /* get the 1st operand */ ! 72: 72 00032F81 07 efffffff61 ldd _dbl_value_1 ! 73: 73 00032F87 # asm("muld _dbl_value_2"); /* multiply by the 2nd op. */ ! 74: 74 00032F87 e7 efffffff5b muld _dbl_value_2 ! 75: 75 00032F8D # asm("std _dbl_value_3"); /* save the MULD result */ ! 76: 76 00032F8D 27 efffffff55 std _dbl_value_3 ! 77: 77 00032F93 # asm("subd _dbl_value_3"); /* and subtract it again */ ! 78: 78 00032F93 d7 efffffff4f subd _dbl_value_3 ! 79: 79 00032F99 # asm("std _dbl_st_acc"); /* save the final result */ ! 80: 80 00032F99 27 efffffff49 std _dbl_st_acc ! 81: 81 00032F9F # if( force_loop ) ! 82: 82 00032F9F 5d efffffff43 tstl _force_loop ! 83: 83 00032FA5 31 02 jeql L225 ! 84: 84 00032FA7 # asm("brb _pipe19_1_lp");; /* loop on the error */ ! 85: 85 00032FA7 11 d8 brb _pipe19_1_lp ! 86: 86 00032FA9 L225: ! 87: 87 00032FA9 # /* ! 88: 88 00032FA9 # * Verify the results ! 89: 89 00032FA9 # */ ! 90: 90 00032FA9 # if( (dbl_st_acc.m) || (dbl_st_acc.l) ) { /* the Acc s/b = 0 */ ! 91: 91 00032FA9 5d efffffff39 tstl _dbl_st_acc ! 92: 92 00032FAF 21 08 jneq L9999 ! 93: 93 00032FB1 5d efffffff35 tstl _dbl_st_acc+4 ! 94: 94 00032FB7 31 3b jeql L226 ! 95: 95 00032FB9 L9999: ! 96: 96 00032FB9 # errcnt++; /* bump the error count */ ! 97: 97 00032FB9 6d efffffff29 incl _errcnt ! 98: 98 00032FBF # if ( prt_error ) ! 99: 99 00032FBF 5d efffffff23 tstl _prt_error ! 100: 100 00032FC5 31 07 jeql L227 ! 101: 101 00032FC7 # pipe19_print(); /* print the error mesage */ ! 102: 102 00032FC7 fe 04 ef0000003a callf $4,_pipe19_print ! 103: 103 00032FCE # if ( halt_flg ) ! 104: 104 00032FCE L227: ! 105: 105 00032FCE 5d efffffff14 tstl _halt_flg ! 106: 106 00032FD4 31 09 jeql L229 ! 107: 107 00032FD6 # pipe19_halt( 1 ); /* halt on the error */ ! 108: 108 00032FD6 dd 01 pushl $1 ! 109: 109 00032FD8 fe 08 ef000001c9 callf $8,_pipe19_halt ! 110: 110 00032FDF # if ( loop_on_err ) { ! 111: 111 00032FDF L229: ! 112: 112 00032FDF 5d efffffff03 tstl _loop_on_err ! 113: 113 00032FE5 31 0d jeql L231 ! 114: 114 00032FE7 # force_loop = TRUE; ! 115: 115 00032FE7 0d 01 effffffefa movl $1,_force_loop ! 116: 116 00032FEE # asm("jmp _pipe19_1_lp");; ! 117: 117 00032FEE 71 efffffff8d jmp _pipe19_1_lp ! 118: 118 00032FF4 # } ! 119: 119 00032FF4 # } ! 120: 120 00032FF4 L231: ! 121: 121 00032FF4 # } ! 122: 122 00032FF4 L226: ! 123: 123 00032FF4 L222: ! 124: 124 00032FF4 6d effffffeee incl _index ! 125: 125 00032FFA 13 ff1a jbr L224 ! 126: 126 00032FFD L223: ! 127: 127 00032FFD # asm("jmp *return"); /* return to the test monitor */ ! 128: 128 00032FFD 71 fffffffee5 jmp *return ! 129: 129 00033003 # } ! 130: 130 00033003 40 ret#2 ! 131: 131 00033004 .set L215,0x0 ! 132: 132 00033004 L217: ! 133: 133 00033004 13 fee6 jbr L218 ! 134: 134 00033007 .data ! 135: 135 0000037c * .text ! 136: 136 00033007 00 .align 1 ! 137: 137 00033008 .globl _pipe19_print ! 138: 138 00033008 _pipe19_print: ! 139: 139 00033008 0000 .word L232 ! 140: 140 0003300A # ! 141: 141 0003300A # ! 142: 142 0003300A # ! 143: 143 0003300A # ! 144: 144 0003300A # /* ! 145: 145 0003300A # ************************************************************************** ! 146: 146 0003300A # * ! 147: 147 0003300A # * print an error message of the form ! 148: 148 0003300A # * ! 149: 149 0003300A # * cycle: xx Test xx (Pipe 19), error ! 150: 150 0003300A # * test sequence = LDD(op1), MULD(op2), STD(op3), SUBD(op3), STD ! 151: 151 0003300A # * operand 1 = xxxxxxxx xxxxxxxx, final Acc = xxxxxxxx xxxxxxxx, index = xx ! 152: 152 0003300A # * operand 2 = xxxxxxxx xxxxxxxx, expected Acc = xxxxxxxx xxxxxxxx ! 153: 153 0003300A # * operand 3 = xxxxxxxx xxxxxxxx, expected op3 = xxxxxxxx xxxxxxxx ! 154: 154 0003300A # ************************************************************************** ! 155: 155 0003300A # */ ! 156: 156 0003300A # pipe19_print() ! 157: 157 0003300A # { ! 158: 158 0003300A 13 0197 jbr L234 ! 159: 159 0003300D L235: ! 160: 160 0003300D # writes(" \n"); /* start a new print line */ ! 161: 161 0003300D .data 1 ! 162: 162 00000385 * L236: ! 163: 163 00000385 * 200A00 .ascii " \12\0" ! 164: 164 00000388 * .text ! 165: 165 0003300D dd 8f00000385 pushl $L236 ! 166: 166 00033013 fe 08 effffffece callf $8,_writes ! 167: 167 0003301A # writes("cycle: "); ! 168: 168 0003301A .data 1 ! 169: 169 00000388 * L237: ! 170: 170 00000388 * 6379636C653A2000 .ascii "cycle: \0" ! 171: 171 00000390 * .text ! 172: 172 0003301A dd 8f00000388 pushl $L237 ! 173: 173 00033020 fe 08 effffffec1 callf $8,_writes ! 174: 174 00033027 # writed( cycle ); ! 175: 175 00033027 dd effffffebb pushl _cycle ! 176: 176 0003302D fe 08 effffffeb4 callf $8,_writed ! 177: 177 00033034 # writes(" Test "); ! 178: 178 00033034 .data 1 ! 179: 179 00000390 * L239: ! 180: 180 00000390 * 2020546573742000 .ascii " Test \0" ! 181: 181 00000398 * .text ! 182: 182 00033034 dd 8f00000390 pushl $L239 ! 183: 183 0003303A fe 08 effffffea7 callf $8,_writes ! 184: 184 00033041 # writed( test_no ); ! 185: 185 00033041 dd effffffea1 pushl _test_no ! 186: 186 00033047 fe 08 effffffe9a callf $8,_writed ! 187: 187 0003304E # writes(" (Pipe 19), error\n"); ! 188: 188 0003304E .data 1 ! 189: 189 00000398 * L240: ! 190: 190 00000398 * 20202850697065203139292C2 .ascii " (Pipe 19), error\12\0" ! 191: 06572726F720A00 ! 192: 191 000003ac * .text ! 193: 192 0003304E dd 8f00000398 pushl $L240 ! 194: 193 00033054 fe 08 effffffe8d callf $8,_writes ! 195: 194 0003305B # writes("LDD(op1), MULD(op2), STD(op3), SUBD(op3), STD\n"); ! 196: 195 0003305B .data 1 ! 197: 196 000003ac * L241: ! 198: 197 000003ac * 4C4444286F7031292C204D554 .ascii "LDD(op1), MULD(op2), STD(op3), SUBD(op3), STD\12\0" ! 199: C44286F7032292C2053544428 ! 200: 6F7033292C2053554244286F7 ! 201: 033292C205354440A00 ! 202: 198 000003db * .text ! 203: 199 0003305B dd 8f000003ac pushl $L241 ! 204: 200 00033061 fe 08 effffffe80 callf $8,_writes ! 205: 201 00033068 # writes("operand 1 = "); ! 206: 202 00033068 .data 1 ! 207: 203 000003db * L242: ! 208: 204 000003db * 6F706572616E642031203D200 .ascii "operand 1 = \0" ! 209: 0 ! 210: 205 000003e8 * .text ! 211: 206 00033068 dd 8f000003db pushl $L242 ! 212: 207 0003306E fe 08 effffffe73 callf $8,_writes ! 213: 208 00033075 # write32h( dbl_value_1.m ); ! 214: 209 00033075 dd effffffe6d pushl _dbl_value_1 ! 215: 210 0003307B fe 08 effffffe66 callf $8,_write32h ! 216: 211 00033082 # writec(' '); ! 217: 212 00033082 dd 20 pushl $32 ! 218: 213 00033084 fe 08 effffffe5d callf $8,_writec ! 219: 214 0003308B # write32h( dbl_value_1.l ); ! 220: 215 0003308B dd effffffe5b pushl _dbl_value_1+4 ! 221: 216 00033091 fe 08 effffffe50 callf $8,_write32h ! 222: 217 00033098 # writes(", final Acc = "); ! 223: 218 00033098 .data 1 ! 224: 219 000003e8 * L245: ! 225: 220 000003e8 * 2C2020202066696E616C20416 .ascii ", final Acc = \0" ! 226: 363203D2000 ! 227: 221 000003fa * .text ! 228: 222 00033098 dd 8f000003e8 pushl $L245 ! 229: 223 0003309E fe 08 effffffe43 callf $8,_writes ! 230: 224 000330A5 # write32h( dbl_st_acc.m ); ! 231: 225 000330A5 dd effffffe3d pushl _dbl_st_acc ! 232: 226 000330AB fe 08 effffffe36 callf $8,_write32h ! 233: 227 000330B2 # writec(' '); ! 234: 228 000330B2 dd 20 pushl $32 ! 235: 229 000330B4 fe 08 effffffe2d callf $8,_writec ! 236: 230 000330BB # write32h( dbl_st_acc.l ); ! 237: 231 000330BB dd effffffe2b pushl _dbl_st_acc+4 ! 238: 232 000330C1 fe 08 effffffe20 callf $8,_write32h ! 239: 233 000330C8 # writes(", index = "); ! 240: 234 000330C8 .data 1 ! 241: 235 000003fa * L246: ! 242: 236 000003fa * 2C2020696E646578203D2000 .ascii ", index = \0" ! 243: 237 00000406 * .text ! 244: 238 000330C8 dd 8f000003fa pushl $L246 ! 245: 239 000330CE fe 08 effffffe13 callf $8,_writes ! 246: 240 000330D5 # writed( index ); ! 247: 241 000330D5 dd effffffe0d pushl _index ! 248: 242 000330DB fe 08 effffffe06 callf $8,_writed ! 249: 243 000330E2 # writes("\noperand 2 = "); ! 250: 244 000330E2 .data 1 ! 251: 245 00000406 * L247: ! 252: 246 00000406 * 0A6F706572616E642032203D2 .ascii "\12operand 2 = \0" ! 253: 000 ! 254: 247 00000414 * .text ! 255: 248 000330E2 dd 8f00000406 pushl $L247 ! 256: 249 000330E8 fe 08 effffffdf9 callf $8,_writes ! 257: 250 000330EF # write32h( dbl_value_2.m ); ! 258: 251 000330EF dd effffffdf3 pushl _dbl_value_2 ! 259: 252 000330F5 fe 08 effffffdec callf $8,_write32h ! 260: 253 000330FC # writec(' '); ! 261: 254 000330FC dd 20 pushl $32 ! 262: 255 000330FE fe 08 effffffde3 callf $8,_writec ! 263: 256 00033105 # write32h( dbl_value_2.l ); ! 264: 257 00033105 dd effffffde1 pushl _dbl_value_2+4 ! 265: 258 0003310B fe 08 effffffdd6 callf $8,_write32h ! 266: 259 00033112 # writes(", expected Acc = "); ! 267: 260 00033112 .data 1 ! 268: 261 00000414 * L248: ! 269: 262 00000414 * 2C20657870656374656420416 .ascii ", expected Acc = \0" ! 270: 363203D2000 ! 271: 263 00000426 * .text ! 272: 264 00033112 dd 8f00000414 pushl $L248 ! 273: 265 00033118 fe 08 effffffdc9 callf $8,_writes ! 274: 266 0003311F # write32h( 0 ); ! 275: 267 0003311F dd 00 pushl $0 ! 276: 268 00033121 fe 08 effffffdc0 callf $8,_write32h ! 277: 269 00033128 # writec(' '); ! 278: 270 00033128 dd 20 pushl $32 ! 279: 271 0003312A fe 08 effffffdb7 callf $8,_writec ! 280: 272 00033131 # write32h( 0 ); ! 281: 273 00033131 dd 00 pushl $0 ! 282: 274 00033133 fe 08 effffffdae callf $8,_write32h ! 283: 275 0003313A # writes("\noperand 3 = "); ! 284: 276 0003313A .data 1 ! 285: 277 00000426 * L249: ! 286: 278 00000426 * 0A6F706572616E642033203D2 .ascii "\12operand 3 = \0" ! 287: 000 ! 288: 279 00000434 * .text ! 289: 280 0003313A dd 8f00000426 pushl $L249 ! 290: 281 00033140 fe 08 effffffda1 callf $8,_writes ! 291: 282 00033147 # write32h( dbl_value_3.m ); ! 292: 283 00033147 dd effffffd9b pushl _dbl_value_3 ! 293: 284 0003314D fe 08 effffffd94 callf $8,_write32h ! 294: 285 00033154 # writec(' '); ! 295: 286 00033154 dd 20 pushl $32 ! 296: 287 00033156 fe 08 effffffd8b callf $8,_writec ! 297: 288 0003315D # write32h( dbl_value_3.l ); ! 298: 289 0003315D dd effffffd89 pushl _dbl_value_3+4 ! 299: 290 00033163 fe 08 effffffd7e callf $8,_write32h ! 300: 291 0003316A # writes(", expected op3 = "); ! 301: 292 0003316A .data 1 ! 302: 293 00000434 * L250: ! 303: 294 00000434 * 2C206578706563746564206F7 .ascii ", expected op3 = \0" ! 304: 033203D2000 ! 305: 295 00000446 * .text ! 306: 296 0003316A dd 8f00000434 pushl $L250 ! 307: 297 00033170 fe 08 effffffd71 callf $8,_writes ! 308: 298 00033177 # write32h( dbl_expected.m ); ! 309: 299 00033177 dd effffffd6b pushl _dbl_expected ! 310: 300 0003317D fe 08 effffffd64 callf $8,_write32h ! 311: 301 00033184 # writec(' '); ! 312: 302 00033184 dd 20 pushl $32 ! 313: 303 00033186 fe 08 effffffd5b callf $8,_writec ! 314: 304 0003318D # write32h( dbl_expected.l ); ! 315: 305 0003318D dd effffffd59 pushl _dbl_expected+4 ! 316: 306 00033193 fe 08 effffffd4e callf $8,_write32h ! 317: 307 0003319A # writec('\n'); ! 318: 308 0003319A dd 0a pushl $10 ! 319: 309 0003319C fe 08 effffffd45 callf $8,_writec ! 320: 310 000331A3 # } ! 321: 311 000331A3 40 ret#2 ! 322: 312 000331A4 .set L232,0x0 ! 323: 313 000331A4 L234: ! 324: 314 000331A4 13 fe66 jbr L235 ! 325: 315 000331A7 .data ! 326: 316 0000037c * .text ! 327: 317 000331A7 00 .align 1 ! 328: 318 000331A8 .globl _pipe19_halt ! 329: 319 000331A8 _pipe19_halt: ! 330: 320 000331A8 0000 .word L251 ! 331: 321 000331AA # ! 332: 322 000331AA # ! 333: 323 000331AA # ! 334: 324 000331AA # /* ! 335: 325 000331AA # ************************************************************************** ! 336: 326 000331AA # * ! 337: 327 000331AA # * HALT ON AN ERROR ! 338: 328 000331AA # * ! 339: 329 000331AA # ************************************************************************** ! 340: 330 000331AA # */ ! 341: 331 000331AA # pipe19_halt() ! 342: 332 000331AA # { ! 343: 333 000331AA 13 00b1 jbr L253 ! 344: 334 000331AD L254: ! 345: 335 000331AD # sgl_value_1 = dbl_value_1.m; ! 346: 336 000331AD 0d effffffd35 effffffd30 movl _dbl_value_1,_sgl_value_1 ! 347: 337 000331B8 # sgl_value_2 = dbl_value_1.l; ! 348: 338 000331B8 0d effffffd2e effffffd25 movl _dbl_value_1+4,_sgl_value_2 ! 349: 339 000331C3 # sgl_value_3 = dbl_value_2.m; ! 350: 340 000331C3 0d effffffd1f effffffd1a movl _dbl_value_2,_sgl_value_3 ! 351: 341 000331CE # sgl_value_4 = dbl_value_2.l; ! 352: 342 000331CE 0d effffffd18 effffffd0f movl _dbl_value_2+4,_sgl_value_4 ! 353: 343 000331D9 # sgl_value_5 = dbl_value_3.m; ! 354: 344 000331D9 0d effffffd09 effffffd04 movl _dbl_value_3,_sgl_value_5 ! 355: 345 000331E4 # sgl_value_6 = dbl_value_3.l; ! 356: 346 000331E4 0d effffffd02 effffffcf9 movl _dbl_value_3+4,_sgl_value_6 ! 357: 347 000331EF # asm("movl _test_no,r0"); /* r0 = test number */ ! 358: 348 000331EF 0d effffffcf3 50 movl _test_no,r0 ! 359: 349 000331F6 # asm("movl $1,r1"); /* r1 = subtest number */ ! 360: 350 000331F6 0d 01 51 movl $1,r1 ! 361: 351 000331F9 # asm("movl $1,r2"); /* r2 = error code */ ! 362: 352 000331F9 0d 01 52 movl $1,r2 ! 363: 353 000331FC # asm("movl _cycle,r3"); /* r3 = cycle count */ ! 364: 354 000331FC 0d effffffce6 53 movl _cycle,r3 ! 365: 355 00033203 # asm("movl _sgl_value_1,r4"); /* r4 = MS of operand #1 */ ! 366: 356 00033203 0d effffffcdf 54 movl _sgl_value_1,r4 ! 367: 357 0003320A # asm("movl _sgl_value_2,r5"); /* r5 = LS of operand #1 */ ! 368: 358 0003320A 0d effffffcd8 55 movl _sgl_value_2,r5 ! 369: 359 00033211 # asm("movl _sgl_value_3,r6"); /* r6 = MS of operand #2 */ ! 370: 360 00033211 0d effffffcd1 56 movl _sgl_value_3,r6 ! 371: 361 00033218 # asm("movl _sgl_value_4,r7"); /* r7 = LS of operand #2 */ ! 372: 362 00033218 0d effffffcca 57 movl _sgl_value_4,r7 ! 373: 363 0003321F # asm("movl _sgl_value_5,r8"); /* r8 = MS of operand #3 */ ! 374: 364 0003321F 0d effffffcc3 58 movl _sgl_value_5,r8 ! 375: 365 00033226 # asm("movl _sgl_value_6,r9"); /* r9 = LS of operand #3 */ ! 376: 366 00033226 0d effffffcbc 59 movl _sgl_value_6,r9 ! 377: 367 0003322D # sgl_value_1 = dbl_st_acc.m; ! 378: 368 0003322D 0d effffffcb5 effffffcb0 movl _dbl_st_acc,_sgl_value_1 ! 379: 369 00033238 # sgl_value_2 = dbl_st_acc.l; ! 380: 370 00033238 0d effffffcae effffffca5 movl _dbl_st_acc+4,_sgl_value_2 ! 381: 371 00033243 # asm("movl _sgl_value_1,r10"); /* r10 = MS of final value */ ! 382: 372 00033243 0d effffffc9f 5a movl _sgl_value_1,r10 ! 383: 373 0003324A # asm("movl _sgl_value_2,r11"); /* r11 = LS of final value */ ! 384: 374 0003324A 0d effffffc98 5b movl _sgl_value_2,r11 ! 385: 375 00033251 # asm("clrl r12"); /* r12 = MS exp value (0) */ ! 386: 376 00033251 4d 5c clrl r12 ! 387: 377 00033253 # asm("clrl r13"); /* r13 = LS exp value (0) */ ! 388: 378 00033253 4d 5d clrl r13 ! 389: 379 00033255 # asm("movl _index,r14"); /* r14 = data index */ ! 390: 380 00033255 0d effffffc8d 5e movl _index,r14 ! 391: 381 0003325C # asm("halt"); /* HALT ... */ ! 392: 382 0003325C 00 halt ! 393: 383 0003325D # } ! 394: 384 0003325D 40 ret#2 ! 395: 385 0003325E .set L251,0x0 ! 396: 386 0003325E L253: ! 397: 387 0003325E 13 ff4c jbr L254 ! 398: 388 00033261 .data ! 399: 389 0000037c * # ! 400: 389 0000037c * #
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.