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