|
|
1.1 ! root 1: 1 00000000 LL0: ! 2: 2 00000000 .data ! 3: 3 0000032c * .text ! 4: 4 00000000 .align 1 ! 5: 5 00000000 .globl _pipe_9 ! 6: 6 00000000 _pipe_9: ! 7: 7 0002C9B0 0000 .word L215 ! 8: 8 0002C9B2 # #include "fpp_defs.h" ! 9: 9 0002C9B2 # ! 10: 10 0002C9B2 # /***************************************************************************** ! 11: 11 0002C9B2 # * ! 12: 12 0002C9B2 # * PIPELINE TEST #9 ! 13: 13 0002C9B2 # * ! 14: 14 0002C9B2 # * LDF(op1), MULF(op2), CVFL r0, SUBF operand[r0], STF ! 15: 15 0002C9B2 # * ! 16: 16 0002C9B2 # * -where the operands are the fmacro1 MULF data patterns. The SUBF operand's ! 17: 17 0002C9B2 # * address is based on the result of the CVFL. ! 18: 18 0002C9B2 # * -The load, multiply, and convert will be done twice. The first time will ! 19: 19 0002C9B2 # * be to get the index and the data to subtract. The data to subtract will ! 20: 20 0002C9B2 # * be the same as the accumulator so we'll expect a reasult of zero. The ! 21: 21 0002C9B2 # * data will be stored based on the 1st CVFL result. ! 22: 22 0002C9B2 # * -If the 2nd CVFL doesn't get done before the SUBF operand is fetched then ! 23: 23 0002C9B2 # * we won't get a final accumulator of zero. ! 24: 24 0002C9B2 # * -For size reasons, only the MULF data with a result between -100 and +100 ! 25: 25 0002C9B2 # * will be used for this test. ! 26: 26 0002C9B2 # *****************************************************************************/ ! 27: 27 0002C9B2 # pipe_9() ! 28: 28 0002C9B2 # { ! 29: 29 0002C9B2 13 017d jbr L217 ! 30: 30 0002C9B5 L218: ! 31: 31 0002C9B5 # asm(".globl _pipeline_9_t"); ! 32: 32 0002C9B5 .globl _pipeline_9_t ! 33: 33 0002C9B5 # asm("_pipeline_9_t:"); ! 34: 34 0002C9B5 _pipeline_9_t: ! 35: 35 0002C9B5 # if( (cycle == 1) && (prt_hdrs) ) /* print headers on 1st cycle */ ! 36: 36 0002C9B5 1d effffffff5 01 cmpl _cycle,$1 ! 37: 37 0002C9BC 21 15 jneq L219 ! 38: 38 0002C9BE 5d efffffffec tstl _prt_hdrs ! 39: 39 0002C9C4 31 0d jeql L219 ! 40: 40 0002C9C6 # writes(" PIPE_9 "); ! 41: 41 0002C9C6 .data 1 ! 42: 42 0000032c * L221: ! 43: 43 0000032c * 20504950455F392000 .ascii " PIPE_9 \0" ! 44: 44 00000335 * .text ! 45: 45 0002C9C6 dd 8f0000032c pushl $L221 ! 46: 46 0002C9CC fe 08 efffffffdd callf $8,_writes ! 47: 47 0002C9D3 # force_loop = FALSE; /* clear force_loop flag */ ! 48: 48 0002C9D3 L219: ! 49: 49 0002C9D3 4d efffffffd7 clrl _force_loop ! 50: 50 0002C9D9 # for( index = 0; index <= max_mulf_1_index; index++ ) { ! 51: 51 0002C9D9 4d efffffffd1 clrl _index ! 52: 52 0002C9DF L224: ! 53: 53 0002C9DF 1d efffffffcb efffffffc6 cmpl _index,_max_mulf_1_index ! 54: 54 0002C9EA 51 03 13 013c jgtr L223 ! 55: 55 0002C9EF # sgl_value_1 = mulf_1_data[index].op_1; /* get the data */ ! 56: 56 0002C9EF 5c 0c efffffffba 50 mull3 $12,_index,r0 ! 57: 57 0002C9F7 0d e000000000 efffffffae movl _mulf_1_data(r0),_sgl_value_1 ! 58: 58 0002CA02 # sgl_value_2 = mulf_1_data[index].op_2; /* operands */ ! 59: 59 0002CA02 5c 0c efffffffa7 50 mull3 $12,_index,r0 ! 60: 60 0002CA0A 0d e000000004 efffffff9b movl _mulf_1_data+4(r0),_sgl_value_2 ! 61: 61 0002CA15 # sgl_expected = mulf_1_data[index].exp; ! 62: 62 0002CA15 5c 0c efffffff94 50 mull3 $12,_index,r0 ! 63: 63 0002CA1D 0d e000000008 efffffff88 movl _mulf_1_data+8(r0),_sgl_expected ! 64: 64 0002CA28 # asm("ldf _sgl_value_1"); ! 65: 65 0002CA28 06 efffffff82 ldf _sgl_value_1 ! 66: 66 0002CA2E # asm("mulf _sgl_value_2"); ! 67: 67 0002CA2E e6 efffffff7c mulf _sgl_value_2 ! 68: 68 0002CA34 # asm("cvfl _index2"); ! 69: 69 0002CA34 86 efffffff76 cvfl _index2 ! 70: 70 0002CA3A # asm("nop"); ! 71: 71 0002CA3A 10 nop ! 72: 72 0002CA3B # if( (index2 >= -99) && (index2 <= 99) ) { ! 73: 73 0002CA3B 1d efffffff6f 889d cmpl _index2,$-99 ! 74: 74 0002CA43 81 03 13 00da jlss L225 ! 75: 75 0002CA48 1d efffffff62 8863 cmpl _index2,$99 ! 76: 76 0002CA50 41 f3 jgtr L225 ! 77: 77 0002CA52 # if( index2 ) { ! 78: 78 0002CA52 5d efffffff58 tstl _index2 ! 79: 79 0002CA58 31 1d jeql L226 ! 80: 80 0002CA5A # sgl_value_5 = 0; /* set a dummy index */ ! 81: 81 0002CA5A 4d efffffff50 clrl _sgl_value_5 ! 82: 82 0002CA60 # adr_pipe_ops[sgl_value_5] = 0; ! 83: 83 0002CA60 0d efffffff4a 50 movl _sgl_value_5,r0 ! 84: 84 0002CA67 48 02 50 50 shll $2,r0,r0 ! 85: 85 0002CA6B 1c 50 efffffff3e 50 addl3 r0,_adr_pipe_ops,r0 ! 86: 86 0002CA73 4d 60 clrl (r0) ! 87: 87 0002CA75 # } else { ! 88: 88 0002CA75 11 21 jbr L227 ! 89: 89 0002CA77 L226: ! 90: 90 0002CA77 # sgl_value_5 = 6; /* set a dummy index */ ! 91: 91 0002CA77 0d 06 efffffff32 movl $6,_sgl_value_5 ! 92: 92 0002CA7E # adr_pipe_ops[sgl_value_5] = 0xabadbabe; ! 93: 93 0002CA7E 0d efffffff2c 50 movl _sgl_value_5,r0 ! 94: 94 0002CA85 48 02 50 50 shll $2,r0,r0 ! 95: 95 0002CA89 1c 50 efffffff20 50 addl3 r0,_adr_pipe_ops,r0 ! 96: 96 0002CA91 0d 8fabadbabe 60 movl $-1414677826,(r0) ! 97: 97 0002CA98 # } ! 98: 98 0002CA98 L227: ! 99: 99 0002CA98 # asm("movl _index2,r0"); /* save the index */ ! 100: 100 0002CA98 0d efffffff12 50 movl _index2,r0 ! 101: 101 0002CA9F # asm("stf _pipe_ops[r0]"); /* save the Acc's value */ ! 102: 102 0002CA9F 26 40efffffff0a stf _pipe_ops[r0] ! 103: 103 0002CAA6 # asm("stf _sgl_value_4"); /* save this value */ ! 104: 104 0002CAA6 26 efffffff04 stf _sgl_value_4 ! 105: 105 0002CAAC # /* ! 106: 106 0002CAAC # * This is the start of the LOOP ON ERROR section ! 107: 107 0002CAAC # */ ! 108: 108 0002CAAC # asm("_pipe9_1_lp:"); ! 109: 109 0002CAAC _pipe9_1_lp: ! 110: 110 0002CAAC # asm("movl _sgl_value_5,r0"); /* save the bum index */ ! 111: 111 0002CAAC 0d effffffefe 50 movl _sgl_value_5,r0 ! 112: 112 0002CAB3 # asm("ldf _sgl_value_1"); ! 113: 113 0002CAB3 06 effffffef7 ldf _sgl_value_1 ! 114: 114 0002CAB9 # asm("mulf _sgl_value_2"); ! 115: 115 0002CAB9 e6 effffffef1 mulf _sgl_value_2 ! 116: 116 0002CABF # asm("cvfl r0"); /* set up the index to use */ ! 117: 117 0002CABF 86 50 cvfl r0 ! 118: 118 0002CAC1 # asm("subf _pipe_ops[r0]"); /* subtract saved value */ ! 119: 119 0002CAC1 d6 40effffffee8 subf _pipe_ops[r0] ! 120: 120 0002CAC8 # asm("stf _sgl_st_acc"); ! 121: 121 0002CAC8 26 effffffee2 stf _sgl_st_acc ! 122: 122 0002CACE # asm("movl r0,_sgl_value_6"); /* save the index used */ ! 123: 123 0002CACE 0d 50 effffffedb movl r0,_sgl_value_6 ! 124: 124 0002CAD5 # if( force_loop ) ! 125: 125 0002CAD5 5d effffffed5 tstl _force_loop ! 126: 126 0002CADB 31 02 jeql L228 ! 127: 127 0002CADD # asm("brb _pipe9_1_lp");; /* loop on the error */ ! 128: 128 0002CADD 11 cd brb _pipe9_1_lp ! 129: 129 0002CADF L228: ! 130: 130 0002CADF # /* ! 131: 131 0002CADF # * Verify the results ! 132: 132 0002CADF # */ ! 133: 133 0002CADF # if( sgl_st_acc ) { /* the Acc s/b cleared */ ! 134: 134 0002CADF 5d effffffecb tstl _sgl_st_acc ! 135: 135 0002CAE5 31 3b jeql L229 ! 136: 136 0002CAE7 # errcnt++; /* bump the error count */ ! 137: 137 0002CAE7 6d effffffec3 incl _errcnt ! 138: 138 0002CAED # if ( prt_error ) ! 139: 139 0002CAED 5d effffffebd tstl _prt_error ! 140: 140 0002CAF3 31 07 jeql L230 ! 141: 141 0002CAF5 # pipe9_print(); /* print the error mesage */ ! 142: 142 0002CAF5 fe 04 ef0000003a callf $4,_pipe9_print ! 143: 143 0002CAFC # if ( halt_flg ) ! 144: 144 0002CAFC L230: ! 145: 145 0002CAFC 5d effffffeae tstl _halt_flg ! 146: 146 0002CB02 31 09 jeql L232 ! 147: 147 0002CB04 # pipe9_halt( 1 ); /* halt on the error */ ! 148: 148 0002CB04 dd 01 pushl $1 ! 149: 149 0002CB06 fe 08 ef00000181 callf $8,_pipe9_halt ! 150: 150 0002CB0D # if ( loop_on_err ) { ! 151: 151 0002CB0D L232: ! 152: 152 0002CB0D 5d effffffe9d tstl _loop_on_err ! 153: 153 0002CB13 31 0d jeql L234 ! 154: 154 0002CB15 # force_loop = 1; ! 155: 155 0002CB15 0d 01 effffffe94 movl $1,_force_loop ! 156: 156 0002CB1C # asm("jmp _pipe9_1_lp");; ! 157: 157 0002CB1C 71 efffffff8a jmp _pipe9_1_lp ! 158: 158 0002CB22 # } ! 159: 159 0002CB22 # } ! 160: 160 0002CB22 L234: ! 161: 161 0002CB22 # } ! 162: 162 0002CB22 L229: ! 163: 163 0002CB22 # }; ! 164: 164 0002CB22 L225: ! 165: 165 0002CB22 L222: ! 166: 166 0002CB22 6d effffffe88 incl _index ! 167: 167 0002CB28 13 feb4 jbr L224 ! 168: 168 0002CB2B L223: ! 169: 169 0002CB2B # asm("jmp *return"); /* return to the test monitor */ ! 170: 170 0002CB2B 71 fffffffe7f jmp *return ! 171: 171 0002CB31 # } ! 172: 172 0002CB31 40 ret#2 ! 173: 173 0002CB32 .set L215,0x0 ! 174: 174 0002CB32 L217: ! 175: 175 0002CB32 13 fe80 jbr L218 ! 176: 176 0002CB35 .data ! 177: 177 0000032c * .text ! 178: 178 0002CB35 00 .align 1 ! 179: 179 0002CB36 .globl _pipe9_print ! 180: 180 0002CB36 _pipe9_print: ! 181: 181 0002CB36 0000 .word L235 ! 182: 182 0002CB38 # ! 183: 183 0002CB38 # ! 184: 184 0002CB38 # ! 185: 185 0002CB38 # ! 186: 186 0002CB38 # /*************************************************************************** ! 187: 187 0002CB38 # * ! 188: 188 0002CB38 # * print an error message of the form ! 189: 189 0002CB38 # * ! 190: 190 0002CB38 # * cycle: xx Test xx, (Pipe 9), error ! 191: 191 0002CB38 # * test sequence = LDF(op1), MULF(op2), CVFL r0, SUBF operand[r0], STF ! 192: 192 0002CB38 # * op #1 = xxxxxxxx, final Acc = xxxxxxxx, data index = xxxxxxxx ! 193: 193 0002CB38 # * op #2 = xxxxxxxx, expected Acc = xxxxxxxx ! 194: 194 0002CB38 # * op #3 = xxxxxxxx, CVFL result = xxxxxxxx ! 195: 195 0002CB38 # * int expected = xxxxxxxx ! 196: 196 0002CB38 # ***************************************************************************/ ! 197: 197 0002CB38 # pipe9_print() ! 198: 198 0002CB38 # { ! 199: 199 0002CB38 13 0150 jbr L237 ! 200: 200 0002CB3B L238: ! 201: 201 0002CB3B # writes("\n"); /* start a new print line */ ! 202: 202 0002CB3B .data 1 ! 203: 203 00000335 * L239: ! 204: 204 00000335 * 0A00 .ascii "\12\0" ! 205: 205 00000337 * .text ! 206: 206 0002CB3B dd 8f00000335 pushl $L239 ! 207: 207 0002CB41 fe 08 effffffe68 callf $8,_writes ! 208: 208 0002CB48 # writes("cycle: "); ! 209: 209 0002CB48 .data 1 ! 210: 210 00000337 * L240: ! 211: 211 00000337 * 6379636C653A2000 .ascii "cycle: \0" ! 212: 212 0000033f * .text ! 213: 213 0002CB48 dd 8f00000337 pushl $L240 ! 214: 214 0002CB4E fe 08 effffffe5b callf $8,_writes ! 215: 215 0002CB55 # writed( cycle ); ! 216: 216 0002CB55 dd effffffe55 pushl _cycle ! 217: 217 0002CB5B fe 08 effffffe4e callf $8,_writed ! 218: 218 0002CB62 # writes(" Test "); ! 219: 219 0002CB62 .data 1 ! 220: 220 0000033f * L242: ! 221: 221 0000033f * 2020546573742000 .ascii " Test \0" ! 222: 222 00000347 * .text ! 223: 223 0002CB62 dd 8f0000033f pushl $L242 ! 224: 224 0002CB68 fe 08 effffffe41 callf $8,_writes ! 225: 225 0002CB6F # writed( test_no ); ! 226: 226 0002CB6F dd effffffe3b pushl _test_no ! 227: 227 0002CB75 fe 08 effffffe34 callf $8,_writed ! 228: 228 0002CB7C # writes(" (Pipe 9), error\n"); ! 229: 229 0002CB7C .data 1 ! 230: 230 00000347 * L243: ! 231: 231 00000347 * 20202028506970652039292C2 .ascii " (Pipe 9), error\12\0" ! 232: 06572726F720A00 ! 233: 232 0000035b * .text ! 234: 233 0002CB7C dd 8f00000347 pushl $L243 ! 235: 234 0002CB82 fe 08 effffffe27 callf $8,_writes ! 236: 235 0002CB89 # writes(" LDF(op1), MULF(op2), CVFL(r0), SUBF(op3), STF\n"); ! 237: 236 0002CB89 .data 1 ! 238: 237 0000035b * L244: ! 239: 238 0000035b * 204C4446286F7031292C204D5 .ascii " LDF(op1), MULF(op2), CVFL(r0), SUBF(op3), STF\12\0" ! 240: 54C46286F7032292C20435646 ! 241: 4C287230292C2053554246286 ! 242: F7033292C205354460A00 ! 243: 239 0000038b * .text ! 244: 240 0002CB89 dd 8f0000035b pushl $L244 ! 245: 241 0002CB8F fe 08 effffffe1a callf $8,_writes ! 246: 242 0002CB96 # writes("operand 1 = "); ! 247: 243 0002CB96 .data 1 ! 248: 244 0000038b * L245: ! 249: 245 0000038b * 6F706572616E642031203D200 .ascii "operand 1 = \0" ! 250: 0 ! 251: 246 00000398 * .text ! 252: 247 0002CB96 dd 8f0000038b pushl $L245 ! 253: 248 0002CB9C fe 08 effffffe0d callf $8,_writes ! 254: 249 0002CBA3 # write32h( sgl_value_1 ); ! 255: 250 0002CBA3 dd effffffe07 pushl _sgl_value_1 ! 256: 251 0002CBA9 fe 08 effffffe00 callf $8,_write32h ! 257: 252 0002CBB0 # writes(", final Acc = "); ! 258: 253 0002CBB0 .data 1 ! 259: 254 00000398 * L247: ! 260: 255 00000398 * 2C202020202066696E616C204 .ascii ", final Acc = \0" ! 261: 16363203D2000 ! 262: 256 000003ab * .text ! 263: 257 0002CBB0 dd 8f00000398 pushl $L247 ! 264: 258 0002CBB6 fe 08 effffffdf3 callf $8,_writes ! 265: 259 0002CBBD # write32h( sgl_st_acc ); ! 266: 260 0002CBBD dd effffffded pushl _sgl_st_acc ! 267: 261 0002CBC3 fe 08 effffffde6 callf $8,_write32h ! 268: 262 0002CBCA # writes(", data index = "); ! 269: 263 0002CBCA .data 1 ! 270: 264 000003ab * L248: ! 271: 265 000003ab * 2C2020206461746120696E646 .ascii ", data index = \0" ! 272: 578203D2000 ! 273: 266 000003bd * .text ! 274: 267 0002CBCA dd 8f000003ab pushl $L248 ! 275: 268 0002CBD0 fe 08 effffffdd9 callf $8,_writes ! 276: 269 0002CBD7 # writed( index ); ! 277: 270 0002CBD7 dd effffffdd3 pushl _index ! 278: 271 0002CBDD fe 08 effffffdcc callf $8,_writed ! 279: 272 0002CBE4 # writec('\n'); ! 280: 273 0002CBE4 dd 0a pushl $10 ! 281: 274 0002CBE6 fe 08 effffffdc3 callf $8,_writec ! 282: 275 0002CBED # writes("operand 2 = "); ! 283: 276 0002CBED .data 1 ! 284: 277 000003bd * L250: ! 285: 278 000003bd * 6F706572616E642032203D200 .ascii "operand 2 = \0" ! 286: 0 ! 287: 279 000003ca * .text ! 288: 280 0002CBED dd 8f000003bd pushl $L250 ! 289: 281 0002CBF3 fe 08 effffffdb6 callf $8,_writes ! 290: 282 0002CBFA # write32h( sgl_value_2 ); ! 291: 283 0002CBFA dd effffffdb0 pushl _sgl_value_2 ! 292: 284 0002CC00 fe 08 effffffda9 callf $8,_write32h ! 293: 285 0002CC07 # writes(", expected Acc = "); ! 294: 286 0002CC07 .data 1 ! 295: 287 000003ca * L251: ! 296: 288 000003ca * 2C20206578706563746564204 .ascii ", expected Acc = \0" ! 297: 16363203D2000 ! 298: 289 000003dd * .text ! 299: 290 0002CC07 dd 8f000003ca pushl $L251 ! 300: 291 0002CC0D fe 08 effffffd9c callf $8,_writes ! 301: 292 0002CC14 # write32h( sgl_expected ); ! 302: 293 0002CC14 dd effffffd96 pushl _sgl_expected ! 303: 294 0002CC1A fe 08 effffffd8f callf $8,_write32h ! 304: 295 0002CC21 # writec('\n'); ! 305: 296 0002CC21 dd 0a pushl $10 ! 306: 297 0002CC23 fe 08 effffffd86 callf $8,_writec ! 307: 298 0002CC2A # writes("operand 3 = "); ! 308: 299 0002CC2A .data 1 ! 309: 300 000003dd * L252: ! 310: 301 000003dd * 6F706572616E642033203D200 .ascii "operand 3 = \0" ! 311: 0 ! 312: 302 000003ea * .text ! 313: 303 0002CC2A dd 8f000003dd pushl $L252 ! 314: 304 0002CC30 fe 08 effffffd79 callf $8,_writes ! 315: 305 0002CC37 # write32h( sgl_value_4 ); ! 316: 306 0002CC37 dd effffffd73 pushl _sgl_value_4 ! 317: 307 0002CC3D fe 08 effffffd6c callf $8,_write32h ! 318: 308 0002CC44 # writes(", CVFL result = "); ! 319: 309 0002CC44 .data 1 ! 320: 310 000003ea * L253: ! 321: 311 000003ea * 2C2020204356464C207265737 .ascii ", CVFL result = \0" ! 322: 56C74203D2000 ! 323: 312 000003fd * .text ! 324: 313 0002CC44 dd 8f000003ea pushl $L253 ! 325: 314 0002CC4A fe 08 effffffd5f callf $8,_writes ! 326: 315 0002CC51 # write32h( sgl_value_6 ); ! 327: 316 0002CC51 dd effffffd59 pushl _sgl_value_6 ! 328: 317 0002CC57 fe 08 effffffd52 callf $8,_write32h ! 329: 318 0002CC5E # writec('\n'); ! 330: 319 0002CC5E dd 0a pushl $10 ! 331: 320 0002CC60 fe 08 effffffd49 callf $8,_writec ! 332: 321 0002CC67 # writes(" int expected = "); ! 333: 322 0002CC67 .data 1 ! 334: 323 000003fd * L254: ! 335: 324 000003fd * 2020202020202020202020202 .ascii " int expected = \0" ! 336: 020202020202020202020696E ! 337: 74206578706563746564203D2 ! 338: 000 ! 339: 325 00000424 * .text ! 340: 326 0002CC67 dd 8f000003fd pushl $L254 ! 341: 327 0002CC6D fe 08 effffffd3c callf $8,_writes ! 342: 328 0002CC74 # write32h( index2 ); ! 343: 329 0002CC74 dd effffffd36 pushl _index2 ! 344: 330 0002CC7A fe 08 effffffd2f callf $8,_write32h ! 345: 331 0002CC81 # writec('\n'); ! 346: 332 0002CC81 dd 0a pushl $10 ! 347: 333 0002CC83 fe 08 effffffd26 callf $8,_writec ! 348: 334 0002CC8A # ! 349: 335 0002CC8A # ! 350: 336 0002CC8A # } ! 351: 337 0002CC8A 40 ret#2 ! 352: 338 0002CC8B .set L235,0x0 ! 353: 339 0002CC8B L237: ! 354: 340 0002CC8B 13 fead jbr L238 ! 355: 341 0002CC8E .data ! 356: 342 0000032c * .text ! 357: 343 0002CC8E .align 1 ! 358: 344 0002CC8E .globl _pipe9_halt ! 359: 345 0002CC8E _pipe9_halt: ! 360: 346 0002CC8E 0000 .word L255 ! 361: 347 0002CC90 # ! 362: 348 0002CC90 # ! 363: 349 0002CC90 # ! 364: 350 0002CC90 # /* ! 365: 351 0002CC90 # ************************************************************************** ! 366: 352 0002CC90 # * ! 367: 353 0002CC90 # * HALT ON AN ERROR ! 368: 354 0002CC90 # * ! 369: 355 0002CC90 # ************************************************************************** ! 370: 356 0002CC90 # */ ! 371: 357 0002CC90 # pipe9_halt() ! 372: 358 0002CC90 # { ! 373: 359 0002CC90 11 47 jbr L257 ! 374: 360 0002CC92 L258: ! 375: 361 0002CC92 # asm("movl _test_no,r0"); /* r0 = test number */ ! 376: 362 0002CC92 0d effffffd18 50 movl _test_no,r0 ! 377: 363 0002CC99 # asm("movl $1,r1"); /* r1 = subtest number */ ! 378: 364 0002CC99 0d 01 51 movl $1,r1 ! 379: 365 0002CC9C # asm("movl $1,r2"); /* r2 = error code */ ! 380: 366 0002CC9C 0d 01 52 movl $1,r2 ! 381: 367 0002CC9F # asm("movl _cycle,r3"); /* r3 = cycle count */ ! 382: 368 0002CC9F 0d effffffd0b 53 movl _cycle,r3 ! 383: 369 0002CCA6 # asm("movl _sgl_value_1,r4"); /* r4 = sgl operand #1 */ ! 384: 370 0002CCA6 0d effffffd04 54 movl _sgl_value_1,r4 ! 385: 371 0002CCAD # asm("movl _sgl_value_2,r5"); /* r5 = sgl operand #2 */ ! 386: 372 0002CCAD 0d effffffcfd 55 movl _sgl_value_2,r5 ! 387: 373 0002CCB4 # asm("movl _sgl_st_acc,r6"); /* r6 = sgl stored */ ! 388: 374 0002CCB4 0d effffffcf6 56 movl _sgl_st_acc,r6 ! 389: 375 0002CCBB # asm("movl _sgl_expected,r7"); /* r7 = sgl expected */ ! 390: 376 0002CCBB 0d effffffcef 57 movl _sgl_expected,r7 ! 391: 377 0002CCC2 # asm("movl _sgl_value_6,r8"); /* r8 = CVFL int actual */ ! 392: 378 0002CCC2 0d effffffce8 58 movl _sgl_value_6,r8 ! 393: 379 0002CCC9 # asm("movl _index2,r9"); /* r9 = CVFL int expected */ ! 394: 380 0002CCC9 0d effffffce1 59 movl _index2,r9 ! 395: 381 0002CCD0 # asm("movl _index,r10"); /* r10 = data index */ ! 396: 382 0002CCD0 0d effffffcda 5a movl _index,r10 ! 397: 383 0002CCD7 # asm("halt"); /* HALT ... */ ! 398: 384 0002CCD7 00 halt ! 399: 385 0002CCD8 # } ! 400: 386 0002CCD8 40 ret#2 ! 401: 387 0002CCD9 .set L255,0x0 ! 402: 388 0002CCD9 L257: ! 403: 389 0002CCD9 11 b7 jbr L258 ! 404: 390 0002CCDB .data ! 405: 390 0005968B .data
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.