#i want to count the neucleotides in a String
#the input is $a0 as address of string
#the output is $a1 as address
#the code is :
.data
error: .asciiz “error”
.globl nucleotide_counts
nucleotide_counts:
loop:
li $t0,0 #counter for A
li $t1,0 #counter for C
li $t2,0 #counter for G
li $t3,0 #counter for T
li $t5,65
li $t6,67
li $t7,71
li $t8,84
li $t9,58
lb $t4,0($a0)
addi $a0,$a0,1
beq $t4,$t5,A
beq $t4,$t6,C
beq $t4,$t7,G
beq $t4,$t8,T
#beq $zero,$zero,
j print
la $a1,error
jr $ra
A: addi $t0,$t0,1
bnez $t0, loop
C: addi $t1,$t1,1
bnez $t1, loop
G: addi $t2,$t2,1
bnez $t2, loop
T: addi $t3,$t3,1
bnez $t3, loop
print: sb $t5,0($a1)
sb $t9,1($a1)
sb $t0,2($a1)
addi $a1,$a1,4
sb $t6,0($a1)
sb $t9,1($a1)
sb $t1,2($a1)
addi $a1,$a1,4
sb $t7,0($a1)
sb $t9,1($a1)
sb $t2,2($a1)
addi $a1,$a1,4
sb $t8,0($a1)
sb $t9,1($a1)
sb $t3,2($a1)
addi $a1,$a1,4
jr $ra