|
|
1.1 ! root 1: ! 2: ! 3: /* DISPLACEMENT 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 _dispi_mode ! 24: _dispi_mode: ! 25: callf $4,_setjmp /* save context for error return */ ! 26: movab _dispi_mode,_stpc /* save subtest pc */ ! 27: movl $1,_subtst /* subtest number */ ! 28: movl $3,_no_opr /*b number of operands used */ ! 29: 0: bicpsw $PSWMASK ! 30: clrl r5 ! 31: movl dta1,r3 /*data table address - base */ ! 32: movb $3,r4 /*index */ ! 33: movl r3,_opr /* first operand */ ! 34: movl r4,_opr + 4 /* second operand */ ! 35: movl r5,_opr + 8 /* third operand */ ! 36: movb 4(r3)[r4],r5 /*get third byte from data_table*/ ! 37: cmpl r5,$0x44 /*which is 0x44 */ ! 38: beql 1f ! 39: er1: ! 40: bbs $0,_scoplp,0b /* if set scope loop on error */ ! 41: movl $1,_ercode /*error code data miscompare */ ! 42: movl r5,_actual /* actual data */ ! 43: movl $0x0044,_expected /*expected; r5 = observed*/ ! 44: jmp *badrtn /*display error */ ! 45: 1: cmpl r3,dta1 /*check r3 did not changed */ ! 46: beql 2f ! 47: er2: ! 48: bbs $0,_scoplp,0b /* if set scope loop on error */ ! 49: movl $3,_ercode /*error code operand was modified */ ! 50: movl r3,_actual /* actual data */ ! 51: movl dta1,_expected /*expected; r3 = observed*/ ! 52: jmp *badrtn /*display error */ ! 53: 2: cmpl $3,r4 /*check index reg r4 unchanged */ ! 54: beql 3f ! 55: er3: ! 56: bbs $0,_scoplp,0b /* if set scope loop on error */ ! 57: movl $3,_ercode /*error code operand was modified */ ! 58: movl r4,_actual /* actual data */ ! 59: movl $3,_expected /*expected; r5 = observed*/ ! 60: jmp *badrtn /*display error */ ! 61: 3: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 62: 3: callf $4,_setjmp /* save context for error return */ ! 63: movab 3b,_stpc /* save subtest pc */ ! 64: movl $2,_subtst /* subtest number */ ! 65: movl $3,_no_opr /*b number of operands used */ ! 66: movl r3,_opr /* first operand */ ! 67: movl r4,_opr + 4 /* second operand */ ! 68: movl r5,_opr + 8 /* third operand */ ! 69: 0: movw 4(r3)[r4],r5 /*get third word from data_table*/ ! 70: cmpl r5,$0x7788 /*which is 0x7788 */ ! 71: beql 4f ! 72: er4: ! 73: bbs $0,_scoplp,0b /* if set scope loop on error */ ! 74: movl $1,_ercode /*error code data miscompare */ ! 75: movl r5,_actual /* actual data */ ! 76: movl $0x7788,_expected /*expected; */ ! 77: jmp *badrtn /*display error */ ! 78: 4: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 79: 4: callf $4,_setjmp /* save context for error return */ ! 80: movab 4b,_stpc /* save subtest pc */ ! 81: movl $3,_subtst /* subtest number */ ! 82: movl $3,_no_opr /*b number of operands used */ ! 83: movl r3,_opr /* first operand */ ! 84: movl r4,_opr + 4 /* second operand */ ! 85: movl r5,_opr + 8 /* third operand */ ! 86: 0: movl 4(r3)[r4],r5 /*get third longword from table */ ! 87: cmpl r5,$0xddeeff00 /*which is 0xddeeff00 */ ! 88: beql 5f ! 89: er5: ! 90: bbs $0,_scoplp,0b /* if set scope loop on error */ ! 91: movl $1,_ercode /*error code data miscompare */ ! 92: movl r5,_actual /* actual data */ ! 93: movl $0xddeeff00,_expected /*expected; */ ! 94: jmp *badrtn /*display error */ ! 95: 5: ! 96: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 97: movl $0,_ercode /*no error*/ ! 98: jmp *return /*end of test - goto monitor */ ! 99: ! 100: ! 101: /* Variables */ ! 102: ! 103: .align 2 ! 104: disp: .space 4 ! 105: data_table: ! 106: .fill 1,4,0x11223344 /*relative location 0*/ ! 107: .fill 1,4,0x55667788 /*rl 4 */ ! 108: .fill 1,4,0x99aabbcc /*rl 8 */ ! 109: .fill 1,4,0xddeeff00 /*rl 12 */ ! 110: .fill 1,4,0x00000000 ! 111: ! 112: .align 2 ! 113: dta1: .long disp ! 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.