2010-08-19 82 views
16

我几周后开始上大学(软件工程学位),并且知道我将在第一年学习的一个模块是“建筑学基础”或类似的东西;基本上它是学习编程'大会'。汇编语言 - 多种类型?

我想要做一些背景知识的学习,所以我为它做准备(我已经做了一些其他的单位相同),但不知道是否有一个以上的“汇编语言”。那里有多少?它是一个制造商,一个32位和64位语言,还是只有一个标准?

如果有多于一个类型的,什么是最“流行”或有可能在大学水平教?

+1

如果你想获得一个良好的开端,我建议你在大学里接触的人(的教授或部门秘书),以找出哪些汇编语言将被使用。一些大学甚至不使用“真正的”汇编语言,而是倾向于创建一个供学生学习的综合语言。 – 2010-08-19 23:21:35

+0

@Blair这是一个好主意,我会这样做。我真的希望我最终不会使用综合语言 - 这会非常令人失望。 – 2010-08-19 23:27:50

+2

我的大学教授使用MIPS的等效课程,这是一种相对简单的RISC(精简指令集)汇编语言。很有可能他们不会使用x86(英特尔32位汇编语言,也可能是最常见的编译器),这是因为x86集合中有太多神秘的指令随着时间的推移而发展,以提供各种优化。下面是关于MIPS的一些信息:http://en.wikipedia.org/wiki/MIPS_architecture – 2010-08-19 23:30:06

回答

25

有许多种类的汇编语言。目前最流行的是ARM,MIPS和x86。 ARM被用于许多手机和许多嵌入式系统。 MIPS在IBM CPU上很受欢迎,可在诸如Macs,某些视频游戏控制台等系统上找到,还有一些我确信我错过了。 x86汇编程序在英特尔个人电脑上使用。每种风格都有不同的版本,它们跨越从16位指令到64位指令的gammut。关于汇编的事情是旧的架构往往会死去,新的架构会出现,但RISC风格的系统所做的基本事情大多是相同的。这只是学习系统间助记符的问题。移动,移动,加载等全部加载具有值的寄存器。它就像其他语言一样。一旦你学会了一个,拿起新的很容易。您可能遇到的一些较旧的Z80,68000,6502和6510 - 取决于您想要返回机器的方式。

希望有所帮助。

+2

您将IBM的PowerPC(旧版Mac,Xbox 360,PS3,Gamecube/Wii/WiiU使用)混淆MIPS(与摩托罗拉无关)。 – rmmh 2015-05-13 04:43:29

+0

MIPS中指令的操作码是6位。每条指令总是32位。 – 2018-01-20 04:05:30

6

,但不知道是否有一个以上的“汇编语言”

不同的汇编器(例如GNU的和微软的),对于相同的CPU可以有不同的汇编语言的语法;但差别不大,因为它们都是针对同一个CPU,并且在汇编指令和CPU操作码之间有1对1映射(如果忽略宏)。

越大差是不同类型的CPU之间。

有时,不同的CPU同样支持操作码(,因此可以由同一装配有针对性),因为它们被设计为兼容或者相互竞争的,通过执行相同的机器语言。

但有时它们是不同的:看List of Instruction Set Architectures