|
|
1.1 ! root 1: ! 2: ! 3: ! 4: /* RELATIVE INDEXED ADDRESSING MODE TEST */ ! 5: /* */ ! 6: /* */ ! 7: /* */ ! 8: /* Syst.s - Constants */ ! 9: /* */ ! 10: .set IPL,8 ! 11: .set HIGH,31 ! 12: .set ZERO,0 ! 13: .set ONES,0xffffffff ! 14: .set N,8 ! 15: .set Z,4 ! 16: .set V,2 ! 17: .set C,1 ! 18: .set T,16 ! 19: .set IV,32 ! 20: .set FU,64 ! 21: .set DV,128 ! 22: .set PSWMASK,0x003f ! 23: ! 24: .globl _reli_mode ! 25: _reli_mode: ! 26: callf $4,_setjmp /* save context */ ! 27: movab _reli_mode,_stpc /* save subtest pc */ ! 28: movl $1,_subtst /* subtest number */ ! 29: movl $1,_no_opr /* number of operands in use */ ! 30: 0: clrl r5 ! 31: movb $3,r4 /*index */ ! 32: movl r4,_opr /* first operand */ ! 33: movb data_table[r4],r5 /*get third byte from data_table*/ ! 34: cmpl r5,$0x44 /*which is 0x44 */ ! 35: beql 1f ! 36: er1: ! 37: bbs $0,_scoplp,0b /* if set loop on error */ ! 38: movl $1,_ercode /*error code data miscompare*/ ! 39: movl r5,_actual /* actual data */ ! 40: movl $0x0044,_expected /*expected; r5 = observed*/ ! 41: jmp *badrtn /*display error */ ! 42: 1: cmpl $3,r4 /*check index reg r4 unchanged */ ! 43: beql 3f ! 44: er3: ! 45: bbs $0,_scoplp,0b /* if set loop on error */ ! 46: movl $3,_ercode /*error code operand was changed*/ ! 47: movl r4,_actual /* actual data */ ! 48: movl $3,_expected /*expected; r3 = observed*/ ! 49: jmp *badrtn /*display error */ ! 50: 3: bbs $0,_force_lp,0b /* if set loop on subtest */ ! 51: 3: callf $4,_setjmp /* save context */ ! 52: movab 3b,_stpc /* save subtest pc */ ! 53: movl $2,_subtst /* subtest number */ ! 54: movl $1,_no_opr /* number of operands in use */ ! 55: 0: movw data_table[r4],r5 /*get third word from data_table*/ ! 56: cmpl r5,$0x7788 /*which is 0x7788 */ ! 57: beql 4f ! 58: er4: ! 59: bbs $0,_scoplp,0b /* if set loop on error */ ! 60: movl $1,_ercode /*error code data miscompare*/ ! 61: movl r5,_actual /* actual data */ ! 62: movl $0x7788,_expected /*expected; r5 = observed*/ ! 63: jmp *badrtn /*display error */ ! 64: 4: bbs $0,_force_lp,0b /* if set loop on subtest */ ! 65: 4: callf $4,_setjmp /* save context */ ! 66: movab 4b,_stpc /* save subtest pc */ ! 67: movl $3,_subtst /* subtest number */ ! 68: movl $1,_no_opr /* number of operands in use */ ! 69: 0: movl data_table[r4],r5 /*get third longword from table */ ! 70: cmpl r5,$0xddeeff00 /*which is 0xddeeff00 */ ! 71: beql 5f ! 72: er5: ! 73: bbs $0,_scoplp,0b /* if set loop on error */ ! 74: movl $1,_ercode /*error code data miscompare*/ ! 75: movl r5,_actual /* actual data */ ! 76: movl $0xddeeff00,_expected /*expected; r5 = observed*/ ! 77: jmp *badrtn /*display error */ ! 78: 5: ! 79: bbs $0,_force_lp,0b /* if set loop on subtest */ ! 80: movl $0,_ercode /*no error*/ ! 81: jmp *return /*end of test - goto monitor */ ! 82: ! 83: ! 84: /* Variables */ ! 85: ! 86: .align 2 ! 87: disp: .space 4 ! 88: data_table: ! 89: .fill 1,4,0x11223344 /*relative location 0*/ ! 90: .fill 1,4,0x55667788 /*rl 4 */ ! 91: .fill 1,4,0x99aabbcc /*rl 8 */ ! 92: .fill 1,4,0xddeeff00 /*rl 12 */ ! 93: .fill 1,4,0x00000000 ! 94: ! 95: /* end of file */ ! 96: ! 97: ! 98:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.