8

我正在寻找详细处理汇编编程原则并且不使用 x86 作为目标架构的文本。我最近没有找到任何类似的书,但我希望在 1970 年代和 1980 年代有一些好的书,当时整个应用程序仍然是用汇编语言编写的。使用的架构也应该是更简洁的设计之一,例如 6502 或 VAX。

4

11 回答 11

9

一些涵盖6502的经典书籍;在线全文:

初学者机器语言(1983)

机器语言第二本书(1984)

Atari 计算机的汇编语言编程(1984)

于 2010-06-18T05:35:01.580 回答
3

这不是一本经典的书(最初出版于 90 年代),但我从计算机组织和设计中学习了 MIPS asm:Patterson 和 Hennessy 的硬件/软件接口(ISBN:0123706068)。这本书不是严格地关于组装的。这是一本计算机体系结构教科书。但是 MIPS 是一个相当干净的架构。

虽然我想如果你想要一部经典作品,你可能正在寻找对作品相当深入的东西。

于 2009-11-27T08:21:00.437 回答
3

Knuths 计算机编程艺术提供了MIXMMIX(一种假设的汇编语言)的示例。

计算机编程艺术(完成后)将非常彻底!

于 2009-11-27T08:27:08.727 回答
3

我还会根据我当时在汇编程序中编程的内容来查看 6809 和 68000 芯片组组件的“更清洁设计”。

更进一步,我实际上发现 IBM 360/670 汇编程序集非常容易编码。具体的文本——如果你想在登记管理等方面获得很好的基础,可以找一些旧的教科书。我可能在某个地方的书架上放了一本,当我有机会时,我会看看尘土飞扬的角落。

不知道为什么,但我不喜欢旧施乐 PC 中的 Z80,出于某种原因,这很痛苦。

于 2009-11-30T01:10:19.957 回答
1

TI的msp430是一个很不错的架构,第一次看到就让我想起了pdp11。就书籍而言,我不知道我开始写一本但从未完成……反正可能不是你要找的那种。

于 2010-04-19T03:17:39.187 回答
1

在学校用过这本书。它适用于摩托罗拉 68000。

我还在网上找到了免费的ARM 汇编编程书籍。

于 2009-11-27T08:53:14.977 回答
1

我怀疑它是否仍在印刷中,但我在 1977 年开始的大学 CS 课程使用的是CDC Cyber ​​,这是 Seymour Cray 的架构之一。(Holy Moly! 它在亚马逊上!)实际上它是一种相当不错的汇编语言。它包括一个称为micros的独特功能,它有点像宏,但对于字符串欺骗更灵活,例如label1通过label999大约三行源代码创建符号。

实际上,在那个时候,整个应用程序并不常用汇编语言编写。我知道有一个文本编辑器,操作系统的好部分当然是,但很少有应用程序。

除此之外,我不记得有任何好的汇编语言书籍。但是我的接触是有限的,因为第二个 CS 课程使用了新的摩托罗拉 6800——并且这是由一个特别的笔记集记录的。在后来的几年里,我们在 Unix v6 上使用了 C,但不需要编写汇编,只有一些练习对阅读和理解 PDP-11 汇编语言很有用,尤其是内核阅读课,尽管 98% 的内核是用C.

在经历了所有这些之后,我知道了足够多的 CPU 和汇编器,除了 iNtel 处理器之外,我几乎不需要比制造商的处理器架构参考和汇编器更多的东西。一个很大的挑战是 DEC 的 RSX 线程编译器输出语言,它完全由一系列汇编器宏组成。但大多数处理器都易于理解和编程,包括德州仪器 9900、摩托罗拉 68000 和 68010、Z80、6502、VAX 750 和 TMS 16016/32032。

iNtel 系列处理器非常难以理解,包括 8086 和 8047/8052 系列。高度非正交且加载了奇怪的模式:为什么AXBX可以直接交换,但不能DSES?尤其是在 80386 推出之后——在保护模式下加载段寄存器会导致巨大的时钟周期损失。然后是奇怪的段控制伪指令、段类和代码定位器——链接后目标代码的后处理。许多奇怪,笨拙的工具。

于 2009-11-27T08:55:47.983 回答
1

查看流行的微控制器,例如Atmel AVR系列。这就是汇编编程仍然是热门话题的地方。有很多书籍可以教你如何对这些设备进行编程,还有可以让你构建一些非常酷的小工具的原型系统。

Atmel AVR 微控制器具有简洁的架构,ARM 处理器也是如此。避免使用 Microchip PIC 设备,因为它们使用分页内存。您需要一个具有线性地址空间的微控制器。

于 2010-01-29T14:04:48.503 回答
0

我认为关于 1970 年代和 1980 年代处理器的书籍市场很小,如果有的话,你只能找到制造商的文档。

我敢肯定,其中大部分最终成为垃圾填埋场,但也许其中一些是由业余爱好者保存的。

可能值得搜索来自摩托罗拉、MOS Technology、Digital Equipment Corporation 等的 PDF 格式的存档材料。

于 2009-11-27T08:31:07.410 回答
0

Alexander Stepanov 在他的笔记的第 1 讲中谈到了他对“结构化”汇编编程思想的转变。为了跟进这个想法,我搜索了诸如“Foo 中的结构化汇编编程”之类的书籍。但是我发现的结果是对某些处理器架构的覆盖,而不是程序设计的原则。这里其他答案中提到的大多数书籍都与此一致。

我看过 Knuth 的 AoCP,它确实很详细并且确实使用了 MMIXAL。但除了第 1 节中的一小部分,第 1 章。1.4,是算法设计,不是程序设计。因此,它确实属于 Cormen 等类别。人。“算法导论”。

所以也许没有像我想要的那样的东西。

于 2009-11-30T01:04:37.110 回答
0

克里斯托伦斯最近更新了罗伯特瓦格纳的装配线,并进行了各种更正。这对我开始有很大帮助。

于 2017-06-17T19:10:20.440 回答