|
|
1.1 root 1:
2:
3: /* BTCS (branch to control store) test */
4:
5: /*Test name = btcs */
6: /*Description = */
7: /* This test checks "btcs" instruction to see that */
8: /* (1)the result in r0 is 31 - vector */
9: /* */
10: /* Constants definition */
11: /* */
12: .set IPL,8
13: .set HIGH,31
14: .set ZERO,0
15: .set ONES,0xffffffff
16: .set N,8
17: .set Z,4
18: .set V,2
19: .set C,1
20: .set EXPL,0
21: .set EXPW,0
22: .set EXPB,0
23: .set PSWMASK,0x003f
24: .globl _btcs
25: _btcs:
26: callf $4,_setjmp /* save context for error return */
27: movab _btcs,_stpc /* address of subtest */
28: movl $1,_subtst /* subtest number */
29: 0: movl $ONES,r0 /*set r0 to all bits ones */
30: btcs $0 /* check for 31 - vector in r0 */
31: cmpl $0,r0
32: jneq error1
33: movl $2,_subtst /* subtest number */
34: btcs $1
35: cmpl $1,r0
36: jneq error1
37: movl $3,_subtst /* subtest number */
38: btcs $2
39: cmpl $2,r0
40: jneq error1
41: movl $4,_subtst /* subtest number */
42: btcs $3
43: cmpl $3,r0
44: jneq error1
45: movl $5,_subtst /* subtest number */
46: btcs $4
47: cmpl $4,r0
48: jneq error1
49: movl $6,_subtst /* subtest number */
50: btcs $5
51: cmpl $5,r0
52: jneq error1
53: movl $7,_subtst /* subtest number */
54: btcs $6
55: cmpl $6,r0
56: jneq error1
57: movl $8,_subtst /* subtest number */
58: btcs $7
59: cmpl $7,r0
60: jneq error1
61: movl $9,_subtst /* subtest number */
62: btcs $8
63: cmpl $8,r0
64: jneq error1
65: movl $0xa,_subtst /* subtest number */
66: btcs $9
67: cmpl $9,r0
68: jneq error1
69: movl $0xb,_subtst /* subtest number */
70: btcs $10
71: cmpl $10,r0
72: jneq error1
73: movl $0xc,_subtst /* subtest number */
74: btcs $11
75: cmpl $11,r0
76: jneq error1
77: movl $0xd,_subtst /* subtest number */
78: btcs $12
79: cmpl $12,r0
80: jneq error1
81: movl $0xe,_subtst /* subtest number */
82: btcs $13
83: cmpl $13,r0
84: jneq error1
85: movl $0xf,_subtst /* subtest number */
86: btcs $14
87: cmpl $14,r0
88: jneq error1
89: movl $0x10,_subtst /* subtest number */
90: btcs $15
91: cmpl $15,r0
92: jneq error1
93: movl $0x11,_subtst /* subtest number */
94: btcs $16
95: cmpl $16,r0
96: jneq error1
97: movl $0x12,_subtst /* subtest number */
98: btcs $17
99: cmpl $17,r0
100: jneq error1
101: movl $0x13,_subtst /* subtest number */
102: btcs $18
103: cmpl $18,r0
104: jneq error1
105: movl $0x14,_subtst /* subtest number */
106: btcs $19
107: cmpl $19,r0
108: jneq error1
109: movl $0x15,_subtst /* subtest number */
110: btcs $20
111: cmpl $20,r0
112: jneq error1
113: movl $0x16,_subtst /* subtest number */
114: btcs $21
115: cmpl $21,r0
116: jneq error1
117: movl $0x17,_subtst /* subtest number */
118: btcs $22
119: cmpl $22,r0
120: jneq error1
121: movl $0x18,_subtst /* subtest number */
122: btcs $23
123: cmpl $23,r0
124: jneq error1
125: movl $0x19,_subtst /* subtest number */
126: btcs $24
127: cmpl $24,r0
128: jneq error1
129: movl $0x1a,_subtst /* subtest number */
130: btcs $25
131: cmpl $25,r0
132: jneq error1
133: movl $0x1b,_subtst /* subtest number */
134: btcs $26
135: cmpl $26,r0
136: jneq error1
137: movl $0x1c,_subtst /* subtest number */
138: btcs $27
139: cmpl $27,r0
140: jneq error1
141: movl $0x1d,_subtst /* subtest number */
142: btcs $28
143: cmpl $28,r0
144: jneq error1
145: movl $0x1e,_subtst /* subtest number */
146: btcs $29
147: cmpl $29,r0
148: jneq error1
149: movl $0x1f,_subtst /* subtest number */
150: btcs $30
151: cmpl $30,r0
152: jneq error1
153: movl $0x20,_subtst /* subtest number */
154: btcs $31
155: cmpl $31,r0
156: jneq error1
157: movl $0x21,_subtst /* subtest number */
158: movl $15,r5 /* check register addressing mode */
159: btcs r5
160: cmpl $15,r0
161: jneq error1
162:
163: bbs $0,_force_lp,0b /* if set loop on subtest */
164: jmp *return /* good, return to monitor */
165:
166: error1: bbs $0,_scoplp,0b /* if set loop on error */
167: movl $1,_ercode /* error code data miscompare */
168: movl r0,_actual /* actual data */
169: subl3 $1,_subtst,_expected /* expected value */
170: jmp *badrtn /*error */
171:
172: /* End of file */
173:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.