From 7cc43c6e22a8c4a38af694700211291bbcb910ae Mon Sep 17 00:00:00 2001
From: Roberto Hexsel <roberto@inf.ufpr.br>
Date: Mon, 14 Dec 2015 09:17:12 -0200
Subject: [PATCH] added test for lw ra; jr ra (with files)

---
 cMIPS/tests/jallwjr.expected | 14 ++++++++++++
 cMIPS/tests/jallwjr.s        | 44 ++++++++++++++++++++++++++++++++++++
 2 files changed, 58 insertions(+)
 create mode 100644 cMIPS/tests/jallwjr.expected
 create mode 100644 cMIPS/tests/jallwjr.s

diff --git a/cMIPS/tests/jallwjr.expected b/cMIPS/tests/jallwjr.expected
new file mode 100644
index 0000000..87f317e
--- /dev/null
+++ b/cMIPS/tests/jallwjr.expected
@@ -0,0 +1,14 @@
+00000028
+00000002
+00000028
+00000004
+00000028
+00000008
+00000028
+00000010
+00000028
+00000020
+00000028
+00000040
+00000028
+00000080
diff --git a/cMIPS/tests/jallwjr.s b/cMIPS/tests/jallwjr.s
new file mode 100644
index 0000000..f83a846
--- /dev/null
+++ b/cMIPS/tests/jallwjr.s
@@ -0,0 +1,44 @@
+	.include "cMIPS.s"
+	.text
+	.align 2
+	.set noat
+	.set noreorder
+	.globl _start
+	.ent _start
+	
+_start: nop
+	la $15,x_IO_BASE_ADDR
+	li $3,1
+	li $4,5
+	la $29, (x_DATA_BASE_ADDR + 1024)	# space for stack
+	
+	li  $9,1
+	li  $19, 100
+	
+itera:	jal fun
+	sw   $31, 0($15) # $31 <- 0,fun+4
+	slt  $18, $9, $19
+        bne  $18, $0, itera
+	nop
+	j    end
+	nop
+
+fun:	addiu $sp, $sp, -8
+	sw    $ra, 0($sp)
+	add   $9, $9, $9
+	move  $ra, $zero
+	addiu $sp, $sp, +8
+	lw    $ra, -8($sp)
+	jr    $ra
+	sw    $9, 0($15)
+
+	
+end:	nop
+	nop
+	nop
+	nop
+	nop
+	wait 
+	nop
+	nop
+	.end _start
-- 
GitLab