|
|
Power 6/32 Unix version 1.2b
/* ABSOLUTE ADDRESSING MODE TEST */ /* */ /* */ /* */ /* Syst.s - Constants */ /* */ .set IPL,8 .set HIGH,31 .set ZERO,0 .set ONES,0xffffffff .set N,8 .set Z,4 .set V,2 .set C,1 .set T,16 .set IV,32 .set FU,64 .set DV,128 .set PSWMASK,0x003f .globl _abs_mode _abs_mode: a_mode: callf $4,_setjmp /* save context for error return */ movab a_mode,_stpc /* save subtest program counter */ movl $1,_subtst /* subtest number */ movl $1,_no_opr /* number of operands used in test */ 0: bicpsw $PSWMASK /*psw = 0 */ movl $bloc,_opr /* opr = (bloc) */ movl *$bloc,r3 /*r3 = (bloc) */ cmpl r3,$0xaaaaaaaa /*r3 = literal value? */ beql 1f /*if yes, goto next test */ er1: bbs $0,_scoplp,0b /* if set tight loop for scope */ movl $1,_ercode /* error code */ movl r3,_actual /* actual data */ movl $0xaaaaaaaa,_expected /*expected data*/ jmp *badrtn /*error -- r3 = observed data*/ 1: bbs $0,_force_lp,0b /* if set loop on subtest */ 1: movab 1b,_stpc /* save subtest program counter */ movl $2,_subtst /* subtest number */ 0: bicpsw $PSWMASK /*psw = 0 */ movl $wloc,_opr /* opr = (wloc) */ movl *$wloc,r3 /*r3 = (wloc) */ cmpl r3,$0xbbbbbbbb /*r3 = literal value? */ beql 2f /*if yes, goto next test */ er2: bbs $0,_scoplp,0b /* if set tight loop for scope */ movl $1,_ercode /* error code */ movl r3,_actual /* actual data */ movl $0xbbbbbbbb,_expected /*expected data*/ jmp *badrtn /* error -- r3 = actaul data */ /* */ 2: bbs $0,_force_lp,0b /* if set loop on subtest */ 2: movab 2b,_stpc /* save subtest program counter */ movl $3,_subtst /* subtest number */ 0: bicpsw $PSWMASK /*psw = 0 */ movl $lloc,_opr /* opr = (lloc) */ movl *$lloc,r3 /*r3 = (lloc) */ cmpl r3,$0x55555555 /*r3 = literal value? */ beql 3f /*if yes, goto next test */ er3: bbs $0,_scoplp,0b /* if set tight loop for scope */ movl $1,_ercode /* error code */ movl r3,_actual /* actual data */ movl $0x55555555,_expected /*expected data*/ 9: jmp *badrtn /*error -- observed data*/ /* */ 3: bbs $0,_force_lp,0b /* if set loop on subtest */ 3: movab 3b,_stpc /* save subtest program counter */ movl $4,_subtst /* subtest number */ 0: bicpsw $PSWMASK /*absolute addressing in */ /*second operand */ movl $-1,*$temp movl $temp,_opr /* opr = (temp) */ cmpl *$temp,$-1 beql 4f er4: bbs $0,_scoplp,0b /* if set tight loop for scope */ movl $1,_ercode /* error code */ movl r3,_actual /* actual data */ movl $-1,_expected /*expected data*/ jmp *badrtn /*error -- r1 = observed data*/ 4: bbs $0,_force_lp,0b /* if set loop on subtest */ movl $0,_ercode /*no error*/ jmp *return /*end of test - goto monitor */ /* Variables list */ .align 2 bloc: .long 0xaaaaaaaa temp: .long 0 bloc1: .long bloc empty1: .space 255 /*255 bytes of zeros */ .align 2 /*to force word addressing */ wloc: .fill 1,4,0xbbbbbbbb wloc1: .long wloc empty2: .space 16565 /*to force long word addressing */ .align 2 lloc: .fill 1,4,0x55555555 lloc1: .long lloc /* End of file */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.