|
|
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 _ab_mode _ab_mode: callf $4,_setjmp a_mode: movab a_mode,_stpc /* save pc of subtest start */ movl $1,_no_opr /* number of operands involved */ movl $1,_subtst /* subtest number */ movl $bloc,_opr 0: movl *$bloc,r3 /*r3 = (bloc) */ cmpl r3,$0xaaaaaaaa /*r3 = literal value? */ jeql 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 movl $0xaaaaaaaa,_expected /*expected data*/ jmp *badrtn 1: bbs $0,_force_lp,0b /* if set loop on sub test */ 1: callf $4,_setjmp movab 1b,_stpc /* save pc of subtest start */ movl $2,_subtst /* subtest number */ 0: bicpsw $PSWMASK /*psw = 0 */ movl $wloc,_opr movl *$wloc,r3 /*r3 = (wloc) */ cmpl r3,$0xbbbbbbbb /*r3 = literal value? */ jeql 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 movl $0xbbbbbbbb,_expected /*expected data*/ 9: jmp *badrtn /* */ 2: bbs $0,_force_lp,0b /* if set loop on sub test */ 2: callf $4,_setjmp movab 2b,_stpc /* save pc of subtest start */ movl $3,_subtst /* subtest number */ 0: bicpsw $PSWMASK /*psw = 0 */ movl $0x55555555,lloc movl $lloc,_opr movl *$lloc,r3 /*r3 = (lloc) */ cmpl r3,$0x55555555 /*r3 = literal value? */ jeql 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 movl $0x55555555,_expected /*expected data*/ 9: jmp *badrtn /* */ 3: bbs $0,_force_lp,0b /* if set loop on sub test */ 3: callf $4,_setjmp movab 3b,_stpc /* save pc of subtest start */ movl $4,_subtst /* subtest number */ 0: bicpsw $PSWMASK /*absolute addressing in */ movl $-1,*$lloc movl $lloc,_opr cmpl *$lloc,$-1 jeql 4f er4: bbs $0,_scoplp,0b /* if set tight loop for scope */ movl $1,_ercode /*error code*/ movl $lloc,_actual /* actual data */ movl $-1,_expected /*expected data*/ jmp *badrtn 4: bbs $0,_force_lp,0b /* if set loop on sub test */ jmp *return /*end of test - goto monitor */ /* Variables list */ .align 2 bloc: .long 0xaaaaaaaa 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 savepc: .long 0 /* save location for pc */ /* End of file */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.