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

/*	(BYTE, WORD, LONGWORD) DISPLACEMENT ADDRESSING MODES 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	_dispd_mode
_dispd_mode:
	movl	$1,r1			/* subtest number */
	movl	base_add,r3			/*base of the address_table*/
	movl	*b^4(r3),r4			/*byte disp deferred mode*/
	cmpl	r4,$0x33221100
	beql	1f
er1:
	movl	$1,r2				/*error code*/
	movl	bbase1,r3			/*expected; r4 = observed*/
	jmp	*badrtn		/*byte disp def mode did not move right value	*/	
1:	movl	$2,r1			/* subtest number */
	movl	$0x55555555,r4
	movl	r4,*b^4(r3)
	cmpl	bbase1,$0x55555555	/*this is the actual location	*/
					/*changed by the previous inst	*/
	beql	2f
er2:
	movl	$2,r2				/*error code*/
	movl	bbase1,r3			/*observed; r4 = expected*/
	jmp	*badrtn	/*byte disp def mode did not move right value	*/	
2:
	movl	$3,r1			/* subtest number */
	movl	base_add,r3			/*base of the address_table*/
	movl	*w^32012(r3),r4			/*word disp deferred mode*/
	cmpl	r4,$0xaaaaaaaa
	beql	3f
er3:
	movl	$3,r2				/*error code*/
	movl	bbase2,r3			/*expected; r4 = observed*/
	jmp	*badrtn	/*byte disp def mode did not move right value	*/	
3:	movl	$4,r1			/* subtest number */
	movl	$0x55555555,r4
	movl	r4,*w^32012(r3)
	cmpl	bbase2,$0x55555555	/*this is the actual location	*/
					/*changed by the previous inst	*/
	beql	4f
er4:
	movl	$4,r2				/*error code*/
	movl	bbase2,r3			/*observed; r4 = expected*/
	jmp	*badrtn	/*byte disp def mode did not move right value	*/	
4:
	movl	$5,r1			/* subtest number */
	movl	base_add,r3			/*base of the address_table*/
	movl	*l^64020(r3),r4			/*longword disp deferred mode*/
	cmpl	r4,$0xbbbbbbbb
	beql	5f
er5:
	movl	$5,r2				/*error code*/
	movl	bbase3,r3			/*expected; r2 = observed*/
	jmp	*badrtn	/*byte disp def mode did not move right value	*/	
5:	movl	$6,r1			/* subtest number */
	movl	$0x55555555,r4
	movl	r4,*l^64020(r3)
	cmpl	bbase3,$0x55555555	/*this is the actual location	*/
					/*changed by the previous inst	*/
	beql	6f
er6:
	movl	$6,r2				/*error code*/
	movl	bbase3,r3			/*observed; r2 = expected*/
	jmp	*badrtn	/*byte disp def mode did not move right value	*/	
6:
	movl	$0,r2			/*no error*/
	movl	$0x33221100,bbase1
	movl	$0xaaaaaaaa,bbase2
	movl	$0xbbbbbbbb,bbase3
	jmp	*return			/*end of test			*/


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


bb1:	.long	bbase1
bbl:	.long	bbasel

				/*address table			*/
	.align	2
add_table:
	.space	4
	.align	2
	.long	bbase1		/* relative location 4		*/
	.space	32002
	.align	2
	.long	bbase2		/*relative location 32012	*/
	.space	32003
	.align	2
	.long	bbase3		/*relative location 64020	*/

base_add:
	.long	add_table



/*end of file			*/



unix.superglobalmegacorp.com

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