|
|
1.1 root 1:
2:
3: /* REGISTER DEFERRED ADDRESSING MODE TEST */
4: /* */
5: /* */
6: /* */
7: /* Syst.s - Constants */
8: /* */
9: .set IPL,8
10: .set HIGH,31
11: .set ZERO,0
12: .set ONES,0xffffffff
13: .set N,8
14: .set Z,4
15: .set V,2
16: .set C,1
17: .set T,16
18: .set IV,32
19: .set FU,64
20: .set DV,128
21: .set PSWMASK,0x003f
22:
23:
24: .globl _regd_mode
25: _regd_mode:
26: /*register deferred */
27: callf $4,_setjmp /* save context */
28: movab _regd_mode,_stpc /* save subtest pc */
29: movl $1,_subtst /* subtest number */
30: movl $1,_no_opr /* number of operands in use */
31: 0: movl $0xaaaaaaaa,bloc
32: movl $0xbbbbbbbb,wloc
33: movl $0x55555555,lloc
34: bicpsw $PSWMASK /*psw = 0 */
35: movl bloc1,r4 /*r4 = bloc address */
36: movl r4,_opr /* first operand */
37: movl (r4),r3
38: cmpl r3,$0xaaaaaaaa /*r3 = literal value? */
39: beql 1f /*if yes, goto next test */
40: er1:
41: bbs $0,_scoplp,0b /* if set loop on error */
42: movl $1,_ercode /* error code data miscompare */
43: movl r3,_actual /* actual data */
44: movl $0xaaaaaaaa,_expected /* expected data */
45: jmp *badrtn /*error - dislay error */
46: 1:
47: bbs $0,_force_lp,0b /* if set loop on last subtest */
48: 1: callf $4,_setjmp /* save context */
49: movab 1b,_stpc /* save subtest pc */
50: movl $2,_subtst /* subtest number */
51: movl $1,_no_opr /* number of operands in use */
52: 0: bicpsw $PSWMASK /*psw = 0 */
53: movl wloc1,r4 /*r4 = wloc address */
54: movl r4,_opr /* first operand */
55: movl (r4),r3
56: cmpl r3,$0xbbbbbbbb /*r3 = literal value? */
57: beql 2f /*if yes, goto next test */
58: er2:
59: bbs $0,_scoplp,0b /* if set loop on error */
60: movl $1,_ercode /* error code data miscompare */
61: movl r3,_actual /* actual data */
62: movl $0xbbbbbbbb,_expected /* expected data */
63: jmp *badrtn /*error - dislay error */
64: 2:
65: bbs $0,_force_lp,0b /* if set loop on last subtest */
66: 2: callf $4,_setjmp /* save context */
67: movab 2b,_stpc /* save subtest pc */
68: movl $3,_subtst /* subtest number */
69: movl $1,_no_opr /* number of operands in use */
70: 0: bicpsw $PSWMASK /*psw = 0 */
71: movl lloc1,r4 /*r4 = lloc address */
72: movl r4,_opr /* first operand */
73: movl (r4),r3
74: cmpl r3,$0x55555555 /*r3 = literal value? */
75: beql 3f /*if yes, goto next test */
76: er3:
77: bbs $0,_scoplp,0b /* if set loop on error */
78: movl $1,_ercode /* error code data miscompare */
79: movl r3,_actual /* actual data */
80: movl $0x55555555,_expected /* expected data */
81: jmp *badrtn /*error - dislay error */
82: 3:
83: bbs $0,_force_lp,0b /* if set loop on last subtest */
84: 3: callf $4,_setjmp /* save context */
85: movab 3b,_stpc /* save subtest pc */
86: movl $4,_subtst /* subtest number */
87: movl $2,_no_opr /* number of operands in use */
88: 0: bicpsw $PSWMASK /*register deferred addressing in*/
89: /*second operand */
90: movl $4,r1 /* subtest number */
91: movl lloc1,r4
92: movl $-1,r3
93: movl r3,_opr /* first operand */
94: movl r4,_opr + 4 /* second operand */
95: movl r3,(r4)
96: cmpl $-1,lloc
97: beql 4f
98: er4:
99: bbs $0,_scoplp,0b /* if set loop on error */
100: movl $1,_ercode /* error code data miscompare */
101: movl lloc,_actual /* actual data */
102: movl $-1,_expected /* expected data */
103: jmp *badrtn /*error - dislay error */
104:
105: 4:
106: bbs $0,_force_lp,0b /* if set loop on last subtest */
107: movl $0,_ercode /*no error*/
108: jmp *return /*end of test - goto monitor */
109:
110:
111: /* Variables list */
112: .align 2
113: bloc: .fill 4,1,0xaa
114: .align 2
115: bloc1: .long bloc
116: empty1: .space 255 /*255 bytes of zeros */
117: .align 2
118: /*to force word addressing */
119: wloc: .fill 1,4,0xbbbbbbbb
120: .align 2
121: wloc1: .long wloc
122: empty2: .space 16565 /*to force long word addressing */
123: .align 2
124: lloc: .fill 1,4,0x55555555
125: .align 2
126: lloc1: .long lloc
127:
128:
129: /* End of file */
130:
131:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.