我正在尝试扫描来自用户的输入,并将字符串转换为没有换行符的内容,以便为文件提供名称。在以某种方式扫描来自用户的输入时,会发生换行符被附加到扫描的字符串。(实际上我在这里对两个文件进行操作,所以我使用了两个字符串。)。在这里,我尝试使用 movsb 直到通过在 al 中移动 10 来出现换行符。10 这是ascii中的换行符,但这不起作用。
section .data
msg3 db "%s",10,0
msg4 db "%s",0
msg5 db "%d",10,0
msg6 db 10
section .bss
x resd 50
y resd 50
a resd 1
d resd 1
b resd 50
c resd 50
section .text
global main
extern printf , scanf,gets
main :
xor eax,eax
mov eax,3
mov ebx,0
mov ecx,x
mov edx,30
int 80h
mov dword[a],eax
push dword[a]
push msg5
call printf
add esp,8
xor eax,eax
mov eax,3
mov ebx,0
mov ecx,y
mov edx,30
int 80h
mov dword[d],eax
xor eax,eax
mov esi,x
mov edi,b
mov ecx,dword[a]
mov al,10
cld
repne movsb
mov esi,y
mov edi,c
mov ecx,dword[d]
repne movsb
xor eax,eax