|
|
Power 6/32 Unix version 1.2b
/* BTCS (branch to control store) test */ /*Test name = btcs */ /*Description = */ /* This test checks "btcs" instruction to see that */ /* (1)the result in r0 is 31 - vector */ /* */ /* Constants definition */ /* */ .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 EXPL,0 .set EXPW,0 .set EXPB,0 .set PSWMASK,0x003f .globl _btcs _btcs: callf $4,_setjmp /* save context for error return */ movab _btcs,_stpc /* address of subtest */ movl $1,_subtst /* subtest number */ 0: movl $ONES,r0 /*set r0 to all bits ones */ btcs $0 /* check for 31 - vector in r0 */ cmpl $0,r0 jneq error1 movl $2,_subtst /* subtest number */ btcs $1 cmpl $1,r0 jneq error1 movl $3,_subtst /* subtest number */ btcs $2 cmpl $2,r0 jneq error1 movl $4,_subtst /* subtest number */ btcs $3 cmpl $3,r0 jneq error1 movl $5,_subtst /* subtest number */ btcs $4 cmpl $4,r0 jneq error1 movl $6,_subtst /* subtest number */ btcs $5 cmpl $5,r0 jneq error1 movl $7,_subtst /* subtest number */ btcs $6 cmpl $6,r0 jneq error1 movl $8,_subtst /* subtest number */ btcs $7 cmpl $7,r0 jneq error1 movl $9,_subtst /* subtest number */ btcs $8 cmpl $8,r0 jneq error1 movl $0xa,_subtst /* subtest number */ btcs $9 cmpl $9,r0 jneq error1 movl $0xb,_subtst /* subtest number */ btcs $10 cmpl $10,r0 jneq error1 movl $0xc,_subtst /* subtest number */ btcs $11 cmpl $11,r0 jneq error1 movl $0xd,_subtst /* subtest number */ btcs $12 cmpl $12,r0 jneq error1 movl $0xe,_subtst /* subtest number */ btcs $13 cmpl $13,r0 jneq error1 movl $0xf,_subtst /* subtest number */ btcs $14 cmpl $14,r0 jneq error1 movl $0x10,_subtst /* subtest number */ btcs $15 cmpl $15,r0 jneq error1 movl $0x11,_subtst /* subtest number */ btcs $16 cmpl $16,r0 jneq error1 movl $0x12,_subtst /* subtest number */ btcs $17 cmpl $17,r0 jneq error1 movl $0x13,_subtst /* subtest number */ btcs $18 cmpl $18,r0 jneq error1 movl $0x14,_subtst /* subtest number */ btcs $19 cmpl $19,r0 jneq error1 movl $0x15,_subtst /* subtest number */ btcs $20 cmpl $20,r0 jneq error1 movl $0x16,_subtst /* subtest number */ btcs $21 cmpl $21,r0 jneq error1 movl $0x17,_subtst /* subtest number */ btcs $22 cmpl $22,r0 jneq error1 movl $0x18,_subtst /* subtest number */ btcs $23 cmpl $23,r0 jneq error1 movl $0x19,_subtst /* subtest number */ btcs $24 cmpl $24,r0 jneq error1 movl $0x1a,_subtst /* subtest number */ btcs $25 cmpl $25,r0 jneq error1 movl $0x1b,_subtst /* subtest number */ btcs $26 cmpl $26,r0 jneq error1 movl $0x1c,_subtst /* subtest number */ btcs $27 cmpl $27,r0 jneq error1 movl $0x1d,_subtst /* subtest number */ btcs $28 cmpl $28,r0 jneq error1 movl $0x1e,_subtst /* subtest number */ btcs $29 cmpl $29,r0 jneq error1 movl $0x1f,_subtst /* subtest number */ btcs $30 cmpl $30,r0 jneq error1 movl $0x20,_subtst /* subtest number */ btcs $31 cmpl $31,r0 jneq error1 movl $0x21,_subtst /* subtest number */ movl $15,r5 /* check register addressing mode */ btcs r5 cmpl $15,r0 jneq error1 bbs $0,_force_lp,0b /* if set loop on subtest */ jmp *return /* good, return to monitor */ error1: bbs $0,_scoplp,0b /* if set loop on error */ movl $1,_ercode /* error code data miscompare */ movl r0,_actual /* actual data */ subl3 $1,_subtst,_expected /* expected value */ jmp *badrtn /*error */ /* End of file */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.