gpt4 book ai didi

assembly - 调试平面汇编二进制文件

转载 作者:行者123 更新时间:2023-12-02 06:11:42 25 4
gpt4 key购买 nike

我是汇编和低级编程的新手我在 Windows XP 中使用 FASM。当我汇编下面的代码时,它会给我一个 .bin 文件。

data1 db 25
data2 db 10001001b
data3 db 12h
org 0x10
data4 db '2367'
org 0x18
data5 db ?
org 0x20
data6 db 'Hello there'

我正在学习的书是使用 Windows debug 命令来查看每个命令的值和地址,但是当我使用 debug 时它会显示其他内容

我的问题是有没有任何应用程序可以调试这些文件?甚至是引导加载程序集二进制文件?

最佳答案

使用“org”指令将变量放在特定位置可以在 MASM 中使用,但不能在 FASM 或 NASM 中使用。

对于 FASM 和 NASM,您必须这样做:

data1 db 25                       // 0x00
data2 db 10001001b // 0x01
data3 db 12h // 0x02
times 0x10 - ($-$$) db 0
data4 db '2367' // 0x10
times 0x18 - ($-$$) db 0
data5 db '?' // 0x18
times 0x20 - ($-$$) db 0
data6 db 'Hello there' // 0x20

然后您可以将其汇编为平面二进制文件并使用 hexdump 检查结果:

00000000  19 89 12 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000010 32 33 36 37 00 00 00 00 3f 00 00 00 00 00 00 00 |2367....?.......|
00000020 48 65 6c 6c 6f 20 74 68 65 72 65 |Hello there|

您应该阅读 2.2.3 部分和 2.2.4 FASM 手册。

关于assembly - 调试平面汇编二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15753116/

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