# print string, one char per line, with ascii code. .data string: .asciiz "HELLO" nl: .asciiz "\n" tab: .asciiz "\t" char: .asciiz " " .text # $t0 holds address of i:th character. # $t1 holds i:th character. main: la $t0,string loop: lb $t1,($t0) # i:th char of string beq $t1,0,done # while ($t1!=null) do sb $t1,char # store char la $a0,char li $v0,4 # print char syscall la $a0,tab li $v0,4 # print tab syscall move $a0,$t1 # print ascii value li $v0,1 syscall la $a0,nl li $v0,4 # print nl syscall addi $t0,$t0,1 # next char b loop # end while done: li $v0,10 # exit syscall