	.SPACE $PRIVATE$
	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
	.SPACE $TEXT$
	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY

	.SPACE $TEXT$
	.SUBSPA $CODE$

	.align 4
	.EXPORT integer_memory_tests,CODE
	.EXPORT integer_indexing_load,CODE
	.EXPORT integer_load_short_memory,CODE
	.EXPORT integer_store_short_memory,CODE
	.EXPORT main,CODE
	.EXPORT main,ENTRY,PRIV_LEV=3,RTNVAL=GR
; Basic integer memory tests which also test the various 
; addressing modes and completers.
;
; We could/should test some of the corner cases for register and 
; immediate fields.  We should also check the assorted field
; selectors to make sure they're handled correctly.
; 
integer_memory_tests: 
	ldw 0(0,%r4),%r26
	ldh 0(0,%r4),%r26
	ldb 0(0,%r4),%r26
	stw %r26,0(0,%r4)
	sth %r26,0(0,%r4)
	stb %r26,0(0,%r4)

; Should make sure pre/post modes are recognized correctly.
	ldwm 0(0,%r4),%r26
	stwm %r26,0(0,%r4)

integer_indexing_load: 
	ldwx %r5(0,%r4),%r26
	ldwx,s %r5(0,%r4),%r26
	ldwx,m %r5(0,%r4),%r26
	ldwx,sm %r5(0,%r4),%r26
	ldhx %r5(0,%r4),%r26
	ldhx,s %r5(0,%r4),%r26
	ldhx,m %r5(0,%r4),%r26
	ldhx,sm %r5(0,%r4),%r26
	ldbx %r5(0,%r4),%r26
	ldbx,s %r5(0,%r4),%r26
	ldbx,m %r5(0,%r4),%r26
	ldbx,sm %r5(0,%r4),%r26
	ldwax %r5(%r4),%r26
	ldwax,s %r5(%r4),%r26
	ldwax,m %r5(%r4),%r26
	ldwax,sm %r5(%r4),%r26
	ldcwx %r5(0,%r4),%r26
	ldcwx,s %r5(0,%r4),%r26
	ldcwx,m %r5(0,%r4),%r26
	ldcwx,sm %r5(0,%r4),%r26

integer_load_short_memory: 
	ldws 0(0,%r4),%r26
	ldws,mb 0(0,%r4),%r26
	ldws,ma 0(0,%r4),%r26
	ldhs 0(0,%r4),%r26
	ldhs,mb 0(0,%r4),%r26
	ldhs,ma 0(0,%r4),%r26
	ldbs 0(0,%r4),%r26
	ldbs,mb 0(0,%r4),%r26
	ldbs,ma 0(0,%r4),%r26
	ldwas 0(%r4),%r26
	ldwas,mb 0(%r4),%r26
	ldwas,ma 0(%r4),%r26
	ldcws 0(0,%r4),%r26
	ldcws,mb 0(0,%r4),%r26
	ldcws,ma 0(0,%r4),%r26

integer_store_short_memory: 
	stws %r26,0(0,%r4)
	stws,mb %r26,0(0,%r4)
	stws,ma %r26,0(0,%r4)
	sths %r26,0(0,%r4)
	sths,mb %r26,0(0,%r4)
	sths,ma %r26,0(0,%r4)
	stbs %r26,0(0,%r4)
	stbs,mb %r26,0(0,%r4)
	stbs,ma %r26,0(0,%r4)
	stwas %r26,0(%r4)
	stwas,mb %r26,0(%r4)
	stwas,ma %r26,0(%r4)
	stbys %r26,0(0,%r4)
	stbys,b %r26,0(0,%r4)
	stbys,e %r26,0(0,%r4)
	stbys,b,m %r26,0(0,%r4)
	stbys,e,m %r26,0(0,%r4)
