File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / d / entry / ca334.s
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Sun Jul 28 12:24:19 2019 UTC (6 years, 11 months ago) by root
Branches: bsd, MAIN
CVS tags: v12b, v121, HEAD
Power 6/32 Unix version 1.2b


/*	andl3	mask,src,dest						*/
/*	Combination = 3,3,4 & (4,4,3)					*/
/*	mask	src	dest						*/
/*	----	---	----						*/
/*	3	3	4						*/
/*	3	4	3	illegal					*/
/*	4	3	3	illegal					*/
/*	4	4	3	illegal					*/
/*	4	3	4						*/
/*	3	4	4						*/
/*	where 1 = register mode						*/
/*	      2 = (register) mode					*/
/*	      3 = immidiate mode					*/
/*	      4 = longword displacement deferred mode			*/

/*	Constants							*/


	.set	MASK,0x55555555
	.set	SRC,0xaaaaaaaa
	.set	DEST,-1


/*									*/
/*	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	_ca334
_ca334:	callf	$4,_setjmp		/* save context */
	movab	_ca334,_stpc		/* save subtest pc */
	movl	$1,_subtst		/* save subtest number */
	movl	$4,_no_opr		/* four operands in use */
0:	movl	base_add,r3
	movl	$3,r4
	movl	$MASK,_opr		/* first operand */
	movl	$SRC,_opr + 4		/* second operand */
	movl	r3,_opr + 8		/* third operand */
	movl	r4,_opr + 12		/* fourth operand */
	andl3	$MASK,$SRC,*l^64020(r3)[r4]
	cmpl	$0,dest
	beql	1f
er1:	bbs	$0,_scoplp,0b		/* if set scope loop on error */
	movl	$1,_ercode		/* error code  data  miscompare */
	movl	dest,_actual		/* actual data */
	movl	$0,_expected		/* expected data */
	jmp	*badrtn			/*error - mode = 334		*/
1:	bbs	$0,_force_lp,0b		/* if set loop on last subtest */
1:	callf	$4,_setjmp		/* save context */
	movab	1b,_stpc		/* save subtest pc */
	movl	$2,_subtst		/* save subtest number */
	movl	$4,_no_opr		/* four operands in use */
0:	movl	$1,r5
	movl	$DEST,dest
	movl	r3,_opr			/* first operand */
	movl	r5,_opr + 4		/* second operand */
	movl	$SRC,_opr + 8		/* third operand */
	movl	r4,_opr + 12		/* fourth operand */
	andl3	*l^64020(r3)[r5],$SRC,*l^64020(r3)[r4]
	cmpl	$0,dest
	beql	2f
er2:	bbs	$0,_scoplp,0b		/* if set scope loop on error */
	movl	$1,_ercode		/* error code  data  miscompare */
	movl	dest,_actual		/* actual data */
	movl	$0,_expected		/* expected data */
	jmp	*badrtn			/*error - mode = 434		*/
2:	bbs	$0,_force_lp,0b		/* if set loop on last subtest */
2:	callf	$4,_setjmp		/* save context */
	movab	2b,_stpc		/* save subtest pc */
	movl	$3,_subtst		/* save subtest number */
	movl	$4,_no_opr		/* four operands in use */
0:	movl	$2,r5
	movl	$DEST,dest
	movl	$MASK,_opr			/* first operand */
	movl	r3,_opr + 4		/* second operand */
	movl	r5,_opr + 8		/* third operand */
	movl	r4,_opr + 12		/* fourth operand */
	andl3	$MASK,*l^64020(r3)[r5],*l^64020(r3)[r4]
	cmpl	$0,dest
	beql	3f
er3:	bbs	$0,_scoplp,0b		/* if set scope loop on error */
	movl	$1,_ercode		/* error code  data  miscompare */
	movl	dest,_actual		/* actual data */
	movl	$0,_expected		/* expected data */
	jmp	*badrtn			/*error - mode = 344		*/
3:	bbs	$0,_force_lp,0b		/* if set loop on last subtest */
	movl	$0,_ercode		/* no error */
	jmp	*return		/*end of test - goto monitor		*/


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