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



/*		RELATIVE DEFERRED  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	_reldw_mode
_reldw_mode:
				/*byte relative deferred		*/	
	movl	$_stpc,r7
	movab	_reldw_mode,(r7)	/*  save subtest pc */
	movl	$_subtst,r7
	movl	$1,(r7)			/* subtest number */
	movl	$_no_opr,r7
	movl	$1,(r7)			/* number of operands in use */
	movl	$_opr,r7
	movl	*bloc1,(r7)		/* first operand */
0:	movl	*bloc1,r3		/*r3 = (bloc)			*/
	cmpl	r3,$0xaaaaaaaa		/*r3 = literal value?		*/
	beql	1f			/*if yes, goto next test	*/
	jmp	er1
1:	movl	$nxt1,r6
	jmp	(r6)
er1:
	movl	$0b,r6
	movl	$_scoplp,r7
	tstl	(r7)
	beql	1f
	jmp	(r6)
1:	movl	$_ercode,r7
	movl	$1,(r7)			/*error code data miscompare*/
	movl	$_actual,r7
	movl	r3,(r7)			/* actual data */
	movl	$_expected,r7
	movl	$0xaaaaaaaa,(r7)	/*expected; r3 = observed*/
	movl	*$badrtn,r7		/*error - dislay error	*/
	jmp	(r7)
nxt1:
				/*word relative deferred		*/	
	movl	$_stpc,r7
	movab	nxt1,(r7)			/*  save subtest pc */
	movl	$_subtst,r7
	movl	$2,(r7)			/* subtest number */
	movl	$_no_opr,r7
	movl	$1,(r7)			/* number of operands in use */
	movl	$_opr,r7
	movl	*wloc1,(r7)		/* first operand */
0:	bicpsw	$PSWMASK		/*psw = 0			*/
	movl	*wloc1,r3		/*r3 = (wloc)			*/
	cmpl	r3,$0xbbbbbbbb		/*r3 = literal value?		*/
	beql	1f			/*if yes, goto next test	*/
	jmp	er2
1:	movl	$ret2,r6
	jmp	(r6)
er2:
	movl	$0b,r6
	movl	$_scoplp,r7
	tstl	(r7)
	beql	1f
	jmp	(r6)
1:	movl	$_ercode,r7
	movl	$1,(r7)		/*error code data miscompare*/
	movl	$_actual,r7
	movl	r3,(r7)			/* actual data */
	movl	$_expected,r7
	movl	$0xbbbbbbbb,(r7)	/*expected; r3 = observed*/
	movl	*$badrtn,r7		/*error - dislay error	*/
	jmp	(r7)
ret2:
	movl	*$return,r7		/*end of test - goto monitor		*/
	jmp	(r7)


/*	Variables list							*/
	.align	2
bloc:	.fill	4,1,0xaa
bloc1:	.long	bloc
empty1:	.space	255		/*255 bytes of zeros			*/
				/*to force word addressing		*/
	.align	2
wloc:	.fill	1,4,0xbbbbbbbb
wloc1:	.long	wloc


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