阅读各种汇编语言的材料?

时间:2011-08-26 10:19:05

标签: architecture assembly history

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

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

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

  • 架构名称
  • 汇编语言中的一个非常重要的程序
    (这是问题的真正焦点:一个值得学习汇编的经典程序,以便阅读它。)
  • 用于理解程序的手册和指导参考

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

2 个答案:

答案 0 :(得分:2)

x86汇编:

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

答案 1 :(得分:0)

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

Macro asembler手册,描述了如何通过算术形成指令: 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,vol。 1(1ed或2ed)。这解释了pdp-1代码展示的一些更基本的自残。