我正在尝试制作一个可以显示字符的 ascii 值的程序。问题是它不显示真正的 ascii 值。我在 MIPS 汇编中编写此代码,这与普通汇编语言非常相似。这是代码:
.data
User: .asciiz "Bush"
Line: .asciiz "\n"
Address: .word User
.text
main:
li $t0,1
li $t1,2
li $t2,3
li $t3,4
li $t4,5
lb $a0,User($0)
li $v0,1
syscall
la $a0,Line
li $v0,4
syscall
lb $a0,User($t0)
li $v0,1
syscall
la $a0,Line
li $v0,4
syscall
lb $a0,User($t1)
li $v0,1
syscall
la $a0,Line
li $v0,4
syscall
lb $a0,User($t2)
li $v0,1
syscall
la $a0,Line
li $v0,4
syscall
lb $a0,User($t3)
li $v0,1
syscall
la $a0,Line
li $v0,4
syscall
li $t1,-1
jal Length
j Exit
Length:
beq $a0,0,End
addi $t1,$t1,1
lb $a0,User($t1)
j Length
End:
move $a0,$t1
li $v0,1
syscall
jr $ra
Exit:
li $v0,10
syscall
它没有显示真正的 ascii 值的可能原因是什么。此外,当我尝试制作一个查找所有英文字母的 ascii 值的程序时,我会遇到运行时错误。如果有人能帮助我解决这个问题,那对我来说将是一件大事。
问候