|
|
1.1 root 1:
2: /* andl3 mask,src,dest */
3: /* Combination = 3,3,4 & (4,4,3) */
4: /* mask src dest */
5: /* ---- --- ---- */
6: /* 3 3 4 */
7: /* 3 4 3 illegal */
8: /* 4 3 3 illegal */
9: /* 4 4 3 illegal */
10: /* 4 3 4 */
11: /* 3 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 _ca334
44: _ca334: callf $4,_setjmp /* save context */
45: movab _ca334,_stpc /* save subtest pc */
46: movl $1,_subtst /* save subtest number */
47: movl $4,_no_opr /* four operands in use */
48: 0: movl base_add,r3
49: movl $3,r4
50: movl $MASK,_opr /* first operand */
51: movl $SRC,_opr + 4 /* second operand */
52: movl r3,_opr + 8 /* third operand */
53: movl r4,_opr + 12 /* fourth operand */
54: andl3 $MASK,$SRC,*l^64020(r3)[r4]
55: cmpl $0,dest
56: beql 1f
57: er1: bbs $0,_scoplp,0b /* if set scope loop on error */
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 = 334 */
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 /* save subtest number */
66: movl $4,_no_opr /* four operands in use */
67: 0: movl $1,r5
68: movl $DEST,dest
69: movl r3,_opr /* first operand */
70: movl r5,_opr + 4 /* second operand */
71: movl $SRC,_opr + 8 /* third operand */
72: movl r4,_opr + 12 /* fourth operand */
73: andl3 *l^64020(r3)[r5],$SRC,*l^64020(r3)[r4]
74: cmpl $0,dest
75: beql 2f
76: er2: bbs $0,_scoplp,0b /* if set scope loop on error */
77: movl $1,_ercode /* error code data miscompare */
78: movl dest,_actual /* actual data */
79: movl $0,_expected /* expected data */
80: jmp *badrtn /*error - mode = 434 */
81: 2: bbs $0,_force_lp,0b /* if set loop on last subtest */
82: 2: callf $4,_setjmp /* save context */
83: movab 2b,_stpc /* save subtest pc */
84: movl $3,_subtst /* save subtest number */
85: movl $4,_no_opr /* four operands in use */
86: 0: movl $2,r5
87: movl $DEST,dest
88: movl $MASK,_opr /* first operand */
89: movl r3,_opr + 4 /* second operand */
90: movl r5,_opr + 8 /* third operand */
91: movl r4,_opr + 12 /* fourth operand */
92: andl3 $MASK,*l^64020(r3)[r5],*l^64020(r3)[r4]
93: cmpl $0,dest
94: beql 3f
95: er3: bbs $0,_scoplp,0b /* if set scope loop on error */
96: movl $1,_ercode /* error code data miscompare */
97: movl dest,_actual /* actual data */
98: movl $0,_expected /* expected data */
99: jmp *badrtn /*error - mode = 344 */
100: 3: bbs $0,_force_lp,0b /* if set loop on last subtest */
101: movl $0,_ercode /* no error */
102: jmp *return /*end of test - goto monitor */
103:
104:
105: /* end of file */
106:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.