【问题标题】:Tools for learning Assembly in "The Art of Intel X86 Assembly"《The Art of Intel X86 Assembly》中学习Assembly的工具
【发布时间】:2013-06-10 15:49:49
【问题描述】:

虽然我在大学学习了计算机组织课程,但我想通过这本旧书严格学习汇编(和相关概念):The Art of Intel X86 Assembly。你知道如何开始使用 Linux 吗? NASM 是一个不错的选择吗?如果我想在我的代码中加入UCR Standard Library,我必须先编译库吗?

我希望我的代码在 Linux VM(虚拟机)上运行。这是可能的还是必须是我机器的本机代码?

【问题讨论】:

  • 我在大学时对计算机的组织和组装有了基本的了解,但没有书中那么严格。现在我只想快速入门所需的环境,这样我就可以专注于学习,如果有人有类似的学习经验的话。
  • x86 是一种可怕的第一个汇编语言,我希望这不是你的第一个...msp430、pdp11、arm 都是更好的第一个指令集...肯定使用模拟器(硬件是一个不好的借口首先学习那个)......如果你必须做x86然后使用像pcemu或bochs或类似的东西。或者如果你真的想学习这些东西,你也可以自己制作,制作自己的指令集模拟器其实很容易。
  • 我之前在摩托罗拉68k上编程过。现在我想学习x86。教科书的问题是应用程序太旧(有些只能在 DOS/Windows 3.1 下运行)。我正在寻找在 Linux 中创建类似环境的解决方案。我刚刚尝试过dosbox,但它似乎不起作用。书真的很好看。它甚至展示了如何使用 BIOS 调用和中断以及在 ASM 中实现状态机等等。

标签: assembly


【解决方案1】:

最后,我找到了解决这个问题的方法。

我尝试了各种解决方案,包括下载 ReactOS 以运行此类遗留程序。突然我想起了旧的 Wine,并发现 Wine 最初是为在 DOS 和 Windows 3.1 下运行的 16 位应用程序而设计的。结果,我现在可以使用所有的应用程序。如果一个程序只能在 DOS 下使用,dosbox 就会发挥作用。

要运行 Windows 程序,我使用wine <Windows_program>;运行 DOS 程序:dosbox <dos_program>。工作很棒。

有了 JWAsm,我可以用它来代替 MASM32。在这个阶段,我仍然不知道如何链接和使用 UCR 标准库,但我希望遇到这个问题时能有一个解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-05
    • 2017-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多