这是一个wiki问题,为各种体系结构学习汇编语言收集有用的参考资料。
我最近尝试从1964年开始阅读Basic Pdp-1 Lisp的源代码,并且需要广泛搜索参考资料,以便从代码中获得最微小的意义。我觉得我收集的链接可能对尝试阅读类似年份代码的人有用,例如SpaceWar!
所以一个好的答案应包括:
我将通过我收集的参考资料开始阅读Pdp-1 LISP。
答案 0 :(得分:2)
x86汇编:
答案 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代码展示的一些更基本的自残。