File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / d / entry / wdisp_mode.s
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Sun Jul 28 12:24:19 2019 UTC (7 years ago) by root
Branches: bsd, MAIN
CVS tags: v12b, v121, HEAD
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


unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.