运行 nasm ARM 上的程序 linux
Running nasm program on ARM linux
我正在尝试用 NASM 自学汇编编程。但是我只有一台带 ARM 处理器的 Chromebook。我有 xubuntu 运行 和 crunton。但是,我该如何设置 x86 仿真环境来开始呢?我也希望能够使用洞察调试器。
试试 bochs 或 qemu。
如果您只使用 chromebook,可能没有很多 RAM,您可能只想在模拟的 x86 环境中 运行 一个非常小的 Linux 系统。在模拟的 x86 环境中没有完整的 xubuntu GUI 安装。
要学习 x86,您应该从 32 位或 64 位 ASM 开始,无论是用于从 C 调用的函数,还是作为独立程序。 (要么真正独立,你不使用 C 标准 运行 时间或库 link,然后在 asm 中编写你自己的 _start
,然后进行你自己的系统调用,或者只写main
在 asm 中并以来自 main
的 ret
结束你的程序。)
bochs 有一个内置调试器,但使用它更适合调试内核或引导加载程序。 IDK 关于 Insight 调试器的任何信息,但如果它可以远程调试,运行将它的 ARM 二进制文件本地化,连接到您要调试的目标,可能是有意义的。
你 可以 编写你直接启动的 x86 asm(而不是 Linux 映像),但是你只能调用 BIOS,并且 CPU 将以 16 位实模式启动,具有分段内存和所有那些基本上没用学习的废话 除了 用于编写引导加载程序。
QEMU 具有用户模式仿真功能,可用于 运行 x86 Linux ARM Linux 上的程序,或任何其他受支持架构的组合。
我正在尝试用 NASM 自学汇编编程。但是我只有一台带 ARM 处理器的 Chromebook。我有 xubuntu 运行 和 crunton。但是,我该如何设置 x86 仿真环境来开始呢?我也希望能够使用洞察调试器。
试试 bochs 或 qemu。
如果您只使用 chromebook,可能没有很多 RAM,您可能只想在模拟的 x86 环境中 运行 一个非常小的 Linux 系统。在模拟的 x86 环境中没有完整的 xubuntu GUI 安装。
要学习 x86,您应该从 32 位或 64 位 ASM 开始,无论是用于从 C 调用的函数,还是作为独立程序。 (要么真正独立,你不使用 C 标准 运行 时间或库 link,然后在 asm 中编写你自己的 _start
,然后进行你自己的系统调用,或者只写main
在 asm 中并以来自 main
的 ret
结束你的程序。)
bochs 有一个内置调试器,但使用它更适合调试内核或引导加载程序。 IDK 关于 Insight 调试器的任何信息,但如果它可以远程调试,运行将它的 ARM 二进制文件本地化,连接到您要调试的目标,可能是有意义的。
你 可以 编写你直接启动的 x86 asm(而不是 Linux 映像),但是你只能调用 BIOS,并且 CPU 将以 16 位实模式启动,具有分段内存和所有那些基本上没用学习的废话 除了 用于编写引导加载程序。
QEMU 具有用户模式仿真功能,可用于 运行 x86 Linux ARM Linux 上的程序,或任何其他受支持架构的组合。