|
|
1.1 ! root 1: /* ABSOLUTE ADDRESSING MODE TEST */ ! 2: /* */ ! 3: /* */ ! 4: /* */ ! 5: /* Syst.s - Constants */ ! 6: /* */ ! 7: .set IPL,8 ! 8: .set HIGH,31 ! 9: .set ZERO,0 ! 10: .set ONES,0xffffffff ! 11: .set N,8 ! 12: .set Z,4 ! 13: .set V,2 ! 14: .set C,1 ! 15: .set T,16 ! 16: .set IV,32 ! 17: .set FU,64 ! 18: .set DV,128 ! 19: .set PSWMASK,0x003f ! 20: ! 21: ! 22: .globl _abs_mode ! 23: _abs_mode: ! 24: a_mode: ! 25: callf $4,_setjmp /* save context for error return */ ! 26: movab a_mode,_stpc /* save subtest program counter */ ! 27: movl $1,_subtst /* subtest number */ ! 28: movl $1,_no_opr /* number of operands used in test */ ! 29: 0: bicpsw $PSWMASK /*psw = 0 */ ! 30: movl $bloc,_opr /* opr = (bloc) */ ! 31: movl *$bloc,r3 /*r3 = (bloc) */ ! 32: cmpl r3,$0xaaaaaaaa /*r3 = literal value? */ ! 33: beql 1f /*if yes, goto next test */ ! 34: er1: ! 35: bbs $0,_scoplp,0b /* if set tight loop for scope */ ! 36: movl $1,_ercode /* error code */ ! 37: movl r3,_actual /* actual data */ ! 38: movl $0xaaaaaaaa,_expected /*expected data*/ ! 39: jmp *badrtn /*error -- r3 = observed data*/ ! 40: 1: ! 41: bbs $0,_force_lp,0b /* if set loop on subtest */ ! 42: 1: movab 1b,_stpc /* save subtest program counter */ ! 43: movl $2,_subtst /* subtest number */ ! 44: 0: bicpsw $PSWMASK /*psw = 0 */ ! 45: movl $wloc,_opr /* opr = (wloc) */ ! 46: movl *$wloc,r3 /*r3 = (wloc) */ ! 47: cmpl r3,$0xbbbbbbbb /*r3 = literal value? */ ! 48: beql 2f /*if yes, goto next test */ ! 49: er2: ! 50: bbs $0,_scoplp,0b /* if set tight loop for scope */ ! 51: movl $1,_ercode /* error code */ ! 52: movl r3,_actual /* actual data */ ! 53: movl $0xbbbbbbbb,_expected /*expected data*/ ! 54: jmp *badrtn /* error -- r3 = actaul data */ ! 55: /* */ ! 56: 2: ! 57: bbs $0,_force_lp,0b /* if set loop on subtest */ ! 58: 2: movab 2b,_stpc /* save subtest program counter */ ! 59: movl $3,_subtst /* subtest number */ ! 60: 0: bicpsw $PSWMASK /*psw = 0 */ ! 61: movl $lloc,_opr /* opr = (lloc) */ ! 62: movl *$lloc,r3 /*r3 = (lloc) */ ! 63: cmpl r3,$0x55555555 /*r3 = literal value? */ ! 64: beql 3f /*if yes, goto next test */ ! 65: er3: ! 66: bbs $0,_scoplp,0b /* if set tight loop for scope */ ! 67: movl $1,_ercode /* error code */ ! 68: movl r3,_actual /* actual data */ ! 69: movl $0x55555555,_expected /*expected data*/ ! 70: 9: jmp *badrtn /*error -- observed data*/ ! 71: /* */ ! 72: 3: ! 73: bbs $0,_force_lp,0b /* if set loop on subtest */ ! 74: 3: movab 3b,_stpc /* save subtest program counter */ ! 75: movl $4,_subtst /* subtest number */ ! 76: 0: bicpsw $PSWMASK /*absolute addressing in */ ! 77: /*second operand */ ! 78: movl $-1,*$temp ! 79: movl $temp,_opr /* opr = (temp) */ ! 80: cmpl *$temp,$-1 ! 81: beql 4f ! 82: er4: ! 83: bbs $0,_scoplp,0b /* if set tight loop for scope */ ! 84: movl $1,_ercode /* error code */ ! 85: movl r3,_actual /* actual data */ ! 86: movl $-1,_expected /*expected data*/ ! 87: jmp *badrtn /*error -- r1 = observed data*/ ! 88: 4: bbs $0,_force_lp,0b /* if set loop on subtest */ ! 89: movl $0,_ercode /*no error*/ ! 90: jmp *return /*end of test - goto monitor */ ! 91: ! 92: ! 93: /* Variables list */ ! 94: .align 2 ! 95: bloc: .long 0xaaaaaaaa ! 96: temp: .long 0 ! 97: bloc1: .long bloc ! 98: empty1: .space 255 /*255 bytes of zeros */ ! 99: .align 2 /*to force word addressing */ ! 100: wloc: .fill 1,4,0xbbbbbbbb ! 101: wloc1: .long wloc ! 102: empty2: .space 16565 /*to force long word addressing */ ! 103: .align 2 ! 104: lloc: .fill 1,4,0x55555555 ! 105: lloc1: .long lloc ! 106: ! 107: ! 108: /* End of file */ ! 109: ! 110:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.