|
|
1.1 root 1: /* (BYTE, WORD, LONGWORD) DISPLACEMENT ADDRESSING MODES 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: .globl _dispd_mode
22: _dispd_mode:
23: movl $1,r1 /* subtest number */
24: movl base_add,r3 /*base of the address_table*/
25: movl *b^4(r3),r4 /*byte disp deferred mode*/
26: cmpl r4,$0x33221100
27: beql 1f
28: er1:
29: movl $1,r2 /*error code*/
30: movl bbase1,r3 /*expected; r4 = observed*/
31: jmp *badrtn /*byte disp def mode did not move right value */
32: 1: movl $2,r1 /* subtest number */
33: movl $0x55555555,r4
34: movl r4,*b^4(r3)
35: cmpl bbase1,$0x55555555 /*this is the actual location */
36: /*changed by the previous inst */
37: beql 2f
38: er2:
39: movl $2,r2 /*error code*/
40: movl bbase1,r3 /*observed; r4 = expected*/
41: jmp *badrtn /*byte disp def mode did not move right value */
42: 2:
43: movl $3,r1 /* subtest number */
44: movl base_add,r3 /*base of the address_table*/
45: movl *w^32012(r3),r4 /*word disp deferred mode*/
46: cmpl r4,$0xaaaaaaaa
47: beql 3f
48: er3:
49: movl $3,r2 /*error code*/
50: movl bbase2,r3 /*expected; r4 = observed*/
51: jmp *badrtn /*byte disp def mode did not move right value */
52: 3: movl $4,r1 /* subtest number */
53: movl $0x55555555,r4
54: movl r4,*w^32012(r3)
55: cmpl bbase2,$0x55555555 /*this is the actual location */
56: /*changed by the previous inst */
57: beql 4f
58: er4:
59: movl $4,r2 /*error code*/
60: movl bbase2,r3 /*observed; r4 = expected*/
61: jmp *badrtn /*byte disp def mode did not move right value */
62: 4:
63: movl $5,r1 /* subtest number */
64: movl base_add,r3 /*base of the address_table*/
65: movl *l^64020(r3),r4 /*longword disp deferred mode*/
66: cmpl r4,$0xbbbbbbbb
67: beql 5f
68: er5:
69: movl $5,r2 /*error code*/
70: movl bbase3,r3 /*expected; r2 = observed*/
71: jmp *badrtn /*byte disp def mode did not move right value */
72: 5: movl $6,r1 /* subtest number */
73: movl $0x55555555,r4
74: movl r4,*l^64020(r3)
75: cmpl bbase3,$0x55555555 /*this is the actual location */
76: /*changed by the previous inst */
77: beql 6f
78: er6:
79: movl $6,r2 /*error code*/
80: movl bbase3,r3 /*observed; r2 = expected*/
81: jmp *badrtn /*byte disp def mode did not move right value */
82: 6:
83: movl $0,r2 /*no error*/
84: movl $0x33221100,bbase1
85: movl $0xaaaaaaaa,bbase2
86: movl $0xbbbbbbbb,bbase3
87: jmp *return /*end of test */
88:
89:
90: /* Variables */
91: .align 2
92: bbase1: .fill 1,4,0x33221100 /*relative location 0*/
93: bbase2: .fill 1,4,0xaaaaaaaa /*rl 4 */
94: bbase3: .fill 1,4,0xbbbbbbbb /*rl 8 */
95: .space 112
96: bbasel: .fill 1,4,0xffffffff /*rl 124 */
97:
98:
99: bb1: .long bbase1
100: bbl: .long bbasel
101:
102: /*address table */
103: .align 2
104: add_table:
105: .space 4
106: .align 2
107: .long bbase1 /* relative location 4 */
108: .space 32002
109: .align 2
110: .long bbase2 /*relative location 32012 */
111: .space 32003
112: .align 2
113: .long bbase3 /*relative location 64020 */
114:
115: base_add:
116: .long add_table
117:
118:
119:
120: /*end of file */
121:
122:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.