|
|
Power 6/32 Unix version 1.2b
/* REGISTER 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 _regd_mode _regd_mode: /*register deferred */ callf $4,_setjmp /* save context */ movab _regd_mode,_stpc /* save subtest pc */ movl $1,_subtst /* subtest number */ movl $1,_no_opr /* number of operands in use */ 0: movl $0xaaaaaaaa,bloc movl $0xbbbbbbbb,wloc movl $0x55555555,lloc bicpsw $PSWMASK /*psw = 0 */ movl bloc1,r4 /*r4 = bloc address */ movl r4,_opr /* first operand */ movl (r4),r3 cmpl r3,$0xaaaaaaaa /*r3 = literal value? */ beql 1f /*if yes, goto next test */ er1: bbs $0,_scoplp,0b /* if set loop on error */ movl $1,_ercode /* error code data miscompare */ movl r3,_actual /* actual data */ movl $0xaaaaaaaa,_expected /* expected data */ jmp *badrtn /*error - dislay error */ 1: 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 */ 0: bicpsw $PSWMASK /*psw = 0 */ movl wloc1,r4 /*r4 = wloc address */ movl r4,_opr /* first operand */ movl (r4),r3 cmpl r3,$0xbbbbbbbb /*r3 = literal value? */ beql 2f /*if yes, goto next test */ er2: bbs $0,_scoplp,0b /* if set loop on error */ movl $1,_ercode /* error code data miscompare */ movl r3,_actual /* actual data */ movl $0xbbbbbbbb,_expected /* expected data */ jmp *badrtn /*error - dislay error */ 2: 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 */ 0: bicpsw $PSWMASK /*psw = 0 */ movl lloc1,r4 /*r4 = lloc address */ movl r4,_opr /* first operand */ movl (r4),r3 cmpl r3,$0x55555555 /*r3 = literal value? */ beql 3f /*if yes, goto next test */ er3: bbs $0,_scoplp,0b /* if set loop on error */ movl $1,_ercode /* error code data miscompare */ movl r3,_actual /* actual data */ movl $0x55555555,_expected /* expected data */ 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 $2,_no_opr /* number of operands in use */ 0: bicpsw $PSWMASK /*register deferred addressing in*/ /*second operand */ movl $4,r1 /* subtest number */ movl lloc1,r4 movl $-1,r3 movl r3,_opr /* first operand */ movl r4,_opr + 4 /* second operand */ movl r3,(r4) cmpl $-1,lloc beql 4f er4: bbs $0,_scoplp,0b /* if set loop on error */ movl $1,_ercode /* error code data miscompare */ movl lloc,_actual /* actual data */ movl $-1,_expected /* expected data */ 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 .align 2 bloc1: .long bloc empty1: .space 255 /*255 bytes of zeros */ .align 2 /*to force word addressing */ wloc: .fill 1,4,0xbbbbbbbb .align 2 wloc1: .long wloc empty2: .space 16565 /*to force long word addressing */ .align 2 lloc: .fill 1,4,0x55555555 .align 2 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.