|
|
1.1 ! root 1: ! 2: /* andl3 mask,src,dest */ ! 3: /* Combination = 1,2,3 */ ! 4: /* mask src dest */ ! 5: /* ---- --- ---- */ ! 6: /* 1 2 3 */ ! 7: /* 1 3 2 */ ! 8: /* 2 1 3 */ ! 9: /* 2 3 1 */ ! 10: /* 3 1 2 */ ! 11: /* 3 2 1 */ ! 12: /* where 1 = register mode */ ! 13: /* 2 = (register) mode */ ! 14: /* 3 = immidiate mode */ ! 15: /* 4 = longword displacement deferred mode */ ! 16: ! 17: /* */ ! 18: /* Syst.s - Constants */ ! 19: /* */ ! 20: .set IPL,8 ! 21: .set HIGH,31 ! 22: .set ZERO,0 ! 23: .set ONES,0xffffffff ! 24: .set N,8 ! 25: .set Z,4 ! 26: .set V,2 ! 27: .set C,1 ! 28: .set T,16 ! 29: .set IV,32 ! 30: .set FU,64 ! 31: .set DV,128 ! 32: .set PSWMASK,0x003f ! 33: ! 34: ! 35: .globl _ca123 ! 36: _ca123: callf $4,_setjmp /* save context */ ! 37: movab _ca123,_stpc /* save subtest pc */ ! 38: movl $1,_subtst /* subtest number */ ! 39: movl $3,_no_opr /* number of operand used */ ! 40: 0: movl $0x55555555,r3 /*mask */ ! 41: movl da,r4 /*destination address */ ! 42: movl r3,_opr /* first operand */ ! 43: movl $0xaaaaaaaa,_opr + 4 /* second operand */ ! 44: movl r4,_opr + 8 /* third operand */ ! 45: andl3 r3,$0xaaaaaaaa,(r4) ! 46: cmpl $0,dest ! 47: beql 1f ! 48: er1: bbs $0,_scoplp,0b /* if set tight scope loop on error */ ! 49: movl $1,_ercode /* error code data miscompare */ ! 50: movl dest,_actual /* actual data */ ! 51: movl $0,_expected /* expected data */ ! 52: jmp *badrtn /*display error */ ! 53: /*mode = 132 */ ! 54: 1: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 55: 1: callf $4,_setjmp /* save context */ ! 56: movab 1b,_stpc /* save subtest pc */ ! 57: movl $2,_subtst /* subtest number */ ! 58: movl $3,_no_opr /* number of operand used */ ! 59: 0: movl $0x55555555,mask ! 60: movl ma,r4 /*mask address */ ! 61: movl $0xffffffff,r3 /*destination */ ! 62: movl r4,_opr /* first operand */ ! 63: movl $0xaaaaaaaa,_opr + 4 /* second operand */ ! 64: movl r3,_opr + 8 /* third operand */ ! 65: andl3 (r4),$0xaaaaaaaa,r3 ! 66: cmpl $0,r3 ! 67: beql 2f ! 68: er2: bbs $0,_scoplp,0b /* if set tight scope loop on error */ ! 69: movl $1,_ercode /* error code data miscompare */ ! 70: movl r3,_actual /* actual data */ ! 71: movl $0,_expected /* expected data */ ! 72: jmp *badrtn /*display error */ ! 73: /*mode = 231 */ ! 74: 2: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 75: 2: callf $4,_setjmp /* save context */ ! 76: movab 2b,_stpc /* save subtest pc */ ! 77: movl $3,_subtst /* subtest number */ ! 78: movl $3,_no_opr /* number of operand used */ ! 79: 0: movl $0xaaaaaaaa,r3 /*source */ ! 80: movl $0xffffffff,dest /*destination */ ! 81: movl da,r4 /*dest address */ ! 82: movl $0x55555555,_opr /* first operand */ ! 83: movl r3,_opr + 4 /* second operand */ ! 84: movl r4,_opr + 8 /* third operand */ ! 85: andl3 $0x55555555,r3,(r4) ! 86: cmpl $0,dest ! 87: beql 3f ! 88: er3: bbs $0,_scoplp,0b /* if set tight scope loop on error */ ! 89: movl $1,_ercode /* error code data miscompare */ ! 90: movl dest,_actual /* actual data */ ! 91: movl $0,_expected /* expected data */ ! 92: jmp *badrtn /*display error */ ! 93: /*mode = 312 */ ! 94: 3: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 95: 3: callf $4,_setjmp /* save context */ ! 96: movab 3b,_stpc /* save subtest pc */ ! 97: movl $4,_subtst /* subtest number */ ! 98: movl $3,_no_opr /* number of operand used */ ! 99: 0: movl $0xaaaaaaaa,src ! 100: movl sa,r4 /*source address */ ! 101: movl $0xffffffff,r3 /*destination */ ! 102: movl $0x55555555,_opr /* first operand */ ! 103: movl r4,_opr + 4 /* second operand */ ! 104: movl r3,_opr + 8 /* third operand */ ! 105: andl3 $0x55555555,(r4),r3 ! 106: cmpl $0,r3 ! 107: beql 4f ! 108: er4: bbs $0,_scoplp,0b /* if set tight scope loop on error */ ! 109: movl $1,_ercode /* error code data miscompare */ ! 110: movl r3,_actual /* actual data */ ! 111: movl $0,_expected /* expected data */ ! 112: jmp *badrtn /*error, mode = 321 */ ! 113: ! 114: 4: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 115: movl $0,_ercode /* clear error reg */ ! 116: jmp *return /*end of test - goto monitor */ ! 117: ! 118: /* end of file */ ! 119:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.