以mips打印两个字符串

时间:2015-02-15 22:14:24

标签: assembly mips

.data

    string1: .byte 'H', 'e', 'l', 'l', 'o', ' '
    string2: .byte 'w', 'o', 'r', 'l', 'd', '!'

.text
.globl main

main:

la $a0, string1

jal PRINT_STRING

la $a0, string2

jal PRINT_STRING

j EXIT

PRINT_STRING:

addi $sp, $sp, -4

li $v0, 4
syscall

addi $sp, $sp, 4
jr $ra

EXIT:

li $v0, 10
syscall

我正在尝试一个接一个地打印string1和string2,我的输出应该是“Hello world!”但是我的输出结果是“Hello world!world!”。有人可以帮我弄清楚我的代码有什么问题吗?

1 个答案:

答案 0 :(得分:0)

Null终止您的字符串:将string1中的空格替换为\0