不使用x86的经典汇编语言文本?

时间:2009-11-27 07:57:02

标签: assembly 6502 vax

我正在寻找能够详细解决汇编编程原理的文本,而不是使用x86作为目标架构。我没有找到这样的近期书籍,但我希望在20世纪70年代和80年代写出一些好的书,当时整个申请仍然是用汇编写的。使用的架构也应该是更清洁的设计之一,例如6502或VAX。

11 个答案:

答案 0 :(得分:8)

一些涵盖6502的经典书籍;在线完整文字:

Machine Language For Beginners(1983)

The Second Book Of Machine Language(1984)

Assembly Language Programming for the Atari Computers(1984)

答案 1 :(得分:3)

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

虽然我想如果你要求经典,你可能正在寻找一些深入了解作品的东西。

答案 2 :(得分:3)

Knuths The art of Computer Programming提供MIXMMIX中的示例,这是一种假设的汇编语言。

计算机编程的艺术(当它完成时)将非常彻底!

答案 3 :(得分:3)

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

为了更进一步,我实际上发现IBM 360/670汇编程序很容易编码。具体的文本 - 如果你想在寄存器管理等方面获得相当好的基础,那就寻找一些旧的教科书。我可能在某个地方的架子上有一个,当我有机会时会看到尘土飞扬的角落。

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

答案 4 :(得分:1)

我使用了this book in school。这是摩托罗拉68000。

我还在网上找到了免费的ARM Assembly Programming图书。

答案 5 :(得分:1)

我怀疑它仍在印刷中,但我1977年开始的大学CS课程使用的是CDC Cyber,这是Seymour Cray的架构之一。 (Holy Moly!It's on Amazon!)它实际上是一种相当不错的汇编语言。它包含一个名为 micros 的独特功能,它有点像宏,但对于字符串欺骗更灵活,例如在大约三行源中创建符号label1label999。 / p>

实际上,当时,整个应用程序都是 un ,通常是在汇编中编写的。我知道有一个文本编辑器,操作系统的很多部分当然是,但很少有应用程序。

除此之外,我不记得有任何好的汇编语言书籍。但是我的曝光率有限,因为第二个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出加载后,保护模式下的段寄存器会产生巨大的时钟周期损失。然后是奇怪的段控制伪指令,段类和代码定位器 - 链接后对象代码的后处理。很多奇怪,笨拙的工具。

答案 6 :(得分:1)

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

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

答案 7 :(得分:1)

TI msp430是一个非常好的架构,让我想起了第一次看到它时的pdp11。至于书籍,我不知道我开始写一个但从未完成...可能不是你想要的那种。

答案 8 :(得分:0)

我认为20世纪70年代和80年代处理器的书籍市场很小,如果有的话,你只能找到制造商的文件。

我确信其中大部分都是垃圾填埋场,但也许其中一部分是由业余爱好者保存的。

从摩托罗拉,MOS技术,数字设备公司等处搜索PDF格式的存档资料可能是值得的。

答案 9 :(得分:0)

亚历山大·斯捷潘诺夫(Alexander Stepanov)在他的notes第1讲中谈到了他对“结构化”装配编程理念的转变。为了跟进这个想法,我搜索了一些标题,如“Foo中的结构化汇编编程”。但我发现已经证明是对某些处理器架构的报道,而不是程序设计的原则。这里其他答案中提到的大多数书都与此一致。

我看过Knuth的AoCP,它当然很详细,并且确实使用了MMIXAL。但除了第1节中的一点点,ch。 1.4,它是关于算法设计,而不是程序设计。所以它真的属于类似Cormen等的类别。人。 “算法简介”。

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

答案 10 :(得分:0)

Chris Torrence最近更新了Robert Wagner的Assembly Lines并进行了各种更正。让我开始是一个很大的帮助。