From 9f24d0511a89379bb3326ee1b62eeaabe589571b Mon Sep 17 00:00:00 2001 From: bd-912 Date: Tue, 7 May 2024 18:07:44 -0600 Subject: Print Datasegments to file, other Condense improvements, initial tests pass --- output/ex99.s | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 output/ex99.s (limited to 'output/ex99.s') diff --git a/output/ex99.s b/output/ex99.s new file mode 100644 index 0000000..d75bb99 --- /dev/null +++ b/output/ex99.s @@ -0,0 +1,71 @@ +.data +.text +jal Main +li $v0 10 +syscall +foo: + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 28 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + li $a0 1 + li $t9 3 + add $s0 $a0 $t9 + li $a0 2 + li $t9 4 + add $s1 $a0 $t9 + sw $s0 -28($fp) + sw $s1 -24($fp) + jalr $bar + move $a0 $v0 + move $t9 $v0 + add $s2 $a0 $t9 + move $v0 $s2 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 28 + jr $ra +bar: + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 16 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + lw $s0 0($fp) + lw $s1 4($fp) + move $a0 $s1 + move $t9 $s2 + add $v0 $a0 $t9 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 16 + jr $ra +_print: + li $v0 1 # syscall: print integer + syscall + la $a0 _newline + li $v0 4 # syscall: print string + syscall + jr $ra +_error: + li $v0 4 # syscall: print string + syscall + li $v0 10 # syscall: exit + syscall +_heapAlloc: + li $v0 9 # syscall: sbrk + syscall + jr $ra +.data +.align 0 +_newline: .asciiz "\n" +_str0: .asciiz "null pointer\n" -- cgit v1.2.3