|
|
1.1 root 1:
2:
3: /* IMMIDIATE ADDRESSING MODE TEST */
4: /* */
5: /* */
6: /*Test name = im_mode */
7: /*This test checks the immidiate addressing mode. Note that literal, */
8: /*relative, immidiate, and register modes have been extensively used in */
9: /*the previous tests, and so part of what we do here is somewhat */
10: /*redundent. */
11: /* */
12: /* */
13: /* */
14: /* Syst.s - Constants */
15: /* */
16: .set IPL,8
17: .set HIGH,31
18: .set ZERO,0
19: .set ONES,0xffffffff
20: .set N,8
21: .set Z,4
22: .set V,2
23: .set C,1
24: .set T,16
25: .set IV,32
26: .set FU,64
27: .set DV,128
28: .set PSWMASK,0x003f
29:
30:
31: .globl _im_mode
32: _im_mode:
33: callf $4,_setjmp /* save context for error return */
34: movab _im_mode,_stpc /* save subtest pc */
35: movl $1,_subtst /* subtest number */
36: movl $1,_no_opr /* number of operands used */
37: 0: movb $64,r3 /*r1 = immidiate value */
38: movl r3,_opr /* first operand */
39: cmpb r3,$64 /*r3 = immidiate value? */
40: beql 1f /*if yes, goto next test */
41: er1: bbs $0,_scoplp,0b /* if set scope loop on error */
42: movl $1,_ercode /* error code data miscompare */
43: movl r3,_actual /* actual data */
44: movl $64,_expected /* expected data */
45: jmp *badrtn /*error - dislay error */
46: /* */
47: 1:
48: bbs $0,_force_lp,0b /* if set loop on last subtest */
49: 1: callf $4,_setjmp /* save context for error return */
50: movab 1b,_stpc /* save subtest pc */
51: movl $2,_subtst /* subtest number */
52: movl $1,_no_opr /* number of operands used */
53: 0: bicpsw $PSWMASK /*psw = 0 */
54: movw $0x1111,r3 /*r3 = immidiate value */
55: movl r3,_opr /* first operand */
56: cmpw r3,$0x1111 /*r3 = immidiate value? */
57: beql 2f /*if yes, goto next test */
58: er2: bbs $0,_scoplp,0b /* if set scope loop on error */
59: movl $1,_ercode /* error code data miscompare */
60: movl r3,_actual /* actual data */
61: movl $0x1111,_expected /* expected data */
62: jmp *badrtn /*error - dislay error */
63: /* */
64: 2:
65: bbs $0,_force_lp,0b /* if set loop on last subtest */
66: 2: callf $4,_setjmp /* save context for error return */
67: movab 2b,_stpc /* save subtest pc */
68: movl $3,_subtst /* subtest number */
69: movl $1,_no_opr /* number of operands used */
70: 0: bicpsw $PSWMASK /*psw = 0 */
71: movl $3,r1 /* subtest number */
72: bicpsw $PSWMASK /*psw = 0 */
73: movl $0x11111111,r3 /*r3 = immidiate value */
74: movl r3,_opr /* first operand */
75: cmpl r3,$0x11111111 /*r3 = immidiate value? */
76: beql 3f /*if yes, goto next test */
77: er3: bbs $0,_scoplp,0b /* if set scope loop on error */
78: movl $1,_ercode /* error code data miscompare */
79: movl r3,_actual /* actual data */
80: movl $0x11111111,_expected /* expected data */
81: jmp *badrtn /*error - dislay error */
82: /* */
83: 3:
84: bbs $0,_force_lp,0b /* if set loop on last subtest */
85: movl $0,_ercode /* no error */
86: jmp *return /*end of test - goto monitor */
87:
88:
89:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.