【问题标题】:Materials for reading various assembly languages?阅读各种汇编语言的材料?
【发布时间】:2011-08-26 10:19:05
【问题描述】:

这是一个 wiki 问题,用于收集学习各种架构的汇编语言的有用参考资料。

我最近尝试阅读 1964 年的 Basic Pdp-1 Lisp 的源代码,并且需要广泛搜索参考资料以从代码中获得一点点意义。我觉得我收集的链接可能对任何试图阅读类似年份代码的人有用,例如SpaceWar!

所以一个好的答案应该包括:

  • 架构的名称
  • 一个重要的汇编语言程序
    (这是问题的真正重点:一个值得学习汇编以便阅读的经典程序。)
  • 了解程序的手册和说明参考

我将从我收集的阅读 Pdp-1 LISP 的参考资料开始。

【问题讨论】:

    标签: architecture assembly history


    【解决方案1】:

    x86 组装:

    • Here 的手册有 1400 多页,包括一些练习,有些章节侧重于布尔代数和系统组织等内容
    • Intel 的文档和手册here,几年前你应该不需要它;)
    • An optimization guide(相当高级的东西)
    • Here 您可以在控制台和窗口中找到用于开发 win32 应用程序的汇编程序。它还包括 windows SDK 和所有 win32 API 的描述
    • 如果您在 linux 上开发,This 似乎是一本很好的 GAS (GNU Assembler) 手册
    • Some examples(窗口)

    【讨论】:

    • @evilpie,很好地添加信息来回答,而不是添加新的答案。保持整洁。我为你的另一篇帖子 +1 了(就其本身的优点而言),因为我不能在这里投票给你。
    【解决方案2】:

    Pdp-1 LISP

    来源的 Pdf,包括解释性文章和符号列表: http://www.google.com/url?sa=D&q=http://www.computerhistory.org/collections/accession/102650371

    ASCII 源列表: http://hack.org/mc/software/lisp.p2

    一个很好的概述: http://en.wikipedia.org/wiki/PDP-1

    Pdp-1 手册,包括指令集参考: http://www.bitsavers.org/pdf/dec/pdp1/F15B_PDP1_Handbook_1961.pdf

    宏汇编器手册,描述指令是如何通过算术形成的: http://www.bitsavers.org/pdf/dec/pdp1/PDP-1_Macro.pdf

    说明移位和操作指令可组合性的指令集的替代表示: http://simh.trailing-edge.com/docs/architecture18b.pdf

    最后一个链接对于理解第一条指令等技巧至关重要:

    -/Lisp interpreter 3-20-64, part 1
     000004                 4/
    -/go
     000004         go,
     000004 764607          hlt+cla+cli+7-opr-opr
    

    这本可以用更少的混淆(但更少的语义信息)写成:

    opr 4607
    

    或者使用更多语义(并且更加模糊)为:

    hlt+cla+cli+clf+07-opr-opr-opr
    

    但是既然clf == opr 那太傻了。

    60 年代汇编编程的最后一个重要资源是 Knuth,第一卷。 1(1ed 或 2ed)。这解释了 pdp-1 代码表现出的一些更基本的自残。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 2014-10-07
    相关资源
    最近更新 更多