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