|
|
1.1 root 1:
2:
3: /* ABSOLUTE INDEXED 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 _absi_mode
24: _absi_mode:
25: movl $1,r1 /* subtest number */
26: bicpsw $PSWMASK
27: clrl r3
28: movb $3,r4 /*index */
29: movb *$data_table[r4],r3 /*get third byte from data_table*/
30: cmpl r3,$0x44 /*which is 0x44 */
31: beql 1f
32: er1:
33: movpsl r5
34: movl $1,r2 /*error code*/
35: movl $0x44,r4 /*expected data; r3 = observed */
36: jmp *badrtn /*display error */
37: 1: cmpl $3,r4 /*check index reg r4 unchanged */
38: beql 3f
39: er3:
40: movpsl r5
41: movl $2,r2 /*error code*/
42: movl r4,r4 /*expected data; r3 = observed */
43: movl $3,r4
44: jmp *badrtn /*display error */
45: 3: movl $2,r1
46: movw *$data_table[r4],r3 /*get third word from data_table*/
47: cmpl r3,$0x7788 /*which is 0x7788 */
48: beql 4f
49: er4:
50: movpsl r5
51: movl $3,r2 /*error code*/
52: movl $0x7788,r4 /*expected data; r3 = observed */
53: jmp *badrtn /*display error */
54: 4: movl $3,r1
55: movl *$data_table[r4],r3 /*get third longword from table */
56: cmpl r3,$0xddeeff00 /*which is 0xddeeff00 */
57: beql 5f
58: er5:
59: movpsl r5
60: movl $4,r2 /*error code*/
61: movl $0xddeeff00,r4 /*expected data; r3 = observed */
62: jmp *badrtn /*display error */
63: 5: movl $0,r2 /*no error*/
64: jmp *return /*end of test - goto monitor */
65:
66:
67: /* Variables */
68:
69: .align 2
70: disp: .space 4
71: data_table:
72: .fill 1,4,0x11223344 /*relative location 0*/
73: .fill 1,4,0x55667788 /*rl 4 */
74: .fill 1,4,0x99aabbcc /*rl 8 */
75: .fill 1,4,0xddeeff00 /*rl 12 */
76: .fill 1,4,0x00000000
77:
78: .align 2
79: dta1: .long disp
80:
81: add_table:
82: .space 5
83: .align 2
84: .long data_table
85: .space 12
86: .align 2
87: .long data_table
88: .space 13
89: .align 2
90: .long data_table
91:
92: .align 2
93: base_add:
94: .long add_table
95:
96: /* end of file */
97:
98:
99:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.