.text
print_int:
  move $a0, $t0
  li   $v0, 1
  syscall
  jr   $ra
print_string:
  move $a0, $t0
  li   $v0, 4
  syscall
  jr   $ra
print_bool:
  beqz $t0, _label_0
  la   $a0, __str_0
  li   $v0, 4
  syscall
  jr   $ra
_label_0:
  la   $a0, __str_1
  li   $v0, 4
  syscall
  jr   $ra
_start:
  jal  main
  li   $v0, 10
  syscall
pair:
  addi $sp, $sp, -4
  sw   $ra, 0($sp)
  addi $sp, $sp, -4
  sw   $fp, 0($sp)
  move $fp, $sp
  li   $a0, 8
  li   $v0, 9
  syscall
  move $t0, $v0
  move $t3, $t0
  li   $t0, 7
  sw   $t0, 0($t3)
  li   $t0, 8
  sw   $t0, 4($t3)
  move $t0, $t3
  move $sp, $fp
  lw   $fp, 0($sp)
  addi $sp, $sp, 4
  lw   $ra, 0($sp)
  addi $sp, $sp, 4
  jr   $ra
  move $sp, $fp
  lw   $fp, 0($sp)
  addi $sp, $sp, 4
  lw   $ra, 0($sp)
  addi $sp, $sp, 4
  jr   $ra
main:
  addi $sp, $sp, -4
  sw   $ra, 0($sp)
  addi $sp, $sp, -4
  sw   $fp, 0($sp)
  move $fp, $sp
  jal  pair
  li   $t0, 0
  jal  print_int
  move $sp, $fp
  lw   $fp, 0($sp)
  addi $sp, $sp, 4
  lw   $ra, 0($sp)
  addi $sp, $sp, 4
  jr   $ra
.data
__str_0:
  .asciiz "true"
__str_1:
  .asciiz "false"
