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