diff options
Diffstat (limited to 'Homework/cs5300/compiler/p5-compiler/data/test2.asm')
| -rw-r--r-- | Homework/cs5300/compiler/p5-compiler/data/test2.asm | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/Homework/cs5300/compiler/p5-compiler/data/test2.asm b/Homework/cs5300/compiler/p5-compiler/data/test2.asm new file mode 100644 index 0000000..e7792ab --- /dev/null +++ b/Homework/cs5300/compiler/p5-compiler/data/test2.asm @@ -0,0 +1,86 @@ +# All program code is placed after the +# .text assembler directive +.text + +# Declare main as a global function +.globl main + +j main +main: +# Entering a new scope. +# Symbols in symbol table: +# println +# Update the stack pointer. +addi $sp $sp 0 +# println +la $a0 string_0 +li $v0 4 +syscall +la $a0 newline +li $v0 4 +syscall +li $t0 7 +# println +move $a0 $t0 +li $v0 1 +syscall +la $a0 newline +li $v0 4 +syscall +li $t0 3 +li $t1 4 +add $t2 $t0 $t1 +# println +move $a0 $t2 +li $v0 1 +syscall +la $a0 newline +li $v0 4 +syscall +li $t0 14 +li $t1 2 +div $t0 $t1 +mflo $t2 +# println +move $a0 $t2 +li $v0 1 +syscall +la $a0 newline +li $v0 4 +syscall +li $t0 7 +li $t1 1 +mult $t0 $t1 +mflo $t2 +# println +move $a0 $t2 +li $v0 1 +syscall +la $a0 newline +li $v0 4 +syscall +li $t0 7 +li $t1 2 +mult $t0 $t1 +mflo $t2 +li $t0 2 +div $t2 $t0 +mflo $t1 +# println +move $a0 $t1 +li $v0 1 +syscall +la $a0 newline +li $v0 4 +syscall +# Exit scope. +addi $sp $sp 0 +li $v0 10 +syscall + +# All memory structures are placed after the +# .data assembler directive +.data + +newline: .asciiz "\n" +string_0: .asciiz "This program prints 7 7 7 7 7 (separated by newlines)" |
