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