|
|
1.1 root 1:
2: /* BYTE DISPLACEMENT 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: .globl _bdisp_mode
23: _bdisp_mode:
24: callf $4,_setjmp /* save context for error return */
25: movab _bdisp_mode,_stpc /* save subtest pc */
26: movl $1,_subtst /* subttest number */
27: movl $1,_no_opr /* number of operands */
28: movl bb1,_opr /* operand used in test */
29: 0: bicpsw $PSWMASK
30: movl bb1,r3 /*move address of label bbase1 */
31: movb $0x55,b^127(r3) /*change byte 127 of bbase1 */
32: cmpl bbasel,$0xffffff55 /*see if it happened */
33: beql 1f
34: er1:
35: bbs $0,_scoplp,0b /* if set tight loop for scope */
36: movl $1,_ercode /*error code*/
37: movl bbasel,_actual /*observed*/
38: movl $0xffffff55,_expected /*expected*/
39: jmp *badrtn /*byte disp mode did not change */
40: /*right byte */
41: 1: cmpl r3,bb1 /*check r3 did not changed */
42: beql 2f
43: er2:
44: bbs $0,_scoplp,0b /* if set tight loop for scope */
45: movl $3,_ercode /*error code operand miscompare */
46: movl r3,_actual /*observed*/
47: movl bb1,_expected /*expected*/
48: jmp *badrtn /*byte disp mode changed the base*/
49: /*which was r3; r3 = changed base*/
50: /*r4 = original base loaded in r3*/
51: 2: bbs $0,_force_lp,0b /* if set loop on last subtest */
52: 2: callf $4,_setjmp /* save context for error return */
53: movab 2b,_stpc /* save subtest pc */
54: movl $2,_subtst /* subttest number */
55: movl $1,_no_opr /* number of operands */
56: movl r3,_opr /* operand used in test */
57: 0: movb b^1(r3),b^126(r3)
58: cmpl bbasel,$0xffff2255
59: beql 3f
60: er3:
61: bbs $0,_scoplp,0b /* if set tight loop for scope */
62: movl $1,_ercode /*error code - data miscompare */
63: movl bbase1,_actual /*observed*/
64: movl $0xffff2255,_expected /*expected*/
65: jmp *badrtn /*byte disp mode did not change */
66: /*right byte */
67: 3: cmpl r3,bb1
68: beql 4f
69: er4:
70: bbs $0,_scoplp,0b /* if set tight loop for scope */
71: movl $3,_ercode /*error code operand miscompare */
72: movl r3,_actual /*observed*/
73: movl bb1,_expected /*expected*/
74: jmp *badrtn /*byte disp mode changed the base*/
75: /*which was r3; r3 = changed base*/
76: /*r4 = original base loaded in r3*/
77: 4: bbs $0,_force_lp,0b /* if set loop on last subtest */
78: 4: callf $4,_setjmp /* save context for error return */
79: movab 4b,_stpc /* save subtest pc */
80: movl $3,_subtst /* subttest number */
81: movl $1,_no_opr /* number of operands */
82: movl r3,_opr /* operand used in test */
83: 0: movb 2(r3),125(r3)
84: cmpl bbasel,$0xff112255
85: beql 5f
86: er5:
87: bbs $0,_scoplp,0b /* if set tight loop for scope */
88: movl $1,_ercode /*error code - data miscompare */
89: movl bbase1,_actual /*observed*/
90: movl $0xff112255,_expected /*expected*/
91: jmp *badrtn /*byte disp mode did not change */
92: /*right byte */
93: 5:
94: bbs $0,_force_lp,0b /* if set loop on last subtest */
95: movl $0,_ercode /*no error*/
96: movl $0x33221100,bbase1
97: movl $0xaaaaaaaa,bbase2
98: movl $0xbbbbbbbb,bbase3
99: movl $0xffffffff,bbasel
100: jmp *return
101: /*end of test - goto monitor */
102:
103:
104:
105: /* Variables */
106: .align 2
107: bbase1: .fill 1,4,0x33221100 /*relative location 0*/
108: bbase2: .fill 1,4,0xaaaaaaaa /*rl 4 */
109: bbase3: .fill 1,4,0xbbbbbbbb /*rl 8 */
110: .space 112
111: bbasel: .fill 1,4,0xffffffff /*rl 124 */
112:
113: bb1: .long bbase1
114: bbl: .long bbasel
115:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.