|
|
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.