【发布时间】:2016-08-26 16:58:13
【问题描述】:
我们有一个引导加载程序,我们有一个程序,该程序断言 0 来注册 RAX。之后用DIV命令,自己划分寄存器RAX。
当然,引导加载程序会加载程序。
我知道任何汇编程序在此状态下都会出错,但程序是原始二进制文件。所以我们可以很容易地用十六进制编辑器编写这个程序,因为这个程序只有两条指令。
在这种状态下会发生什么?
【问题讨论】:
-
也许检查一下你的 CPU 供应商的文档..
-
Intel Core i5 处理器,当然还有架构 x86_64
-
如果您要进行任何严肃的 x86(-64) 开发,请获取英特尔® 64 和 IA-32 架构软件开发人员手册。 DIV 的行为记录在那里。
-
你为什么希望汇编器给出警告?
-
通常,您要么捕获将要调用的中断,要么自己测试除数。