### runtime library .text exit: li $v0, 10 syscall print: li $v0, 4 syscall jr $ra print_int: li $v0, 1 syscall jr $ra .data eol: .asciiz "\n" .text main: ### test instructions: add, addi, addu, addui li $t0, 42 li $t1, 2055 li $t2, 0x7fffffff li $t3, 0x7ffff7d0 ## signed addition add $a0, $t0, $t1 jal print_int la $a0, eol jal print addi $a0, $t0, 2055 jal print_int la $a0, eol jal print ## unsigned addition, no overflow-checking addu $a0, $t2, $t3 jal print_int la $a0, eol jal print addiu $a0, $t2, 0x7ffff7d0 jal print_int la $a0, eol jal print ### test instructions: sub, sub immediate, subu, subu immediate li $t0, 2139 li $t1, 42 li $t2, 0x80000000 li $t3, 0x7ffff7cf ## signed substraction sub $a0, $t1, $t0 jal print_int la $a0, eol jal print sub $a0, $t0, 42 jal print_int la $a0, eol jal print ## unsigned substraction, no overflow-checking subu $a0, $t2, $t3 jal print_int la $a0, eol jal print subu $a0, $t2, 0x7ffff7cf jal print_int la $a0, eol jal print end: j exit