第一章
1.指令
机器指令:CPU能直接识别并执行的二进制编码
汇编指令:汇编指令是机器指令的助记符,同机器指令一一对应。
指令:指令通常由操作码和地址码(操作数)两部分组成
指令集:每种CPU都有自己的汇编指令集。
汇编语言由3类指令组成。
- 汇编指令(机器码的助记符)
- 伪指令(由编译器执行)
- 其他符号 (由编译器执行)
汇编语言的核心是汇编指令,它决定了汇编语言的特性
2.存储器
随机存储器(RAM)在程序的执行过程中可读可写,必须带电存储
只读存储器(ROM)在程序的执行过程中只读,关机数据不丢失
3.总线
(1)逻辑上划分为:
- 地址总线
- 数据总线
- 控制总线
(2)cpu对存储器的读写:
- 存储单元的地址(地址总线)
- 器件的选择,读或写命令(控制总线)
- 读或写的数据(数据信息)
第二章
1.寄存器
CPU由运算器、控制器、寄存器等器件构成,这些器件靠片内总线相连。
运算器进行信息处理;控制器控制各种器件进行工作;寄存器进行信息存储;
8086CPU有14个寄存器:AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW都是16位
16位结构CPU具有下面几方面的结构特性
- 运算器一次最多可以处理16位的数据
- 寄存器的最大宽度为16位
- 寄存器和运算器之间的通路为16位
2.通用寄存器
16位 | 高8位 | 低8位 |
---|---|---|
AX | AH | AL |
BX | BH | BL |
CX | CH | CL |
DX | DH | DL |
3.物理地址
CPU访问内存单元时要给出内存单元的地址。所有的内存单元构成的存储空间是一个一维线性空间。我们称这个唯一的地址为物理地址。
4.地址加法器工作原理
地址加法器合成物理地址的方法:
物理地址=段地址*16+偏移地址
5.段寄存器
段寄存器就是提供段地址的,8086CPU有4个段寄存器:
CS、DS、SS、ES
当8086CPU要访问内存是,由这4个段寄存器提供内存单元的段地址
6.CS和IP
CS为代码段寄存器
IP为指令指针寄存器
CPU将CS、IP中的内容当作指令的段地址和偏移地址,用它们合成指令的物理地址,
CPU将CS:IP指向的内容当作指令执行
第三章
1.内存中字的存储
在0地址处开始存放20000(4E20H)
高位对应高地址,低位对应低地址存储
任何两个地址连续的内存单元,N号单元和N+1号单元,可以将它们看成两个内存单元,也可以看成一个地址为N的字单元中的高位字节单元和低位字节单元。
2.DS和[address]
DS寄存器,通常用来存放要访问的数据的段地址。
执行指令时,8086CPU自动取DS中的数据为内存单元的段地址
3.栈
栈是一种具有特殊的访问方式的存储空间。它的特殊性就在于,最后进入这个空间的数据,最先出去
栈的两个基本操作:入栈和出栈
- 入栈:将一个新的元素放到栈顶
- 出栈:从栈顶取出一个元素
所以栈顶的元素总是最后入栈,需要出栈时,又最先被从栈中取出
执行push时SP需-2
执行pop时SP需+2