我正在尝试验证此示例(NASM)中用户输入的长度:
section .bss
user_input resb 10
section .text
push ebp
mov ebp, esp
mov eax, 3 ;sys_read
mov ebx, 0 ;stdin
mov ecx, user_input
mov edx, 10
int 80h
cmp eax, 10
jg overflow
jmp done
overflow:
.
.
.
done:
mov eax, 1
int 80h
为什么这不起作用?
答案 0 :(得分:0)
由于您的缓冲区是10个字节,并且您将长度放入edx,因此返回值绝不会大于10并且您跳转到标签done:
并退出。
你所展示的代码中没有任何内容可以打印任何内容。