|
|
Power 6/32 Unix version 1.2b
/* LONGWORD 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 _ldisp_mode _ldisp_mode: movl $1,r1 /* subtest number */ movl bb1,r3 /*move address of label bbase1 */ movb $0x55,l^65539(r3) /*change byte 127 of bbase1 */ cmpl lbasel,$0xffffff55 /*see if it happened */ beql 1f er1: movl $1,r2 /*error code*/ movl lbasel,r3 /*observed*/ movl $0xffffff55,r4 /*expected*/ jmp *$9f 9: jmp *badrtn /*longword disp mode did not */ /*changed byte correctly */ 1: cmpl r3,bb1 /*check r3 did not changed */ beql 2f er2: movl bb1,r4 /*original base*/ movl $2,r3 /*error code*/ jmp *$9f 9: jmp *badrtn /*longword disp changed base in r3*/ 2: movl $2,r1 /* subtest number */ movb l^32768(r3),l^65538(r3) cmpl lbasel,$0xffff1155 beql 3f er3: movl $3,r2 /*error code*/ movl lbasel,r3 /*observed*/ movl $0xffff1155,r4 /*expected*/ jmp *$9f 9: jmp *badrtn /*longword disp mode did not */ /*changed byte correctly */ 3: cmpl r3,bb1 beql 4f er4: movl bb1,r4 /*original base*/ movl $4,r2 /*error code*/ jmp *$9f 9: jmp *badrtn /*longword disp changed base in r3*/ 4: movl $3,r1 /* subtest number */ movb l^32770(r3),l^65537(r3) cmpl lbasel,$0xff111155 beql 5f er5: movl $5,r2 /*error code*/ movl lbasel,r3 /*observed*/ movl $0xff111155,r4 /*expected*/ jmp *$9f 9: jmp *badrtn /*longword disp mode did not */ /*changed byte correctly */ 5: movl $0,r2 /*no error*/ movl $0x33221100,bbase1 movl $0xaaaaaaaa,bbase2 movl $0xbbbbbbbb,bbase3 movl $0xffffffff,bbasel movl $0x11110000,wbase1 movl $0xffffffff,wbasel movl $0x11111111,lbase1 movl $0xffffffff,lbasel 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 */ lbase1: .fill 1,4,0x11111111 /* rl 32768 */ .space 32764 lbasel: .fill 1,4,0xffffffff /*rl 65536 */ bb1: .long bbase1 bbl: .long bbasel wb1: .long wbase1 wbl: .long wbasel lb1: .long lbase1 lbl: .long lbasel
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.