File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / d / entry / absin_32k.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 INDEXED 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	_absi_mode
_absi_mode:
	callf	$4,_setjmp		/* save context for error return */
	movab	_absi_mode,_stpc	/* save subtest program counter */
	movl	$1,_no_opr		/* number of operands used */
	movl	$1,_subtst		/* sub test number */
0:	bicpsw	$PSWMASK
	movb	$data_table + 3,_opr	/* test operand */
	clrl	r3
	movb	$3,r2			/*index				*/
	movb	*$data_table[r2],r3	/*get third byte from data_table*/
	cmpl	r3,$0x44		/*which is 0x44			*/
	beql	1f
er1:
	bbs	$0,_scoplp,0b		/* if set tight loop for scope */
	movl	$1,_ercode		/* error code data miscompare */
	movl	r3,_actual		/* actual data */
	movl	$0x44,_expected		/* expected data */
	jmp	*badrtn				/*display error			*/

1:	cmpl	$3,r2			/*check index reg r3 unchanged	*/
	beql	3f
er3:
	bbs	$0,_scoplp,0b		/* if set tight loop for scope */
	movl	$3,_ercode		/* error code operand miscompare */
	movl	r2,_actual		/* actual data */
	movl	$3,_expected		/* expected data */
	jmp	*badrtn				/*display error			*/
3:
	bbs	$0,_force_lp,0b		/* loop on subtest if set */
3:	callf	$4,_setjmp		/* save context for error return */
	movab	3b,_stpc		/* save subtest program counter */
	movl	$2,_subtst		/* sub test number */
	movw	$data_table + 3,_opr	/* test operand */
0:	movw	*$data_table[r2],r3	/*get third word from data_table*/
	cmpl	r3,$0x7788		/*which is 0x7788		*/
	beql	4f
er4:
	bbs	$0,_scoplp,0b		/* if set tight loop for scope */
	movl	$1,_ercode		/* error code operand miscompare */
	movl	r3,_actual		/* actual data */
	movl	$0x7788,_expected	/* expected data */
	jmp	*badrtn				/*display error			*/
4:
	bbs	$0,_force_lp,0b		/* loop on subtest if set */
4:	callf	$4,_setjmp		/* save context for error return */
	movab	4b,_stpc		/* save subtest program counter */
	movl	$3,_subtst		/* sub test number */
	movl	$data_table + 3,_opr	/* test operand */
0:	movl	*$data_table[r2],r3	/*get third longword from table */
	cmpl	r3,$0xddeeff00		/*which is 0xddeeff00		*/
	beql	5f
er5:
	bbs	$0,_scoplp,0b		/* if set tight loop for scope */
	movl	$1,_ercode		/* error code operand miscompare */
	movl	r3,_actual		/* actual data */
	movl	$0xddeeff00,_expected	/* expected data */
	jmp	*badrtn				/*display error			*/
5:	bbs	$0,_force_lp,0b		/* loop on subtest if set */
	movl	$0,_ercode		/*no error*/
	jmp	*return				/*end of test - goto monitor	*/


/*	Variables							*/

	.align	2
disp:	.space	4
data_table:
	.fill	1,4,0x11223344		/*relative location 0*/
	.fill	1,4,0x55667788		/*rl 4			*/
	.fill	1,4,0x99aabbcc		/*rl 8			*/
	.fill	1,4,0xddeeff00		/*rl 12			*/
	.fill	1,4,0x00000000

	.align	2
dta1:	.long	disp

add_table:
	.space	5
	.align	2
	.long	data_table
	.space	02
	.align	2
	.long	data_table
	.space	32003
	.align	2
	.long	data_table

	.align	2
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.