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

/*		ABSOLUTE 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	_abs_mode
_abs_mode:
a_mode:
	callf	$4,_setjmp		/* save context for error return */
	movab	a_mode,_stpc		/* save subtest program counter */
	movl	$1,_subtst		/* subtest number */
	movl	$1,_no_opr		/* number of operands used in test */
0:	bicpsw	$PSWMASK		/*psw = 0			*/
	movl	$bloc,_opr		/* opr = (bloc)			*/
	movl	*$bloc,r3		/*r3 = (bloc)			*/
	cmpl	r3,$0xaaaaaaaa		/*r3 = literal value?		*/
	beql	1f			/*if yes, goto next test	*/
er1:
	bbs	$0,_scoplp,0b		/* if set tight loop for scope */
	movl	$1,_ercode		/* error code */
	movl	r3,_actual		/* actual data */
	movl	$0xaaaaaaaa,_expected	/*expected data*/
	jmp	*badrtn			 /*error -- r3 = observed data*/
1:
	bbs	$0,_force_lp,0b		/* if set loop on subtest */
1:	movab	1b,_stpc		/* save subtest program counter */
	movl	$2,_subtst		/* subtest number */
0:	bicpsw	$PSWMASK		/*psw = 0			*/
	movl	$wloc,_opr		/* opr = (wloc)			*/
	movl	*$wloc,r3		/*r3 = (wloc)			*/
	cmpl	r3,$0xbbbbbbbb		/*r3 = literal value?		*/
	beql	2f			/*if yes, goto next test	*/
er2:
	bbs	$0,_scoplp,0b		/* if set tight loop for scope */
	movl	$1,_ercode		/* error code */
	movl	r3,_actual		/* actual data */
	movl	$0xbbbbbbbb,_expected	/*expected data*/
	jmp	*badrtn 		/* error -- r3 = actaul data */
				/*					*/
2:
	bbs	$0,_force_lp,0b		/* if set loop on subtest */
2:	movab	2b,_stpc		/* save subtest program counter */
	movl	$3,_subtst		/* subtest number */
0:	bicpsw	$PSWMASK		/*psw = 0			*/
	movl	$lloc,_opr		/* opr = (lloc)			*/
	movl	*$lloc,r3		/*r3 = (lloc)			*/
	cmpl	r3,$0x55555555		/*r3 = literal value?		*/
	beql	3f			/*if yes, goto next test	*/
er3:	
	bbs	$0,_scoplp,0b		/* if set tight loop for scope */
	movl	$1,_ercode		/* error code */
	movl	r3,_actual		/* actual data */
	movl	$0x55555555,_expected	/*expected data*/
9:	jmp	*badrtn 		/*error -- observed data*/
				/*					*/
3:
	bbs	$0,_force_lp,0b		/* if set loop on subtest */
3:	movab	3b,_stpc		/* save subtest program counter */
	movl	$4,_subtst		/* subtest number */
0:	bicpsw	$PSWMASK		/*absolute addressing in	*/
					/*second operand		*/
	movl	$-1,*$temp
	movl	$temp,_opr		/* opr = (temp)			*/
	cmpl	*$temp,$-1
	beql	4f
er4:
	bbs	$0,_scoplp,0b		/* if set tight loop for scope */
	movl	$1,_ercode		/* error code */
	movl	r3,_actual		/* actual data */
	movl	$-1,_expected		/*expected data*/
	jmp	*badrtn 		/*error -- r1 = observed data*/
4:	bbs	$0,_force_lp,0b		/* if set loop on subtest */
	movl	$0,_ercode		/*no error*/
	jmp	*return 		/*end of test - goto monitor		*/


/*	Variables list							*/
	.align	2
bloc:	.long	0xaaaaaaaa
temp:	.long	0
bloc1:	.long	bloc
empty1:	.space	255		/*255 bytes of zeros			*/
	.align	2		/*to force word addressing		*/
wloc:	.fill	1,4,0xbbbbbbbb
wloc1:	.long	wloc
empty2:	.space	16565		/*to force long word addressing		*/
	.align	2
lloc:	.fill	1,4,0x55555555
lloc1:	.long	lloc


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