# 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: # a # println # b # 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 -4 add $t0 $t0 $sp li $t1 3 sw $t1 0($t0) li $t0 -8 add $t0 $t0 $sp li $t1 4 sw $t1 0($t0) li $t0 -4 add $t0 $t0 $sp lw $t0 0($t0) li $t1 -8 add $t1 $t1 $sp lw $t1 0($t1) add $t2 $t0 $t1 # println move $a0 $t2 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 the number 7"