|
|
Power 6/32 Unix version 1.2b
/* WORD DISPLACEMENT 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 _wdisp_mode _wdisp_mode: movl $1,r1 /* subtest number */ movl bb1,r3 /*move address of label bbase1 */ movb $0x55,w^32767(r3) /*change byte 32767 of bbase1 */ cmpl wbasel,$0xffffff55 /*see if it happened */ beql 1f er1: movl $1,r2 /*error code*/ movl wbasel,r3 /*observed*/ movl $0xffffff55,r4 /*expected*/ jmp *$9f 9: jmp *badrtn /*word disp mode did not move */ /*right byte*/ 1: cmpl r3,bb1 /*check r3 did not changed */ beql 2f er2: movl $2,r2 /*error code*/ movl bb1,r4 /*exp original value in r3*/ jmp *$9f 9: jmp *badrtn /*word disp mode changed base which*/ /*r3 */ 2: movl $2,r1 /* subtest number */ movb w^134(r3),w^32766(r3) cmpl wbasel,$0xffff0055 beql 3f er3: movl $3,r2 /*error code*/ movl wbasel,r3 /*observed*/ movl $0xffff0055,r4 /*expected*/ jmp *$9f 9: jmp *badrtn /*word disp mode did not move */ /*right byte*/ 3: cmpl r3,bb1 beql 4f er4: movl $4,r2 /*error code*/ movl bb1,r4 /*exp original value in r3*/ jmp *$9f 9: jmp *badrtn /*word disp mode changed base which*/ /*r3 */ 4: movl $3,r1 /* subtest number */ movb w^132(r3),w^32765(r3) cmpl wbasel,$0xff110055 beql 5f er5: movl $5,r2 /*error code*/ movl wbasel,r3 /*observed*/ movl $0xff110055,r4 /*expected*/ jmp *$9f 9: jmp *badrtn /*word disp mode did not move */ /*right byte*/ 5: movl $0,r2 /*no error*/ movl $0x33221100,bbase1 movl $0xaaaaaaaa,bbase2 movl $0xbbbbbbbb,bbase3 movl $0xffffffff,bbasel movl $0x11110000,wbase1 movl $0xffffffff,wbasel jmp *return /*end of test - goto monitor */ /* Variables */ .align 2 bbase1: .fill 1,4,0x33221100 /*relative location 0*/ bbase2: .fill 1,4,0xaaaaaaaa /*rl 4 */ bbase3: .fill 1,4,0xbbbbbbbb /*rl 8 */ .space 112 bbasel: .fill 1,4,0xffffffff /*rl 124 */ .space 4 wbase1: .fill 1,4,0x11110000 /*rl 132 */ .space 32628 wbasel: .fill 1,4,0xffffffff /*rl 32764 */ bb1: .long bbase1 bbl: .long bbasel wb1: .long wbase1 wbl: .long wbasel
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.