我非常需要帮助,因为我已经创建了这个汇编程序 (弹出/ dev / sr0)和我运行程序时。 CD打开但我有一个奇怪的消息:"分段错误(核心转储)" 为什么我收到此错误消息? 谢谢你非常愉快的一天=)
[section .text]
global _start
_start:
mov al, 5
cdq
push edx
push dword 0x3072732f
push dword 0x7665642f
mov ebx, esp
mov cx, 0xfff
sub cx, 0x3e7
sub cx, 0x418
int 0x80
mov ebx, eax
mov al, 54
mov cx, 0x5309
cdq
int 0x80
答案 0 :(得分:1)
我假设第一个系统调用是open
,第二个是弹出托盘的ioctl
。你觉得之后发生了什么?你忘了结束你的程序,所以cpu将继续执行内存中的任何内容,直到它遇到故障。您可能希望添加与mov eax, 1; int 0x80
等效的内容。
最后,通常的建议是:学会使用调试器。