0
mips에서 sprinf를 작성하려고합니다. 첫째, 얼마나 많은 문자가 있는지 계산하려고합니다.MIPS 특정 문자와 일치하는지 확인하십시오.
sprintf:
addi $sp, $sp, -12
sw $ra, 8($sp)
sw $s1, 4($sp)
sw $s2, 0($sp)
li $s0, 0 # len = 1
la $s1, ($a1) # s = str
test:
lb $s2, 0($s1) # c = *s
beqz $s2, done # if c == '\0', branch to "done"
beq $s2, '5', done
addi $s0, $s0, 1 # len = len + 1
addi $s1, $s1, 1 # s = s + 1
j test
percent:
done:
li $v0, 1 # syscall code: print_int
move $a0, $s0
syscall
li $v0, 11 # syscall code: print_char
li $a0, 10 # pass newline character
syscall
jr $ra
그러나 % d 또는 % c 등의 형식이 있는지 확인해야합니다.
그런 특정 문자를 어떻게 확인합니까? mips ascii에서 이것을 보았습니다 http://galia.fc.uaslp.mx/~luis/arquitectura_files/table.pdf
하지만 beq는 어떻게 생겼을까요?