|
|
1.1 ! root 1: ! 2: ! 3: /* ABSOLUTE 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 _absi_mode ! 24: _absi_mode: ! 25: callf $4,_setjmp /* save context for error return */ ! 26: movab _absi_mode,_stpc /* save subtest program counter */ ! 27: movl $1,_no_opr /* number of operands used */ ! 28: movl $1,_subtst /* sub test number */ ! 29: 0: bicpsw $PSWMASK ! 30: movb $data_table + 3,_opr /* test operand */ ! 31: clrl r3 ! 32: movb $3,r2 /*index */ ! 33: movb *$data_table[r2],r3 /*get third byte from data_table*/ ! 34: cmpl r3,$0x44 /*which is 0x44 */ ! 35: beql 1f ! 36: er1: ! 37: bbs $0,_scoplp,0b /* if set tight loop for scope */ ! 38: movl $1,_ercode /* error code data miscompare */ ! 39: movl r3,_actual /* actual data */ ! 40: movl $0x44,_expected /* expected data */ ! 41: jmp *badrtn /*display error */ ! 42: ! 43: 1: cmpl $3,r2 /*check index reg r3 unchanged */ ! 44: beql 3f ! 45: er3: ! 46: bbs $0,_scoplp,0b /* if set tight loop for scope */ ! 47: movl $3,_ercode /* error code operand miscompare */ ! 48: movl r2,_actual /* actual data */ ! 49: movl $3,_expected /* expected data */ ! 50: jmp *badrtn /*display error */ ! 51: 3: ! 52: bbs $0,_force_lp,0b /* loop on subtest if set */ ! 53: 3: callf $4,_setjmp /* save context for error return */ ! 54: movab 3b,_stpc /* save subtest program counter */ ! 55: movl $2,_subtst /* sub test number */ ! 56: movw $data_table + 3,_opr /* test operand */ ! 57: 0: movw *$data_table[r2],r3 /*get third word from data_table*/ ! 58: cmpl r3,$0x7788 /*which is 0x7788 */ ! 59: beql 4f ! 60: er4: ! 61: bbs $0,_scoplp,0b /* if set tight loop for scope */ ! 62: movl $1,_ercode /* error code operand miscompare */ ! 63: movl r3,_actual /* actual data */ ! 64: movl $0x7788,_expected /* expected data */ ! 65: jmp *badrtn /*display error */ ! 66: 4: ! 67: bbs $0,_force_lp,0b /* loop on subtest if set */ ! 68: 4: callf $4,_setjmp /* save context for error return */ ! 69: movab 4b,_stpc /* save subtest program counter */ ! 70: movl $3,_subtst /* sub test number */ ! 71: movl $data_table + 3,_opr /* test operand */ ! 72: 0: movl *$data_table[r2],r3 /*get third longword from table */ ! 73: cmpl r3,$0xddeeff00 /*which is 0xddeeff00 */ ! 74: beql 5f ! 75: er5: ! 76: bbs $0,_scoplp,0b /* if set tight loop for scope */ ! 77: movl $1,_ercode /* error code operand miscompare */ ! 78: movl r3,_actual /* actual data */ ! 79: movl $0xddeeff00,_expected /* expected data */ ! 80: jmp *badrtn /*display error */ ! 81: 5: bbs $0,_force_lp,0b /* loop on subtest if set */ ! 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: dta1: .long disp ! 99: ! 100: add_table: ! 101: .space 5 ! 102: .align 2 ! 103: .long data_table ! 104: .space 02 ! 105: .align 2 ! 106: .long data_table ! 107: .space 32003 ! 108: .align 2 ! 109: .long data_table ! 110: ! 111: .align 2 ! 112: base_add: ! 113: .long add_table ! 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.