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