Linux nasm中的用户输入
假设我有以下代码Linux nasm中的用户输入,linux,assembly,x86,nasm,system-calls,Linux,Assembly,X86,Nasm,System Calls,假设我有以下代码 mov eax,3 mov ebx,2 mov ecx,num1 int 80h &我接受12从用户,然后将是什么内容 [num1]、[num1+1]和[num1+2] 请帮助我学习使用调试器,以便您自己查看 也就是说,readsyscall需要3个参数,而您只提供2个。我假设您确实想要mov edx,2而不是mov ebx,2来指定读取的长度,因为从描述符2(即stderr)读取没有意义。我将进一步假设您使用0加载ebx,而不是stdin。因此,如果用户输入数字1和2,[n
mov eax,3
mov ebx,2
mov ecx,num1
int 80h
&我接受12从用户,然后将是什么内容
[num1]、[num1+1]和[num1+2]
请帮助我学习使用调试器,以便您自己查看
也就是说,
read
syscall需要3个参数,而您只提供2个。我假设您确实想要mov edx,2
而不是mov ebx,2
来指定读取的长度,因为从描述符2
(即stderr
)读取没有意义。我将进一步假设您使用0
加载ebx
,而不是stdin
。因此,如果用户输入数字1
和2
,[num1]
将是1
的ascii码,即49
,[num1+1]
将是2
的ascii码,即50
,[num1+2]
将保持不变,因为您只读取了2个字节。1。请用合适的平台标记您的问题。它是Linux/i386吗?2.如何检查syscall返回值?您的标准输入真的是一个12字节的二进制文件吗?请帮助我学习nasm中的调试器。在那里我可以得到教程。