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