|
|
Power 6/32 Unix version 1.2b
/* RELATIVE DEFERRED 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 _reld_mode _reld_mode: /*byte relative deferred */ callf $4,_setjmp /* save context */ movab _reld_mode,_stpc /* save subtest pc */ movl $1,_subtst /* subtest number */ movl $1,_no_opr /* number of operands in use */ movl *bloc1,_opr /* first operand */ 0: movl *bloc1,r3 /*r3 = (bloc) */ cmpl r3,$0xaaaaaaaa /*r3 = literal value? */ beql 1f /*if yes, goto next test */ er1: bbs $0,_force_lp,0b /* if set loop on subtest */ movl $1,_ercode /*error code data miscompare*/ movl r3,_actual /* actual data */ movl $0xaaaaaaaa,_expected /*expected; r3 = observed*/ jmp *badrtn /*error - dislay error */ 1: /*word relative deferred */ bbs $0,_force_lp,0b /* if set loop on last subtest */ 1: callf $4,_setjmp /* save context */ movab 1b,_stpc /* save subtest pc */ movl $2,_subtst /* subtest number */ movl $1,_no_opr /* number of operands in use */ movl *wloc1,_opr /* first operand */ 0: bicpsw $PSWMASK /*psw = 0 */ movl *wloc1,r3 /*r3 = (wloc) */ cmpl r3,$0xbbbbbbbb /*r3 = literal value? */ beql 2f /*if yes, goto next test */ er2: bbs $0,_force_lp,0b /* if set loop on subtest */ movl $1,_ercode /*error code data miscompare*/ movl r3,_actual /* actual data */ movl $0xbbbbbbbb,_expected /*expected; r3 = observed*/ jmp *badrtn /*error - dislay error */ 2: /*long word relative deferred */ bbs $0,_force_lp,0b /* if set loop on last subtest */ 2: callf $4,_setjmp /* save context */ movab 2b,_stpc /* save subtest pc */ movl $3,_subtst /* subtest number */ movl $1,_no_opr /* number of operands in use */ movl *lloc1,_opr /* first operand */ 0: bicpsw $PSWMASK /*psw = 0 */ movl $0x55555555,lloc movl *lloc1,r3 /*r3 = (lloc) */ cmpl r3,$0x55555555 /*r3 = literal value? */ beql 3f /*if yes, goto next test */ er3: bbs $0,_force_lp,0b /* if set loop on subtest */ movl $1,_ercode /*error code data miscompare*/ movl r3,_actual /* actual data */ movl $0x55555555,_expected /*expected; r3 = observed*/ jmp *badrtn /*error - dislay error */ 3: bbs $0,_force_lp,0b /* if set loop on last subtest */ 3: callf $4,_setjmp /* save context */ movab 3b,_stpc /* save subtest pc */ movl $4,_subtst /* subtest number */ movl $1,_no_opr /* number of operands in use */ movl $-1,_opr /* first operand */ 0: bicpsw $PSWMASK /*relativedeferred addressing in*/ /*second operand */ movl $-1,*lloc1 cmpl lloc,$-1 beql 4f er4: bbs $0,_force_lp,0b /* if set loop on subtest */ movl $1,_ercode /*error code data miscompare*/ movl lloc,_actual /* actual data */ movl $-1,_expected /*expected; r3 = observed*/ jmp *badrtn /*error - dislay error */ 4: bbs $0,_force_lp,0b /* if set loop on last subtest */ movl $0,_ercode /*no error*/ jmp *return /*end of test - goto monitor */ /* Variables list */ .align 2 bloc: .fill 4,1,0xaa bloc1: .long bloc empty1: .space 255 /*255 bytes of zeros */ /*to force word addressing */ .align 2 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.