|
|
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: callf $4,_setjmp /* save context for error return */
26: movab _absi_mode,_stpc /* save subtest program counter */
27: movl $1,_no_opr /* number of operands used */
28: movl $1,_subtst /* sub test number */
29: 0: bicpsw $PSWMASK
30: movb $data_table + 3,_opr /* test operand */
31: clrl r3
32: movb $3,r2 /*index */
33: movb *$data_table[r2],r3 /*get third byte from data_table*/
34: cmpl r3,$0x44 /*which is 0x44 */
35: beql 1f
36: er1:
37: bbs $0,_scoplp,0b /* if set tight loop for scope */
38: movl $1,_ercode /* error code data miscompare */
39: movl r3,_actual /* actual data */
40: movl $0x44,_expected /* expected data */
41: jmp *badrtn /*display error */
42:
43: 1: cmpl $3,r2 /*check index reg r3 unchanged */
44: beql 3f
45: er3:
46: bbs $0,_scoplp,0b /* if set tight loop for scope */
47: movl $3,_ercode /* error code operand miscompare */
48: movl r2,_actual /* actual data */
49: movl $3,_expected /* expected data */
50: jmp *badrtn /*display error */
51: 3:
52: bbs $0,_force_lp,0b /* loop on subtest if set */
53: 3: callf $4,_setjmp /* save context for error return */
54: movab 3b,_stpc /* save subtest program counter */
55: movl $2,_subtst /* sub test number */
56: movw $data_table + 3,_opr /* test operand */
57: 0: movw *$data_table[r2],r3 /*get third word from data_table*/
58: cmpl r3,$0x7788 /*which is 0x7788 */
59: beql 4f
60: er4:
61: bbs $0,_scoplp,0b /* if set tight loop for scope */
62: movl $1,_ercode /* error code operand miscompare */
63: movl r3,_actual /* actual data */
64: movl $0x7788,_expected /* expected data */
65: jmp *badrtn /*display error */
66: 4:
67: bbs $0,_force_lp,0b /* loop on subtest if set */
68: 4: callf $4,_setjmp /* save context for error return */
69: movab 4b,_stpc /* save subtest program counter */
70: movl $3,_subtst /* sub test number */
71: movl $data_table + 3,_opr /* test operand */
72: 0: movl *$data_table[r2],r3 /*get third longword from table */
73: cmpl r3,$0xddeeff00 /*which is 0xddeeff00 */
74: beql 5f
75: er5:
76: bbs $0,_scoplp,0b /* if set tight loop for scope */
77: movl $1,_ercode /* error code operand miscompare */
78: movl r3,_actual /* actual data */
79: movl $0xddeeff00,_expected /* expected data */
80: jmp *badrtn /*display error */
81: 5: bbs $0,_force_lp,0b /* loop on subtest if set */
82: movl $0,_ercode /*no error*/
83: jmp *return /*end of test - goto monitor */
84:
85:
86: /* Variables */
87:
88: .align 2
89: disp: .space 4
90: data_table:
91: .fill 1,4,0x11223344 /*relative location 0*/
92: .fill 1,4,0x55667788 /*rl 4 */
93: .fill 1,4,0x99aabbcc /*rl 8 */
94: .fill 1,4,0xddeeff00 /*rl 12 */
95: .fill 1,4,0x00000000
96:
97: .align 2
98: dta1: .long disp
99:
100: add_table:
101: .space 5
102: .align 2
103: .long data_table
104: .space 02
105: .align 2
106: .long data_table
107: .space 32003
108: .align 2
109: .long data_table
110:
111: .align 2
112: base_add:
113: .long add_table
114:
115: /* end of file */
116:
117:
118:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.