srv4.s 4.43 KB
/****************************************************************
  This program tests the instruction: srv
 ****************************************************************/

#include "suregre.h"

.base 0x04001000

	.data	0x04000000
	.word	0x01820384
	.word	0x85068708
	.word	0x098A0B8C
	.word	0x8D0E8F10
	.word	0x11921394
	.word	0x95169718
	.word	0x199A1B9C
	.word	0x9D1E9F20
	.word	0x21A223A4
	.word	0xA526A728
	.word	0x29AA2BAC
	.word	0xAD2EAF30
	.word	0x31B233B4
	.word	0xB536B738
	.word	0x39BA3BBC
	.word	0xBD3EBF40
	.word	0x41C243C4
	.word	0xC546C748
	.word	0x49CA4BCC
	.word	0xCD4ECF50
	.word	0x51D253D4
	.word	0xD556D758
	.word	0x59DA5BDC
	.word	0xDD5EDF60
	.word	0x61E263E4
	.word	0xE566E768
	.word	0x69EA6BEC
	.word	0xED6EEF70
	.word	0x71F273F4
	.word	0xF576F778
	.word	0x79FA7BFC
	.word	0xFD7E0080

	LI(r0 , 0xFFFF, 0xFFFF);
	LI(r1 , 0x0101, 0x0101);
	LI(r2 , 0x0202, 0x0202);
	LI(r3 , 0x0303, 0x0303);
	LI(r4 , 0x0404, 0x0404);
	LI(r5 , 0x0505, 0x0505);
	LI(r6 , 0x0606, 0x0606);
	LI(r7 , 0x0707, 0x0707);
	LI(r8 , 0x0808, 0x0808);
	LI(r9 , 0x0909, 0x0909);
	LI(r10, 0x0A0A, 0x0A0A);
	LI(r11, 0x0B0B, 0x0B0B);
	LI(r12, 0x0C0C, 0x0C0C);
	LI(r13, 0x0D0D, 0x0D0D);
	LI(r14, 0x0E0E, 0x0E0E);
	LI(r15, 0x0F0F, 0x0F0F);
	LI(r16, 0x1010, 0x1010);
	LI(r17, 0x1111, 0x1111);
	LI(r18, 0x1212, 0x1212);
	LI(r19, 0x1313, 0x1313);
	LI(r20, 0x1414, 0x1414);
	LI(r21, 0x1515, 0x1515);
	LI(r22, 0x1616, 0x1616);
	LI(r23, 0x1717, 0x1717);
	LI(r24, 0x1818, 0x1818);
	LI(r25, 0x1919, 0x1919);
	LI(r26, 0x1A1A, 0x1A1A);
	LI(r27, 0x1B1B, 0x1B1B);
	LI(r28, 0x1C1C, 0x1C1C);
	LI(r29, 0x1D1D, 0x1D1D);
	LI(r30, 0x1E1E, 0x1E1E);
	LI(r31, 0x1F1F, 0x1F1F);
	lqv	v0[0], 0 (r0);
	vxor	v0 , v0, v0
	vxor	v1 , v0, v0
	vxor	v2 , v0, v0
	vxor	v3 , v0, v0
	vxor	v4 , v0, v0
	vxor	v5 , v0, v0
	vxor	v6 , v0, v0
	vxor	v7 , v0, v0
	vxor	v8 , v0, v0
	vxor	v9 , v0, v0
	vxor	v10, v0, v0
	vxor	v11, v0, v0
	vxor	v12, v0, v0
	vxor	v13, v0, v0
	vxor	v14, v0, v0
	vxor	v15, v0, v0
	vxor	v16, v0, v0
	vxor	v17, v0, v0
	vxor	v18, v0, v0
	vxor	v19, v0, v0
	vxor	v20, v0, v0
	vxor	v21, v0, v0
	vxor	v22, v0, v0
	vxor	v23, v0, v0
	vxor	v24, v0, v0
	vxor	v25, v0, v0
	vxor	v26, v0, v0
	vxor	v27, v0, v0
	vxor	v28, v0, v0
	vxor	v29, v0, v0
	vxor	v30, v0, v0
	vxor	v31, v0, v0

	.word	0x7EE355EC
	.word	0x29AE3B5D
	.word	0x4BBF136A
	.word	0x35F31131

	.word	0xE355EC29
	.word	0xAE3B5D4B
	.word	0xBF136A35
	.word	0xF3113150
	.word	0x51D253D4
	.word	0xD556D758
	.word	0x59DA5BDC
	.word	0xDD5EDF60

	ChkVst(76,srv,r3 ,r4 ,r5 ,r2 ,v1 ,v13,v14,v0 ,0x0400,0x0080,0x0400,0x004F,0x0400,0x0040,0x0000,e0 ,0x00FF)

	.word	0x65EA054E
	.word	0x554920B7
	.word	0x42120223
	.word	0x61173774

	.word	0xEA054E55
	.word	0x4920B742
	.word	0x12022361
	.word	0x17377460
	.word	0x61E263E4
	.word	0xE566E768
	.word	0x69EA6BEC
	.word	0xED6EEF70

	ChkVst(77,srv,r4 ,r5 ,r6 ,r3 ,v13,v14,v15,v1 ,0x0400,0x00B0,0x0400,0x004F,0x0400,0x0050,0x0010,e0 ,0x00FF)

	.word	0x003232A4
	.word	0x20BF5D2D
	.word	0x339B66D5
	.word	0x0E87146D

	.word	0x3232A420
	.word	0xBF5D2D33
	.word	0x9B66D50E
	.word	0x87146D40
	.word	0xE355EC29
	.word	0xAE3B5D4B
	.word	0xBF136A35
	.word	0xF3113150

	ChkVst(78,srv,r5 ,r6 ,r7 ,r4 ,v14,v15,v16,v13,0x0400,0x00E0,0x0400,0x004F,0x0400,0x0030,0xFFF0,e0 ,0x00FF)

	.word	0x1FC620E1
	.word	0x7F4C26B4
	.word	0x75DB71B2
	.word	0x18E5787F

	.word	0xC620E17F
	.word	0x4C26B475
	.word	0xDB71B218
	.word	0xE5787F70
	.word	0x71F273F4
	.word	0xF576F778
	.word	0x79FA7BFC
	.word	0xFD7E0080

	ChkVst(79,srv,r6 ,r7 ,r8 ,r5 ,v15,v16,v17,v14,0x0400,0x0110,0x0400,0x004F,0x0400,0x0060,0x0020,e0 ,0x00FF)

	.word	0x5F000352
	.word	0x435820FC
	.word	0x5F636D05
	.word	0x00BF418A

	.word	0x00035243
	.word	0x5820FC5F
	.word	0x636D0500
	.word	0xBF418A10
	.word	0x11921394
	.word	0x95169718
	.word	0x199A1B9C
	.word	0x9D1E9F20

	ChkVst(80,srv,r7 ,r8 ,r9 ,r6 ,v16,v17,v18,v15,0x0400,0x0140,0x0400,0x004F,0x0400,0x0000,0xFFC0,e0 ,0x00FF)

	ori	r1, r0, 0xFEED;
Fail:	sw	r0, 0xf80(r0);
	sw	r1, 0xf84(r0);
	sw	r2, 0xf88(r0);
	sw	r3, 0xf8c(r0);
	sw	r4, 0xf90(r0);
	sw	r5, 0xf94(r0);
	sw	r6, 0xf98(r0);
	sw	r7, 0xf9c(r0);
	sw	r8, 0xfa0(r0);
	sw	r9, 0xfa4(r0);
	sw	r10, 0xfa8(r0);
	sw	r11, 0xfac(r0);
	sw	r12, 0xfb0(r0);
	sw	r13, 0xfb4(r0);
	sw	r14, 0xfb8(r0);
	sw	r15, 0xfbc(r0);
	sw	r16, 0xfc0(r0);
	sw	r17, 0xfc4(r0);
	sw	r18, 0xfc8(r0);
	sw	r19, 0xfcc(r0);
	sw	r20, 0xfd0(r0);
	sw	r21, 0xfd4(r0);
	sw	r22, 0xfd8(r0);
	sw	r23, 0xfdc(r0);
	sw	r24, 0xfe0(r0);
	sw	r25, 0xfe4(r0);
	sw	r26, 0xfe8(r0);
	sw	r27, 0xfec(r0);
	sw	r28, 0xff0(r0);
	sw	r29, 0xff4(r0);
	sw	r30, 0xff8(r0);
	sw	r31, 0xffc(r0);
	break;