|
|
1.1 root 1:
2:
3: /* LONGWORD DISPLACEMENT 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: .globl _ldisp_mode
24: _ldisp_mode:
25: movl $1,r1 /* subtest number */
26: movl bb1,r3 /*move address of label bbase1 */
27: movb $0x55,l^65539(r3) /*change byte 127 of bbase1 */
28: cmpl lbasel,$0xffffff55 /*see if it happened */
29: beql 1f
30: er1:
31: movl $1,r2 /*error code*/
32: movl lbasel,r3 /*observed*/
33: movl $0xffffff55,r4 /*expected*/
34: jmp *$9f
35: 9: jmp *badrtn
36: /*longword disp mode did not */
37: /*changed byte correctly */
38: 1: cmpl r3,bb1 /*check r3 did not changed */
39: beql 2f
40: er2:
41: movl bb1,r4 /*original base*/
42: movl $2,r3 /*error code*/
43: jmp *$9f
44: 9: jmp *badrtn
45: /*longword disp changed base in r3*/
46: 2: movl $2,r1 /* subtest number */
47: movb l^32768(r3),l^65538(r3)
48: cmpl lbasel,$0xffff1155
49: beql 3f
50: er3:
51: movl $3,r2 /*error code*/
52: movl lbasel,r3 /*observed*/
53: movl $0xffff1155,r4 /*expected*/
54: jmp *$9f
55: 9: jmp *badrtn
56: /*longword disp mode did not */
57: /*changed byte correctly */
58: 3: cmpl r3,bb1
59: beql 4f
60: er4:
61: movl bb1,r4 /*original base*/
62: movl $4,r2 /*error code*/
63: jmp *$9f
64: 9: jmp *badrtn
65: /*longword disp changed base in r3*/
66: 4: movl $3,r1 /* subtest number */
67: movb l^32770(r3),l^65537(r3)
68: cmpl lbasel,$0xff111155
69: beql 5f
70: er5:
71: movl $5,r2 /*error code*/
72: movl lbasel,r3 /*observed*/
73: movl $0xff111155,r4 /*expected*/
74: jmp *$9f
75: 9: jmp *badrtn
76: /*longword disp mode did not */
77: /*changed byte correctly */
78: 5:
79: movl $0,r2 /*no error*/
80: movl $0x33221100,bbase1
81: movl $0xaaaaaaaa,bbase2
82: movl $0xbbbbbbbb,bbase3
83: movl $0xffffffff,bbasel
84: movl $0x11110000,wbase1
85: movl $0xffffffff,wbasel
86: movl $0x11111111,lbase1
87: movl $0xffffffff,lbasel
88: jmp *return /*end of test - goto monitor */
89:
90:
91:
92: /* Variables */
93: .align 2
94: bbase1: .fill 1,4,0x33221100 /*relative location 0*/
95: bbase2: .fill 1,4,0xaaaaaaaa /*rl 4 */
96: bbase3: .fill 1,4,0xbbbbbbbb /*rl 8 */
97: .space 112
98: bbasel: .fill 1,4,0xffffffff /*rl 124 */
99: .space 4
100: wbase1: .fill 1,4,0x11110000 /*rl 132 */
101: .space 32628
102: wbasel: .fill 1,4,0xffffffff /*rl 32764 */
103: lbase1: .fill 1,4,0x11111111 /* rl 32768 */
104: .space 32764
105: lbasel: .fill 1,4,0xffffffff /*rl 65536 */
106:
107:
108: bb1: .long bbase1
109: bbl: .long bbasel
110: wb1: .long wbase1
111: wbl: .long wbasel
112: lb1: .long lbase1
113: lbl: .long lbasel
114:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.