File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / d / entry / ldisp_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



/*	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


unix.superglobalmegacorp.com

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