汇编语言 第一章
前言
前两个学期我已经学习了C语言和C++,这学期还要学习java,这些都是比较高级的计算机编程语言,相比之下汇编语言就显得比较低级、繁琐了。可是任何一种语言都有它的优劣势,都有它存在的价值。汇编语言更接近机器语言,执行速度更快,这就是它的优势所在。既然选择了这门课程,就想着好好学点东西,我会在接下来的时间在博客园归纳课上的所学知识,大家一起加油吧!
1.2 汇编语言的产生
- 由于早期的机器语言使用起来难于辨别和记忆,汇编语言就产生了。
- 汇编指令和机器指令的差别在于表示方法上。
1.3 汇编语言的组成
- 汇编指令:机器码的助记符,有对应的机器码。
- 伪指令:没有对应的机器码,由编译器执行,计算机并不执行。
- 其他符号:如+、-、*、 /等,由编译器识别,没有对应的机器码。
1.5 指令和数据
指令和数据没有任何区别,都是二进制信息。
1.7 CPU对存储器的读写
CPU要想进行数据的读写,必须和外部器件(芯片)进行下面3类信息的交互:
- 存储单元的地址(地址信息);
- 器件的选择,读或写的命令(控制信息);
- 读或写的数据(数据信息)。
1.8 地址总线
- CPU是通过地址总线来指定存储器单元的。地址总线上能传送多少个不同的信息,CPU就可以对多少个存储单元进行寻址。
- 一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。这样的CPU最多可以寻找2^N个内存单元。
1.9 数据总线
- CPU与内存或其他器件之间的数据传送是通过数据总线来进行的。数据总线的宽度决定了CPU和外界的数据传送速度。
- 8088CPU的数据总线宽度为8,8086CPU的数据总线宽度为16.
1.10 控制总线
CPU对外部器件的控制是通过控制总线来进行的。
1.15 内存地址空间
- 对CPU来讲,系统中的所有存储器中的存储单元都处于一个统一的逻辑存储器中,它的容量受CPU寻址能力的限制。这个逻辑存储器就是内存地址空间。
- 不同的计算机系统的内存地址空间的分配情况是不同的。