我正在尝试用 NASM 自学汇编编程。但是我只有一个带有 ARM 处理器的 Chromebook。我有 xubuntu 和 crunton 在上面运行。但是,如何设置 x86 仿真环境来让自己入门?我还希望能够使用洞察调试器。
问问题
2462 次
2 回答
2
尝试 bochs 或 qemu。
如果您只使用可能没有大量 RAM 的 chromebook,那么您可能只想在模拟的 x86 环境中运行一个非常小的 Linux 系统。不是在模拟的 x86 环境中安装完整的 xubuntu GUI。
要学习 x86,您应该从 32 位或 64 位 ASM 开始,无论是从 C 调用的函数,还是作为独立程序。(要么是真正独立的,你不链接 C 标准运行时或库,而是在_start
asm 中编写你自己的,并进行你自己的系统调用,或者只是在 asm 中编写并以frommain
结束你的程序。)ret
main
bochs 有一个内置调试器,但使用它更适合调试内核或引导加载程序。IDK 任何关于 Insight 调试器的信息,但如果它可以远程调试,则本机运行它的 ARM 二进制文件,连接到要调试的目标,可能是有意义的。
您可以编写直接启动的 x86 asm(而不是 Linux 映像),但随后您将只有 BIOS 调用可用,并且 CPU 将以 16 位实模式启动,具有分段内存和所有基本上没用的废话,除了用于编写引导加载程序。
于 2015-11-05T18:50:12.890 回答
1
QEMU具有用户模式仿真功能,可用于在 ARM Linux 或任何其他受支持架构的组合上运行 x86 Linux 程序。
于 2016-08-29T16:44:27.153 回答