我很难将数据从内存移动到bss
中的另一个内存。我的实现有些起作用,但是当移动一些奇怪的字符出现在前几个字节中时,我的字符串的一半也丢失了,而另一半还不错。
这是我打印出message
== �F@elcome to the new life
时得到的值>
我需要所有帮助,我想念什么?我检查了一百遍代码。
section .data
hello: db "Hello, Welcome to the new life! Lets begin the journey.",10
hello_len: equ $ - hello
section .bss
message: resb 255
section .text
mov rdi, hello
mov rsi, message
msg_into_message:
cmp byte [rdi], 10 ; hello ends with a new line char
je end_count
mov al, byte [rdi]
mov byte [rsi], al
inc rsi
inc rdi
jmp msg_into_message
end_count:
mov [message], rsi
ret
; Prints message
mov rsi, message
mov rdx, hello_len
call pre_print
syscall
我很难将数据从内存移至bss中的另一个内存。但是,当移动一些奇怪的字符出现在前几个字节中并且我的字符串的一半是...
首先,首先,s
和d
中的rsi
和rdi
代表源