| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- .globl __start
- __start:
- li $a0, 72
- li $v0, 9
- syscall
- or $fp, $0, $v0
- la $t0, main
- sw $t0, 0($fp)
- sw $0, 4($fp)
- jal main
- j done
- twice:
- li $a0, 72
- li $v0, 9
- syscall
- sw $fp, 4($v0)
- sw $16, 8($fp)
- sw $17, 12($fp)
- sw $18, 16($fp)
- sw $19, 20($fp)
- sw $20, 24($fp)
- sw $21, 28($fp)
- sw $22, 32($fp)
- sw $23, 36($fp)
- or $fp, $0, $v0
- la $t0, twice
- sw $t0, 0($fp)
- sw $ra, 64($fp)
- or $16, $0, $5
- li $a0, 72
- li $v0, 9
- syscall
- or $17, $v0, $0
- la $v0, g
- sw $v0, 0($17)
- sw $fp, 68($17)
- sw $16, 8($fp)
- sw $17, 12($fp)
- sw $18, 16($fp)
- sw $19, 20($fp)
- sw $20, 24($fp)
- sw $21, 28($fp)
- sw $22, 32($fp)
- sw $23, 36($fp)
- or $v1, $0, $17
- jr $31
- g:
- li $a0, 72
- li $v0, 9
- syscall
- sw $k1, 68($v0)
- sw $fp, 4($v0)
- sw $16, 8($fp)
- sw $17, 12($fp)
- sw $18, 16($fp)
- sw $19, 20($fp)
- sw $20, 24($fp)
- sw $21, 28($fp)
- sw $22, 32($fp)
- sw $23, 36($fp)
- or $fp, $0, $v0
- la $t0, g
- sw $t0, 0($fp)
- sw $ra, 64($fp)
- or $16, $0, $5
- or $5, $0, $16
- or $k0, $fp, $0
- lw $fp, 68($fp)
- lw $fp, 68($fp)
- lw $9, 8($fp)
- or $fp, $k0, $0
- lw $gp, 0($9)
- or $k1, $0, $9
- jalr $gp
- lw $fp, 4($fp)
- lw $ra, 64($fp)
- lw $16, 8($fp)
- or $8, $0, $v1
- or $5, $0, $8
- or $k0, $fp, $0
- lw $fp, 68($fp)
- lw $fp, 68($fp)
- lw $11, 8($fp)
- or $fp, $k0, $0
- lw $gp, 0($11)
- or $k1, $0, $11
- jalr $gp
- lw $fp, 4($fp)
- lw $ra, 64($fp)
- lw $16, 8($fp)
- or $10, $0, $v1
- sw $16, 8($fp)
- sw $17, 12($fp)
- sw $18, 16($fp)
- sw $19, 20($fp)
- sw $20, 24($fp)
- sw $21, 28($fp)
- sw $22, 32($fp)
- sw $23, 36($fp)
- or $v1, $0, $10
- jr $31
- main:
- li $a0, 72
- li $v0, 9
- syscall
- sw $fp, 4($v0)
- or $fp, $0, $v0
- la $t0, main
- sw $t0, 0($fp)
- sw $ra, 64($fp)
- li $a0, 72
- li $v0, 9
- syscall
- or $16, $v0, $0
- la $v0, whammy
- sw $v0, 0($16)
- sw $fp, 68($16)
- or $5, $0, $16
- jal twice
- lw $fp, 4($fp)
- lw $ra, 64($fp)
- lw $16, 8($fp)
- or $12, $0, $v1
- or $17, $0, $12
- li $13, 2
- or $5, $0, $13
- lw $gp, 0($17)
- or $k1, $0, $17
- jalr $gp
- lw $fp, 4($fp)
- lw $ra, 64($fp)
- lw $16, 8($fp)
- lw $17, 12($fp)
- or $14, $0, $v1
- sw $16, 8($fp)
- sw $17, 12($fp)
- sw $18, 16($fp)
- sw $19, 20($fp)
- sw $20, 24($fp)
- sw $21, 28($fp)
- sw $22, 32($fp)
- sw $23, 36($fp)
- or $v1, $0, $14
- jr $31
- whammy:
- li $a0, 72
- li $v0, 9
- syscall
- sw $k1, 68($v0)
- sw $fp, 4($v0)
- sw $16, 8($fp)
- sw $17, 12($fp)
- sw $18, 16($fp)
- sw $19, 20($fp)
- sw $20, 24($fp)
- sw $21, 28($fp)
- sw $22, 32($fp)
- sw $23, 36($fp)
- or $fp, $0, $v0
- la $t0, whammy
- sw $t0, 0($fp)
- sw $ra, 64($fp)
- or $16, $0, $5
- li $24, 5
- add $15, $16, $24
- sw $16, 8($fp)
- sw $17, 12($fp)
- sw $18, 16($fp)
- sw $19, 20($fp)
- sw $20, 24($fp)
- sw $21, 28($fp)
- sw $22, 32($fp)
- sw $23, 36($fp)
- or $v1, $0, $15
- jr $31
- done:
- or $a0, $v1, $0
- ori $v0, $0, 1
- syscall
- ori $a0, $0, 0xA
- ori $v0, $0, 0xB
- syscall
- ori $v0, $0, 10
- syscall
|