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



/*		BTCS (branch to control store) test			*/

/*Test name = btcs							*/
/*Description =								*/
/*	This test checks "btcs" instruction to see that			*/
/*	(1)the result in r0 is 31 - vector				*/
/*									*/
/*	Constants definition						*/
/*									*/
	.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	EXPL,0
	.set	EXPW,0
	.set	EXPB,0
	.set	PSWMASK,0x003f
	.globl	_btcs
_btcs:
	callf	$4,_setjmp	/* save context for error return */
	movab	_btcs,_stpc	/* address of subtest */
	movl	$1,_subtst	/* subtest number */
0:	movl	$ONES,r0	/*set r0 to all bits ones		*/
	btcs	$0		/* check for 31 - vector in r0		*/
	cmpl	$0,r0
	jneq	error1
	movl	$2,_subtst	/* subtest number */
	btcs	$1
	cmpl	$1,r0
	jneq	error1
	movl	$3,_subtst	/* subtest number */
	btcs	$2
	cmpl	$2,r0
	jneq	error1
	movl	$4,_subtst	/* subtest number */
	btcs	$3
	cmpl	$3,r0
	jneq	error1
	movl	$5,_subtst	/* subtest number */
	btcs	$4
	cmpl	$4,r0
	jneq	error1
	movl	$6,_subtst	/* subtest number */
	btcs	$5
	cmpl	$5,r0
	jneq	error1
	movl	$7,_subtst	/* subtest number */
	btcs	$6
	cmpl	$6,r0
	jneq	error1
	movl	$8,_subtst	/* subtest number */
	btcs	$7
	cmpl	$7,r0
	jneq	error1
	movl	$9,_subtst	/* subtest number */
	btcs	$8
	cmpl	$8,r0
	jneq	error1
	movl	$0xa,_subtst	/* subtest number */
	btcs	$9
	cmpl	$9,r0
	jneq	error1
	movl	$0xb,_subtst	/* subtest number */
	btcs	$10
	cmpl	$10,r0
	jneq	error1
	movl	$0xc,_subtst	/* subtest number */
	btcs	$11
	cmpl	$11,r0
	jneq	error1
	movl	$0xd,_subtst	/* subtest number */
	btcs	$12
	cmpl	$12,r0
	jneq	error1
	movl	$0xe,_subtst	/* subtest number */
	btcs	$13
	cmpl	$13,r0
	jneq	error1
	movl	$0xf,_subtst	/* subtest number */
	btcs	$14
	cmpl	$14,r0
	jneq	error1
	movl	$0x10,_subtst	/* subtest number */
	btcs	$15
	cmpl	$15,r0
	jneq	error1
	movl	$0x11,_subtst	/* subtest number */
	btcs	$16
	cmpl	$16,r0
	jneq	error1
	movl	$0x12,_subtst	/* subtest number */
	btcs	$17
	cmpl	$17,r0
	jneq	error1
	movl	$0x13,_subtst	/* subtest number */
	btcs	$18
	cmpl	$18,r0
	jneq	error1
	movl	$0x14,_subtst	/* subtest number */
	btcs	$19
	cmpl	$19,r0
	jneq	error1
	movl	$0x15,_subtst	/* subtest number */
	btcs	$20
	cmpl	$20,r0
	jneq	error1
	movl	$0x16,_subtst	/* subtest number */
	btcs	$21
	cmpl	$21,r0
	jneq	error1
	movl	$0x17,_subtst	/* subtest number */
	btcs	$22
	cmpl	$22,r0
	jneq	error1
	movl	$0x18,_subtst	/* subtest number */
	btcs	$23
	cmpl	$23,r0
	jneq	error1
	movl	$0x19,_subtst	/* subtest number */
	btcs	$24
	cmpl	$24,r0
	jneq	error1
	movl	$0x1a,_subtst	/* subtest number */
	btcs	$25
	cmpl	$25,r0
	jneq	error1
	movl	$0x1b,_subtst	/* subtest number */
	btcs	$26
	cmpl	$26,r0
	jneq	error1
	movl	$0x1c,_subtst	/* subtest number */
	btcs	$27
	cmpl	$27,r0
	jneq	error1
	movl	$0x1d,_subtst	/* subtest number */
	btcs	$28
	cmpl	$28,r0
	jneq	error1
	movl	$0x1e,_subtst	/* subtest number */
	btcs	$29
	cmpl	$29,r0
	jneq	error1
	movl	$0x1f,_subtst	/* subtest number */
	btcs	$30
	cmpl	$30,r0
	jneq	error1
	movl	$0x20,_subtst	/* subtest number */
	btcs	$31
	cmpl	$31,r0
	jneq	error1
	movl	$0x21,_subtst	/* subtest number */
	movl	$15,r5		/* check register addressing mode */
	btcs	r5
	cmpl	$15,r0
	jneq	error1
	
	bbs	$0,_force_lp,0b	/* if set loop on subtest */
	jmp	*return		/* good, return to monitor */

error1:	bbs	$0,_scoplp,0b	/* if set loop on error */
	movl	$1,_ercode	/* error code data miscompare */
	movl	r0,_actual	/* actual data */
	subl3	$1,_subtst,_expected /* expected value */
	jmp	*badrtn		/*error				*/

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