Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux nasm中的用户输入_Linux_Assembly_X86_Nasm_System Calls - Fatal编程技术网

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中的调试器。在那里我可以得到教程。