|
|
1.1 ! root 1: ! 2: ! 3: ! 4: /* RELATIVE DEFERRED 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 _reldi_mode ! 25: _reldi_mode: ! 26: callf $4,_setjmp /* save context */ ! 27: movab _reldi_mode,_stpc ! 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 *dta[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 modified */ ! 47: movl r4,_actual /* actual data */ ! 48: movl $3,_expected /*expected; r4 = observed*/ ! 49: jmp *badrtn /*display error */ ! 50: 3: bbs $0,_force_lp,0b /* if set loop on last 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: movl r4,_opr /* first operand */ ! 56: 0: movw *dta[r4],r5 /*get third word from data_table*/ ! 57: cmpl r5,$0x7788 /*which is 0x7788 */ ! 58: beql 4f ! 59: er4: ! 60: bbs $0,_scoplp,0b /* if set loop on error */ ! 61: movl $1,_ercode /*error code data miscompare*/ ! 62: movl r5,_actual /* actual data */ ! 63: movl $0x7788,_expected /*expected; r5 = observed*/ ! 64: jmp *badrtn /*display error */ ! 65: 4: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 66: 4: callf $4,_setjmp /* save context */ ! 67: movab 4b,_stpc /* save subtest pc */ ! 68: movl $3,_subtst /* subtest number */ ! 69: movl $1,_no_opr /* number of operands in use */ ! 70: movl r4,_opr /* first operand */ ! 71: 0: movl *dta[r4],r5 /*get third longword from table */ ! 72: cmpl r5,$0xddeeff00 /*which is 0xddeeff00 */ ! 73: beql 5f ! 74: er5: ! 75: bbs $0,_scoplp,0b /* if set loop on error */ ! 76: movl $1,_ercode /*error code data miscompare*/ ! 77: movl r5,_actual /* actual data */ ! 78: movl $0xddeeff00,_expected /*expected; r5 = observed*/ ! 79: jmp *badrtn /*display error */ ! 80: 5: ! 81: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 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: dta: .long data_table ! 99: dta1: .long disp ! 100: ! 101: /* end of file */ ! 102: ! 103: ! 104:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.