|
|
1.1 root 1:
2:
3: /* RELATIVE 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 _reldw_mode
25: _reldw_mode:
26: /*byte relative deferred */
27: movl $_stpc,r7
28: movab _reldw_mode,(r7) /* save subtest pc */
29: movl $_subtst,r7
30: movl $1,(r7) /* subtest number */
31: movl $_no_opr,r7
32: movl $1,(r7) /* number of operands in use */
33: movl $_opr,r7
34: movl *bloc1,(r7) /* first operand */
35: 0: movl *bloc1,r3 /*r3 = (bloc) */
36: cmpl r3,$0xaaaaaaaa /*r3 = literal value? */
37: beql 1f /*if yes, goto next test */
38: jmp er1
39: 1: movl $nxt1,r6
40: jmp (r6)
41: er1:
42: movl $0b,r6
43: movl $_scoplp,r7
44: tstl (r7)
45: beql 1f
46: jmp (r6)
47: 1: movl $_ercode,r7
48: movl $1,(r7) /*error code data miscompare*/
49: movl $_actual,r7
50: movl r3,(r7) /* actual data */
51: movl $_expected,r7
52: movl $0xaaaaaaaa,(r7) /*expected; r3 = observed*/
53: movl *$badrtn,r7 /*error - dislay error */
54: jmp (r7)
55: nxt1:
56: /*word relative deferred */
57: movl $_stpc,r7
58: movab nxt1,(r7) /* save subtest pc */
59: movl $_subtst,r7
60: movl $2,(r7) /* subtest number */
61: movl $_no_opr,r7
62: movl $1,(r7) /* number of operands in use */
63: movl $_opr,r7
64: movl *wloc1,(r7) /* first operand */
65: 0: bicpsw $PSWMASK /*psw = 0 */
66: movl *wloc1,r3 /*r3 = (wloc) */
67: cmpl r3,$0xbbbbbbbb /*r3 = literal value? */
68: beql 1f /*if yes, goto next test */
69: jmp er2
70: 1: movl $ret2,r6
71: jmp (r6)
72: er2:
73: movl $0b,r6
74: movl $_scoplp,r7
75: tstl (r7)
76: beql 1f
77: jmp (r6)
78: 1: movl $_ercode,r7
79: movl $1,(r7) /*error code data miscompare*/
80: movl $_actual,r7
81: movl r3,(r7) /* actual data */
82: movl $_expected,r7
83: movl $0xbbbbbbbb,(r7) /*expected; r3 = observed*/
84: movl *$badrtn,r7 /*error - dislay error */
85: jmp (r7)
86: ret2:
87: movl *$return,r7 /*end of test - goto monitor */
88: jmp (r7)
89:
90:
91: /* Variables list */
92: .align 2
93: bloc: .fill 4,1,0xaa
94: bloc1: .long bloc
95: empty1: .space 255 /*255 bytes of zeros */
96: /*to force word addressing */
97: .align 2
98: wloc: .fill 1,4,0xbbbbbbbb
99: wloc1: .long wloc
100:
101:
102: /* End of file */
103:
104:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.