|
|
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.