# # character array # fill array with letters then print the array # .data result: .asciiz "\nThe letters are: " strarr: .space 26 .globl main .text main: lui $t1,0x1001 # $t1 is addr of data segment li $t2, 26 # $t2 <- number of letters in alphabet li $t3, 1 # $t3 <- 1 (loop counter) ori $t1, $t1, 19 # add 19 to $t1 so it points to strarr li $t0, 0x61 # $t0 <- ascii value of 'a' sb $t0, 0($t1) # copy 'a' into strarr loop: addi $t0, $t0, 1 # $t0 <- next letter (add to ascii value) addi $t1, $t1, 1 # $t1 <- addr of next element in strarr sb $t0, 0($t1) # copy next letter into strarr addi $t3, $t3, 1 # increment loop counter blt $t3, $t2, loop # keep looping till all letters stored li $v0, 4 # syscall code to print string lui $a0, 0x1001 # base addr of data segment syscall # print result msg addi $t1, $t1, -26 # $t1 <- addr of beginning of strarr li $t3, 0 # $t3 <- 1 (loop counter) li $v0, 11 # syscall code to print a char prlets: lb $a0, 0($t1) # $a0 <- letter from array syscall # print the letter addi $t1, $t1, 1 # $t1 <- addr of next letter in strarr addi $t3, $t3, 1 # increment loop counter ble $t3, $t2, prlets # if more letters to print: keep looping li $v0, 10 # syscall code to exit from program syscall # return