通过两节课的学习,我了解到汇编语言是直接在硬件之上工作的编程语言。首先要了解的是机器语言,机器语言是机器指令的集合,机器指令展开来讲就是一台机器可以正确执行的命令。早期的程序员们很快就发现了使用机器语言带来的麻烦,它比较难于辨别和记忆,给整个产业的发展带来了障碍,于是便产生了汇编语言。
汇编语言的主体是汇编指令。汇编指令和机器指令的差别在于指令的表示方法上。汇编指令是机器指令便于记忆的书写格式。我了解到,用汇编语言编写程序的工作过程是:程序员用汇编语言写出源程序,再用汇编编译器将其编译为机器码,最后由计算机执行。
汇编语言的核心是汇编指令,汇编指令决定了汇编语言的特性。汇编指令是机器指令的助记符,同机器指令一一对应。每一种CPU都有自己的汇编指令集。CPU可以直接使用的信息在存储器中存放。在存储器中指令和数据没有任何区别,都是二进制信息。每个存储单元从0开始顺序编号,一个存储器有128个存储单元,编号从0~127。一个存储单元可以存储8个bit,即8位二进制数。
通过学习我了解到,CPU要想进行数据的读写,必须和外部器件进行下面三类信息的交互:存储单元的地址(地址信息);器件的选择,读或写的命令(控制信息);读或写的数据(数据信息)。每个CPU芯片都有许多管脚,这些管脚与总线相连。也可以说,这些管脚引出总线。一个CPU可以引出3种总线的宽度标志了这个CPU的不同方面的性能:地址总线的宽度决定了CPU的寻址能力;数据总线的宽度决定了CPU与其他器件进行数据传送时的一次数据传送量;控制总线的宽度决定了CPU对系统中其他器件的控制能力。在汇编课程中,我们也从功能的角度详细介绍了3类总线。
最终运行程序的是CPU,我们用汇编语言编程的时候,必须要从CPU的角度考虑问题。对CPU来讲,系统中的所有存储器中的存储单元都处于一个统一的逻辑存储器中,它的容量受CPU寻址能力的限制。这个逻辑存储器就是我们所说的内存地址空间。对于初学者的我来说,这个概念还是比较抽象的,希望通过后续的课程学习,能使一些现在仍然模糊的概念更清晰,更具体化。