assembly - 获取非法指令异常的最简单方法

标签 assembly x86 x86-64 illegal-instruction

我正在尝试创建一个程序,该程序会出于演示目的生成非法指令异常。

我的问题似乎有一个简单的解决方案:

cmpxchgl %edx, %ecx

但是编译器 (FASM) 并不想在运行时给我一个异常,而是不想编译代码。它说“非法指令”(这可能是正确的,实际上很高兴之前警告我)。

任何获得非法指令异常的解决方案对我来说都很好,所以你可以

a) 将我指向另一个简单编译代码的编译器

b) 为我的命令应用变通办法

c) 提出一个完全不同的命令(应该很简单,首选单行)

最佳答案

简单:ud2 (0F 0B)

它的全部目的是引发无效操作码异常。

关于assembly - 获取非法指令异常的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21986779/

相关文章:

c - 从 C 语言传递 64 位汇编函数中的参数。哪个寄存器接收这些参数?

linux-kernel - 为什么/proc/iomem在64位linux中仅显示零而不是地址?

assembly - 如何在下面的输出中输出数组中的所有元素?

c++ - 启用中断时的 QEMU 三重故障

assembly - armv8中的MOV指令使用哪个处理器部分

assembly - x86 中的 IN 和 OUT 指令有何用途?

assembly - NEON 和 ARM assembly 优化

assembly - 如何在DOS扩展器或DPMI环境下进行DMA传输?

c - 如何将汇编程序值返回给 C Int 指针?

assembly - x86 程序集中是否有任何暂停/ sleep 或事件