我需要创建一个程序,让用户逐个字符地输入字符串,然后反向打印。 space 表示输入结束( space 应由用户输入。)
section .bss
c : resb 1
section .text
global _start
_start :
mov ecx, 0
mov edx, 0
saisie :
push ecx
push edx
mov eax,3
mov ebx,0
mov ecx,c
mov edx,1
int 80h
mov ecx,[c] ; put the entered value in ecx
cmp ecx,32 ; compare ecx with space.
je espace ;
pop edx
inc edx
pop ecx
jmp saisie
espace :
pop edx
cmp edx,0 ; if counter is 0 we exit if not we print what's in stack.
je fin
mov eax,4
mov ebx,1
pop ecx
int 80h
dec edx
jmp espace
fin :
mov eax, 1
mov ebx, 0
int 80h
当我在最后输入字符和 space 时,程序只是退出而没有错误,就像它完成了它的工作一样。
任何人都可以解释这种行为以及我如何纠正它吗?