gpt4 book ai didi

assembly - 这些特定的汇编程序指令(使用 db 和 dw)如何导致计算机重新启动?

转载 作者:行者123 更新时间:2023-12-02 22:08:08 26 4
gpt4 key购买 nike

这 3 个汇编指令如何导致计算机重启?

db 0x0ea 
dw 0x0000
dw 0xffff

我从 http://fisnikhasani.com/building-your-own-bootloader/ 找到了这个

据我所知,这 3 条指令会将您发送到 FFFF:0000,这是通过调用 BIOS POST 导致重启的内存末尾。但是难道不应该有一个 jmp 指令来进行那个跳跃吗?

此外,在我看来,在db 0x0ea 中,ea 是jmp 的机器指令。如果是这样,db 0x0ea 怎么写机器指令呢?如果dbdw除了声明变量还有其他功能,那它们是什么?谁能给我指点有关 dbdw 及其任何隐藏函数的更多文献。

最佳答案

想想“声明变量”在汇编上下文中意味着什么。 dbdw,当提供一个值时,将该值直接写入内存。另一方面,代码以字节的形式存储在内存中。您可以通过让汇编程序处理您的汇编源代码来用字节填充内存,或者您可以查找指令编码并通过 db/dw/dd 命令用字节填充内存。

这就是他们在这里所做的。这个字节序列 - ea 00 00 ff ff - 对 jmp far 0ffffh:0 命令进行编码。

关于assembly - 这些特定的汇编程序指令(使用 db 和 dw)如何导致计算机重新启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15801384/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com