|
|
1.1 ! root 1: ! 2: ! 3: /* ANDB3 (and byte 3 operand) test */ ! 4: ! 5: /*Test name = andb3 */ ! 6: /*Description = */ ! 7: /* This test checks 'andb3' instruction as follows: */ ! 8: /* source mask destination Z N C V(flags) */ ! 9: /* ___________ ____ ___________ _____________ */ ! 10: /* 0xaa 0xaa 0x7fffffaa 0 0 1 0 */ ! 11: /* 0xaa 0x55 0x7fffff00 1 0 1 0 */ ! 12: /* R R R --- */ ! 13: /* M M M --- */ ! 14: /* R M M --- */ ! 15: /* M R R --- */ ! 16: /* */ ! 17: /* */ ! 18: ! 19: /* */ ! 20: /* Constants */ ! 21: /* */ ! 22: .set MASK1B3,0xaa ! 23: .set MASK1W3,0xaaaa ! 24: .set MASK1L3,0xaaaaaaaa ! 25: .set MASK2B3,0x55 ! 26: .set MASK2W3,0x5555 ! 27: .set MASK2L3,0x55555555 ! 28: .set SOURCE1B3,0xaa ! 29: .set SOURCE1W3,0xaaaa ! 30: .set SOURCE1L3,0xaaaaaaaa ! 31: .set SOURCE2B3,0xaa ! 32: .set SOURCE2W3,0xaaaa ! 33: .set SOURCE2L3,0xaaaaaaaa ! 34: .set INITIAL3,0x7fffffff ! 35: .set EXP1B3,0x7fffffaa ! 36: .set EXP1W3,0x7fffaaaa ! 37: .set EXP1L3,0xaaaaaaaa ! 38: .set EXP2B3,0x7fffff00 ! 39: .set EXP2W3,0x7fff0000 ! 40: .set EXP2L3,0x00000000 ! 41: ! 42: /* */ ! 43: /* */ ! 44: /* */ ! 45: /* Syst.s - constants */ ! 46: /* */ ! 47: .set IPL,8 ! 48: .set HIGH,31 ! 49: .set ZERO,0 ! 50: .set ONES,0xffffffff ! 51: .set N,8 ! 52: .set Z,4 ! 53: .set V,2 ! 54: .set C,1 ! 55: .set T,16 ! 56: .set IV,32 ! 57: .set FU,64 ! 58: .set DV,128 ! 59: .set PSWMASK,0x003f ! 60: /* */ ! 61: /* */ ! 62: .globl _andb3 ! 63: _andb3: ! 64: callf $4,_setjmp /* save context for error return */ ! 65: movab _andb3,_stpc /* save subtest program counter */ ! 66: movl $1,_subtst /* subtest number */ ! 67: movl $2,_no_opr /* number of operands in use */ ! 68: movl $MASK1B3,_opr /* first operand */ ! 69: movl $SOURCE1B3,_opr + 4 /* second operand */ ! 70: 0: bicpsw $PSWMASK /*turn overflow enable bit off */ ! 71: movl $MASK1B3,r3 /*mask */ ! 72: movl $SOURCE1B3,r4 /*source */ ! 73: movl $INITIAL3,r5 /*destination */ ! 74: bispsw $(Z|V|C) /*overflow, Z & carry bits ON */ ! 75: andb3 r3,r4,r5 /*try it reg reg reg */ ! 76: jeql error1 /*error if Z = 1 */ ! 77: jlss error1 /*error if N = 1 */ ! 78: jcc error1 /*error if C = 0 */ ! 79: jvs error1 /*error if V = 1 */ ! 80: cmpl r5,$0xaa /*if dest <> expected value, */ ! 81: jeql a2 /* if correct continue */ ! 82: movl $1,_ercode /* error code data miscompare */ ! 83: bbs $0,_scoplp,0b /* if set loop on error */ ! 84: movl r5,_actual /* actual data */ ! 85: movl $0xaa,_expected /* expected data */ ! 86: jmp *badrtn ! 87: error1: movpsl _actual /* actual = psl */ ! 88: bbs $0,_scoplp,0b /* if set loop on error */ ! 89: movl $2,_ercode /* error code flag failure */ ! 90: jmp *badrtn ! 91: ! 92: /* Now try another mask(0x55) */ ! 93: /* */ ! 94: ! 95: a2: ! 96: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 97: aa2: callf $4,_setjmp /* save context for error return */ ! 98: movab aa2,_stpc /* save subtest program counter */ ! 99: movl $2,_subtst /* subtest number */ ! 100: movl $2,_no_opr /* number of operands in use */ ! 101: movl $MASK2B3,_opr /* first operand */ ! 102: movl $SOURCE2B3,_opr + 4 /* second operand */ ! 103: 0: bicpsw $PSWMASK /*turn overflow enable bit off */ ! 104: movl $MASK2B3,mask /*mask */ ! 105: movl $SOURCE2B3,r4 /*source */ ! 106: movl $INITIAL3,dest /*destination */ ! 107: bispsw $(N|V) /*overflow & negetive bits ON */ ! 108: andb3 mask+3,r4,dest+3/* try again mem reg mem */ ! 109: jneq error2 /*error if Z = 0 */ ! 110: jlss error2 /*error if N = 1 */ ! 111: jcc error2 /*error if C = 0 */ ! 112: jvs error2 /*error if V = 1 */ ! 113: cmpb dest+3,$0 /*if dest <> expected value, */ ! 114: jeql andb3mmm ! 115: movl $1,_ercode /* error code data miscompare */ ! 116: bbs $0,_scoplp,0b /* if set loop on error */ ! 117: movl dest,_actual /* actual data */ ! 118: movl $0,_expected /* expected data */ ! 119: jmp *badrtn ! 120: error2: movpsl _actual /* actual = psl */ ! 121: bbs $0,_scoplp,0b /* if set loop on error */ ! 122: movl $2,_ercode /* error code flag failure */ ! 123: jmp *badrtn ! 124: /* */ ! 125: /* now try source = M, mask = M, destination = M */ ! 126: andb3mmm: ! 127: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 128: aa3: callf $4,_setjmp /* save context for error return */ ! 129: movab aa3,_stpc /* save subtest program counter */ ! 130: movl $3,_subtst /* subtest number */ ! 131: movl $2,_no_opr /* number of operands in use */ ! 132: movl $MASK1B3,_opr /* first operand */ ! 133: movl $SOURCE1B3,_opr + 4 /* second operand */ ! 134: 0: bicpsw $PSWMASK /*turn overflow enable bit off */ ! 135: movl $MASK1B3,mask /*mask */ ! 136: movl $SOURCE1B3,source/*source */ ! 137: movl $INITIAL3,dest /*destination */ ! 138: bispsw $(Z|V|C) /*overflow, Z & carry bits ON */ ! 139: andb3 mask+3,source+3,dest+3 /*try it mem mem mem */ ! 140: jeql error3 /*error if Z = 1 */ ! 141: jgeq error3 /*error if N = 1 */ ! 142: jcc error3 /*error if C = 0 */ ! 143: jvs error3 /*error if V = 1 */ ! 144: cmpl dest,$EXP1B3 /*if dest <> expected value, */ ! 145: jeql a4 ! 146: movl $1,_ercode /* error code data miscompare */ ! 147: 1: bbs $0,_scoplp,0b /* if set loop on error */ ! 148: movl dest,_actual /* actual data */ ! 149: movl $EXP1B3,_expected /* expected data */ ! 150: jmp *badrtn ! 151: error3: movpsl _actual /* actual = psl */ ! 152: bbs $0,_scoplp,0b /* if set loop on error */ ! 153: movl $2,_ercode /* error code flag failure */ ! 154: jmp *badrtn ! 155: ! 156: /* Now try another mask(0x55) */ ! 157: /* */ ! 158: ! 159: a4: ! 160: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 161: aa4: callf $4,_setjmp /* save context for error return */ ! 162: movab aa4,_stpc /* save subtest program counter */ ! 163: movl $4,_subtst /* subtest number */ ! 164: movl $2,_no_opr /* number of operands in use */ ! 165: movl $MASK2B3,_opr /* first operand */ ! 166: movl $SOURCE2B3,_opr + 4 /* second operand */ ! 167: 0: bicpsw $PSWMASK /*turn overflow enable bit off */ ! 168: movl $MASK2B3,mask /*mask */ ! 169: movl $SOURCE2B3,source/*source */ ! 170: movl $INITIAL3,dest /*destination */ ! 171: bispsw $(N|V) /*overflow & negetive bits ON */ ! 172: andb3 mask+3,$SOURCE1B3,dest+3/* try again mem data mem */ ! 173: jneq error4 /*error if Z = 0 */ ! 174: jlss error4 /*error if N = 1 */ ! 175: jcc error4 /*error if C = 0 */ ! 176: jvs error4 /*error if V = 1 */ ! 177: cmpl dest,$EXP2B3 /*if dest <> expected value, */ ! 178: jeql andb3mrm /* if correct continue */ ! 179: movl $1,_ercode /* error code data miscompare */ ! 180: bbs $0,_scoplp,0b /* if set loop on error */ ! 181: movl dest,_actual /* actual data */ ! 182: movl $EXP2B3,_expected /* expected data */ ! 183: jmp *badrtn ! 184: error4: movpsl _actual /* actual = psl */ ! 185: bbs $0,_scoplp,0b /* if set loop on error */ ! 186: movl $2,_ercode /* error code flag failure */ ! 187: jmp *badrtn ! 188: /* */ ! 189: /* Now use mask = R, source & destination = M */ ! 190: andb3mrm: ! 191: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 192: aa5: callf $4,_setjmp /* save context for error return */ ! 193: movab aa5,_stpc /* save subtest program counter */ ! 194: movl $5,_subtst /* subtest number */ ! 195: movl $2,_no_opr /* number of operands in use */ ! 196: movl $MASK1B3,_opr /* first operand */ ! 197: movl $SOURCE1B3,_opr + 4 /* second operand */ ! 198: 0: bicpsw $PSWMASK /*turn overflow enable bit off */ ! 199: movl $MASK1B3,r3 /*mask */ ! 200: movl $SOURCE1B3,source/*source */ ! 201: movl $INITIAL3,dest /*destination */ ! 202: bispsw $(Z|V|C) /*overflow, Z & carry bits ON */ ! 203: andb3 r3,source+3,dest+3/*try it reg mem mem */ ! 204: jeql error5 /*error if Z = 1 */ ! 205: jlss error5 /*error if N = 1 */ ! 206: jcc error5 /*error if C = 0 */ ! 207: jvs error5 /*error if V = 1 */ ! 208: cmpl dest,$EXP1B3 /*if dest <> expected value, */ ! 209: jeql a6 /* if correct continue */ ! 210: movl $1,_ercode /* error code data miscompare */ ! 211: bbs $0,_scoplp,0b /* if set loop on error */ ! 212: movl dest,_actual /* actual data */ ! 213: movl $EXP1B3,_expected /* expected data */ ! 214: jmp *badrtn ! 215: error5: movpsl _actual /* actual = psl */ ! 216: bbs $0,_scoplp,0b /* if set loop on error */ ! 217: movl $2,_ercode /* error code flag failure */ ! 218: jmp *badrtn ! 219: /* */ ! 220: /* Now try another mask(0x55) */ ! 221: /* */ ! 222: a6: ! 223: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 224: aa6: callf $4,_setjmp /* save context for error return */ ! 225: movab aa6,_stpc /* save subtest program counter */ ! 226: movl $6,_subtst /* subtest number */ ! 227: movl $2,_no_opr /* number of operands in use */ ! 228: movl $MASK2B3,_opr /* first operand */ ! 229: movl $SOURCE2B3,_opr + 4 /* second operand */ ! 230: 0: bicpsw $PSWMASK /*turn overflow enable bit off */ ! 231: movl $INITIAL3,dest /*destination */ ! 232: bispsw $(N|V) /*overflow & negetive bits ON */ ! 233: andb3 $MASK2B3,$SOURCE2B3,dest+3/* try again data data mem */ ! 234: jneq error6 /*error if Z = 0 */ ! 235: jlss error6 /*error if N = 1 */ ! 236: jcc error6 /*error if C = 0 */ ! 237: jvs error6 /*error if V = 1 */ ! 238: cmpl dest,$EXP2B3 /*if dest <> expected value, */ ! 239: jneq error2 /*then error */ ! 240: jeql andb3rmm /* if correct continue */ ! 241: movl $1,_ercode /* error code data miscompare */ ! 242: bbs $0,_scoplp,0b /* if set loop on error */ ! 243: movl dest,_actual /* actual data */ ! 244: movl $EXP2B3,_expected /* expected data */ ! 245: jmp *badrtn ! 246: error6: movpsl _actual /* actual = psl */ ! 247: bbs $0,_scoplp,0b /* if set loop on error */ ! 248: movl $2,_ercode /* error code flag failure */ ! 249: jmp *badrtn ! 250: /* */ ! 251: /* Now try mask = M, source = R, dest = M */ ! 252: /* */ ! 253: andb3rmm: ! 254: ! 255: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 256: aa7: callf $4,_setjmp /* save context for error return */ ! 257: movab aa7,_stpc /* save subtest program counter */ ! 258: movl $7,_subtst /* subtest number */ ! 259: movl $2,_no_opr /* number of operands in use */ ! 260: movl $MASK1B3,_opr /* first operand */ ! 261: movl $SOURCE1B3,_opr + 4 /* second operand */ ! 262: 0: bicpsw $PSWMASK /*turn overflow enable bit off */ ! 263: movl $MASK1B3,mask /*mask */ ! 264: movl $SOURCE1B3,r4 /*source */ ! 265: movl $INITIAL3,dest /*destination */ ! 266: bispsw $(Z|V|C) /*overflow, Z & carry bits ON */ ! 267: andb3 mask+3,r4,dest+3/*try it mem reg mem */ ! 268: jeql error7 /*error if Z = 1 */ ! 269: jlss error7 /*error if N = 1 */ ! 270: jcc error7 /*error if C = 0 */ ! 271: jvs error7 /*error if V = 1 */ ! 272: movl $EXP1B3,r6 ! 273: cmpl dest,$EXP1B3 /*if dest <> expected value, */ ! 274: jeql a8 /* if correct continue */ ! 275: movl $1,_ercode /* error code data miscompare */ ! 276: bbs $0,_scoplp,0b /* if set loop on error */ ! 277: movl dest,_actual /* actual data */ ! 278: movl $EXP1B3,_expected /* expected data */ ! 279: jmp *badrtn ! 280: error7: movpsl _actual /* actual = psl */ ! 281: bbs $0,_scoplp,0b /* if set loop on error */ ! 282: movl $2,_ercode /* error code flag failure */ ! 283: jmp *badrtn ! 284: ! 285: /* Now try another mask(0x55) */ ! 286: /* */ ! 287: ! 288: a8: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 289: aa8: callf $4,_setjmp /* save context for error return */ ! 290: movab aa8,_stpc /* save subtest program counter */ ! 291: movl $8,_subtst /* subtest number */ ! 292: movl $2,_no_opr /* number of operands in use */ ! 293: movl $MASK2B3,_opr /* first operand */ ! 294: movl $SOURCE2B3,_opr + 4 /* second operand */ ! 295: 0: bicpsw $PSWMASK /*turn overflow enable bit off */ ! 296: movl $MASK2B3,mask /*mask */ ! 297: movl $SOURCE2B3,source/*source */ ! 298: movl $INITIAL3,r5 /*destination */ ! 299: bispsw $(N|V) /*overflow & negetive bits ON */ ! 300: andb3 mask+3,source+3,r5/* try again mem mem reg */ ! 301: jneq error8 /*error if Z = 0 */ ! 302: jlss error8 /*error if N = 1 */ ! 303: jcc error8 /*error if C = 0 */ ! 304: jvs error8 /*error if V = 1 */ ! 305: cmpl r5,$0 /*if dest <> expected value, */ ! 306: jeql andb3mrr /* if correct continue */ ! 307: movl $1,_ercode /* error code data miscompare */ ! 308: bbs $0,_scoplp,0b /* if set loop on error */ ! 309: movl r5,_actual /* actual data */ ! 310: movl $0,_expected /* expected data */ ! 311: jmp *badrtn ! 312: error8: movpsl _actual /* actual = psl */ ! 313: bbs $0,_scoplp,0b /* if set loop on error */ ! 314: movl $2,_ercode /* error code flag failure */ ! 315: jmp *badrtn ! 316: /* */ ! 317: /* Now try mask = R, source = M, dest = R */ ! 318: /* */ ! 319: andb3mrr: ! 320: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 321: aa9: callf $4,_setjmp /* save context for error return */ ! 322: movab aa9,_stpc /* save subtest program counter */ ! 323: movl $9,_subtst /* subtest number */ ! 324: movl $2,_no_opr /* number of operands in use */ ! 325: movl $MASK1B3,_opr /* first operand */ ! 326: movl $SOURCE1B3,_opr + 4 /* second operand */ ! 327: 0: bicpsw $PSWMASK /*turn overflow enable bit off */ ! 328: movl $MASK1B3,r3 /*mask */ ! 329: movl $SOURCE1B3,source/*source */ ! 330: movl $INITIAL3,r5 /*destination */ ! 331: bispsw $(Z|V|C) /*overflow, Z & carry bits ON */ ! 332: andb3 r3,source+3,r5 /*try it reg mem reg */ ! 333: jeql error9 /*error if Z = 1 */ ! 334: jlss error9 /*error if N = 1 */ ! 335: jcc error9 /*error if C = 0 */ ! 336: jvs error9 /*error if V = 1 */ ! 337: cmpb r5,$0xaa /*if dest <> expected value, */ ! 338: jeql a10 /* if correct continue */ ! 339: movl $1,_ercode /* error code data miscompare */ ! 340: bbs $0,_scoplp,0b /* if set loop on error */ ! 341: movl r5,_actual /* actual data */ ! 342: movl $0xaa,_expected /* expected data */ ! 343: jmp *badrtn ! 344: error9: movpsl _actual /* actual = psl */ ! 345: bbs $0,_scoplp,0b /* if set loop on error */ ! 346: movl $2,_ercode /* error code flag failure */ ! 347: jmp *badrtn ! 348: ! 349: /* Now try another mask(0x55) */ ! 350: /* */ ! 351: a10: ! 352: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 353: aa10: callf $4,_setjmp /* save context for error return */ ! 354: movab aa10,_stpc /* save subtest program counter */ ! 355: movl $0xa,_subtst /* subtest number */ ! 356: movl $2,_no_opr /* number of operands in use */ ! 357: movl $MASK2B3,_opr /* first operand */ ! 358: movl $SOURCE2B3,_opr + 4 /* second operand */ ! 359: 0: bicpsw $PSWMASK /*turn overflow enable bit off */ ! 360: movl $SOURCE2B3,r4 /*source */ ! 361: movl $INITIAL3,dest /*destination */ ! 362: bispsw $(N|V) /*overflow & negetive bits ON */ ! 363: andb3 $MASK2B3,r4,dest+3 /* try again data reg mem */ ! 364: jneq error10 /*error if Z = 0 */ ! 365: jlss error10 /*error if N = 1 */ ! 366: jcc error10 /*error if C = 0 */ ! 367: jvs error10 /*error if V = 1 */ ! 368: cmpb dest+3,$0 /*if dest <> expected value, */ ! 369: jeql a11 /* if correct continue */ ! 370: movl $1,_ercode /* error code data miscompare */ ! 371: bbs $0,_scoplp,0b /* if set loop on error */ ! 372: movl dest,_actual /* actual data */ ! 373: movl $0,_expected /* expected data */ ! 374: jmp *badrtn ! 375: error10: movpsl _actual /* actual = psl */ ! 376: bbs $0,_scoplp,0b /* if set loop on error */ ! 377: movl $2,_ercode /* error code flag failure */ ! 378: jmp *badrtn ! 379: ! 380: /* Now try another mask(0x55) */ ! 381: /* */ ! 382: ! 383: a11: ! 384: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 385: aa11: callf $4,_setjmp /* save context for error return */ ! 386: movab aa11,_stpc /* save subtest program counter */ ! 387: movl $0xb,_subtst /* subtest number */ ! 388: movl $2,_no_opr /* number of operands in use */ ! 389: movl $MASK2B3,_opr /* first operand */ ! 390: movl $SOURCE2B3,_opr + 4 /* second operand */ ! 391: 0: bicpsw $PSWMASK /*turn overflow enable bit off */ ! 392: movl $SOURCE2B3,r4 /*source */ ! 393: movl $INITIAL3,r5 /*destination */ ! 394: bispsw $(N|V) /*overflow & negetive bits ON */ ! 395: andb3 $MASK2B3,r4,r5 /* try again data reg reg */ ! 396: jneq error11 /*error if Z = 0 */ ! 397: jlss error11 /*error if N = 1 */ ! 398: jcc error11 /*error if C = 0 */ ! 399: jvs error11 /*error if V = 1 */ ! 400: cmpl r5,$0 /*if dest <> expected value, */ ! 401: jeql a12 /* if correct continue */ ! 402: movl $1,_ercode /* error code data miscompare */ ! 403: bbs $0,_scoplp,0b /* if set loop on error */ ! 404: movl r5,_actual /* actual data */ ! 405: movl $0,_expected /* expected data */ ! 406: jmp *badrtn ! 407: error11: movpsl _actual /* actual = psl */ ! 408: bbs $0,_scoplp,0b /* if set loop on error */ ! 409: movl $2,_ercode /* error code flag failure */ ! 410: jmp *badrtn ! 411: ! 412: /* Now try another mask(0x55) */ ! 413: /* */ ! 414: ! 415: a12: ! 416: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 417: aa12: callf $4,_setjmp /* save context for error return */ ! 418: movab aa12,_stpc /* save subtest program counter */ ! 419: movl $0xc,_subtst /* subtest number */ ! 420: movl $2,_no_opr /* number of operands in use */ ! 421: movl $MASK2B3,_opr /* first operand */ ! 422: movl $SOURCE2B3,_opr + 4 /* second operand */ ! 423: 0: bicpsw $PSWMASK /*turn overflow enable bit off */ ! 424: movl $MASK2B3,r3 /*mask */ ! 425: movl $INITIAL3,r5 /*destination */ ! 426: bispsw $(N|V) /*overflow & negetive bits ON */ ! 427: andb3 r3,$SOURCE2B3,r5/* try again reg data reg */ ! 428: jneq error12 /*error if Z = 0 */ ! 429: jlss error12 /*error if N = 1 */ ! 430: jcc error12 /*error if C = 0 */ ! 431: jvs error12 /*error if V = 1 */ ! 432: cmpl r5,$0 /*if dest <> expected value, */ ! 433: jeql a13 /* if correct continue */ ! 434: movl $1,_ercode /* error code data miscompare */ ! 435: bbs $0,_scoplp,0b /* if set loop on error */ ! 436: movl r5,_actual /* actual data */ ! 437: movl $0,_expected /* expected data */ ! 438: jmp *badrtn ! 439: error12: movpsl _actual /* actual = psl */ ! 440: bbs $0,_scoplp,0b /* if set loop on error */ ! 441: movl $2,_ercode /* error code flag failure */ ! 442: jmp *badrtn ! 443: ! 444: a13: ! 445: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 446: aa13: callf $4,_setjmp /* save context for error return */ ! 447: movab aa13,_stpc /* save subtest program counter */ ! 448: movl $0xd,_subtst /* subtest number */ ! 449: movl $2,_no_opr /* number of operands in use */ ! 450: movl $MASK1B3,_opr /* first operand */ ! 451: movl $SOURCE1B3,_opr + 4 /* second operand */ ! 452: 0: bicpsw $PSWMASK /*turn overflow enable bit off */ ! 453: movl $MASK1B3,r3 /*mask */ ! 454: movl $SOURCE1B3,r4 /*source */ ! 455: movl $INITIAL3,dest /*destination */ ! 456: bispsw $(Z|V|C) /*overflow, Z & carry bits ON */ ! 457: andb3 r3,r4,dest+3 /*try it reg reg mem */ ! 458: jeql error13 /*error if Z = 1 */ ! 459: jlss error13 /*error if N = 1 */ ! 460: jcc error13 /*error if C = 0 */ ! 461: jvs error13 /*error if V = 1 */ ! 462: movl $0x7fffffaa,r6 ! 463: cmpl dest,r6 /*if dest <> expected value, */ ! 464: jneq error2 /*then error */ ! 465: jeql aldn /* if correct continue */ ! 466: movl $1,_ercode /* error code data miscompare */ ! 467: bbs $0,_scoplp,0b /* if set loop on error */ ! 468: movl dest,_actual /* actual data */ ! 469: movl r6,_expected /* expected data */ ! 470: jmp *badrtn ! 471: error13: movpsl _actual /* actual = psl */ ! 472: bbs $0,_scoplp,0b /* if set loop on error */ ! 473: movl $2,_ercode /* error code flag failure */ ! 474: jmp *badrtn ! 475: ! 476: ! 477: ! 478: aldn: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 479: jmp *return ! 480: /* */ ! 481: /* Variables */ ! 482: /* */ ! 483: .align 2 ! 484: mask: .space 4 ! 485: source: .space 4 ! 486: dest: .space 4 ! 487: ! 488: /* */ ! 489: /* End of file */ ! 490:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.