|
|
1.1 ! root 1: ! 2: /* andl3 mask,src,dest */ ! 3: /* Combination = 1,3,4 */ ! 4: /* mask src dest */ ! 5: /* ---- --- ---- */ ! 6: /* 1 3 4 */ ! 7: /* 1 4 3 */ ! 8: /* 3 1 4 */ ! 9: /* 3 4 1 */ ! 10: /* 4 1 3 */ ! 11: /* 4 3 1 */ ! 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 _ca134 ! 44: _ca134: callf $4,_setjmp /* save context */ ! 45: movab _ca134,_stpc /* save subtest pc */ ! 46: movl $1,_subtst /* subtest number */ ! 47: movl $4,_no_opr /* number of operands used */ ! 48: 0: movl $MASK,r3 ! 49: movl base_add,r5 ! 50: movl $3,r6 /*index for dest */ ! 51: movl r3,_opr /* first operand */ ! 52: movl $SRC,_opr + 4 /* second operand */ ! 53: movl r5,_opr + 8 /* third operand */ ! 54: movl r6,_opr + 12 /* fourth operand */ ! 55: andl3 r3,$SRC,*l^64020(r5)[r6] ! 56: cmpl $0,dest ! 57: beql 1f ! 58: er1: bbs $0,_scoplp,0b /* if set jump for scope loop */ ! 59: movl $1,_ercode /* error code */ ! 60: movl dest,_actual /* actual data */ ! 61: movl $0,_expected /* expected data */ ! 62: jmp *badrtn /*error - mode = 134 */ ! 63: 1: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 64: 1: callf $4,_setjmp /* save context */ ! 65: movab 1b,_stpc /* save subtest pc */ ! 66: movl $2,_subtst /* subtest number */ ! 67: movl $4,_no_opr /* number of operands used */ ! 68: 0: movl $SRC,r3 ! 69: movl $DEST,dest ! 70: movl $MASK,_opr /* first operand */ ! 71: movl r3,_opr + 4 /* second operand */ ! 72: movl r5,_opr + 8 /* third operand */ ! 73: movl r6,_opr + 12 /* fourth operand */ ! 74: andl3 $MASK,r3,*l^64020(r5)[r6] ! 75: cmpl $0,dest ! 76: beql 2f ! 77: er2: bbs $0,_scoplp,0b /* if set jump for scope loop */ ! 78: movl $1,_ercode /* error code */ ! 79: movl dest,_actual /* actual data */ ! 80: movl $0,_expected /* expected data */ ! 81: jmp *badrtn /*error - mode = 314 */ ! 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 used */ ! 87: 0: movl $2,r6 /*index for source */ ! 88: movl $SRC,src ! 89: movl $DEST,r3 ! 90: movl $MASK,_opr /* first operand */ ! 91: movl r5,_opr + 4 /* second operand */ ! 92: movl r6,_opr + 8 /* third operand */ ! 93: movl r3,_opr + 12 /* fourth operand */ ! 94: andl3 $MASK,*l^64020(r5)[r6],r3 ! 95: cmpl $0,r3 ! 96: beql 3f ! 97: er3: bbs $0,_scoplp,0b /* if set jump for scope loop */ ! 98: movl $1,_ercode /* error code */ ! 99: movl r3,_actual /* actual data */ ! 100: movl $0,_expected /* expected data */ ! 101: jmp *badrtn /*error - mode = 341 */ ! 102: 3: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 103: 3: callf $4,_setjmp /* save context */ ! 104: movab 3b,_stpc /* save subtest pc */ ! 105: movl $4,_subtst /* subtest number */ ! 106: movl $4,_no_opr /* number of operands used */ ! 107: 0: movl $MASK,mask ! 108: movl $1,r6 /*index for mask */ ! 109: movl $DEST,r3 ! 110: movl r5,_opr /* first operand */ ! 111: movl r6,_opr + 4 /* second operand */ ! 112: movl $SRC,_opr + 8 /* third operand */ ! 113: movl r3,_opr + 12 /* fourth operand */ ! 114: andl3 *l^64020(r5)[r6],$SRC,r3 ! 115: cmpl $0,r3 ! 116: beql 4f ! 117: er4: bbs $0,_scoplp,0b /* if set jump for scope loop */ ! 118: movl $1,_ercode /* error code */ ! 119: movl $1,_ercode /* error code */ ! 120: movl r3,_actual /* actual data */ ! 121: movl $0,_expected /* expected data */ ! 122: jmp *badrtn /*error - mode = 431 */ ! 123: 4: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 124: movl $0,_ercode /* no error */ ! 125: jmp *return /*end of test - goto monitor */ ! 126: ! 127: ! 128: /* end of file */ ! 129:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.