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