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