|
|
Power 6/32 Unix version 1.2b
/* LITERAL ADDRESSING MODE TEST */ /* */ /* */ /*Test name = l_mode */ /*This test checks the literal addressing mode. Note that literal, */ /*relative, immidiate, and register modes have been extensively used in */ /*the previous tests, and so part of what we do here is somewhat */ /*redundent. */ /* */ /* */ /* */ /* 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 _l_mode _l_mode: callf $4,_setjmp /* save context for error return */ movab _l_mode,_stpc /* save subtest pc */ movl $1,_subtst /* subtest number */ movl $1,_no_opr /* number of operands used */ 0: bicpsw $PSWMASK /*psw = 0 */ movl $1,r3 /*r3 = literal value */ movl r3,_opr /* first operand */ cmpl r3,$1 /*r3 = literal value? */ beql 1f /*if yes, goto next test */ movl $1,r2 /* error code */ er1: bbs $0,_scoplp,0b /* if set scope loop on error */ movl $1,_ercode /* error code data miscompare */ movl r3,_actual /* actual data */ movl $1,_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 for error return */ movab 1b,_stpc /* save subtest pc */ movl $2,_subtst /* subtest number */ movl $1,_no_opr /* number of operands used */ 0: bicpsw $PSWMASK /*psw = 0 */ movl $18,r3 /*r3 = literal value */ movl r3,_opr /* first operand */ cmpl r3,$18 /*r3 = literal value? */ beql 2f /*if yes, goto next test */ er2: bbs $0,_scoplp,0b /* if set scope loop on error */ movl $1,_ercode /* error code data miscompare */ movl r3,_actual /* actual data */ movl $18,_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 for error return */ movab 2b,_stpc /* save subtest pc */ movl $3,_subtst /* subtest number */ movl $1,_no_opr /* number of operands used */ 0: bicpsw $PSWMASK /*psw = 0 */ movl $36,r3 /*r3 = literal value */ movl r3,_opr /* first operand */ cmpl r3,$36 /*r3 = literal value? */ beql 3f /*if yes, goto next test */ er3: bbs $0,_scoplp,0b /* if set scope loop on error */ movl $1,_ercode /* error code data miscompare */ movl r3,_actual /* actual data */ movl $36,_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 for error return */ movab 3b,_stpc /* save subtest pc */ movl $4,_subtst /* subtest number */ movl $1,_no_opr /* number of operands used */ 0: bicpsw $PSWMASK /*psw = 0 */ movl $63,r3 /*r3 = literal value */ movl r3,_opr /* first operand */ cmpl r3,$63 /*r3 = literal value? */ beql 4f /*if yes, goto next test */ er4: bbs $0,_scoplp,0b /* if set scope loop on error */ movl $1,_ercode /* error code data miscompare */ movl r3,_actual /* actual data */ movl $36,_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 */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.