汇编语言第二章总结
1. CPU:运算器,控制器,寄存器等器件构成,靠内部总线相连
(外部总线:连接CPU和主板上其他器件)
2. 不同的CPU,寄存器个数和结构是不相同的。
e.g.8086CPU 14个寄存器:AX BA CX DX→通用寄存器
SI DI SP BP IP
CS SS DS ES→提供段地址
PSW
3. 8086为例:所有寄存器都是16位的,存放两个字节(=1个字)
AX BX CX DX可以分为独立的2个8位寄存器来使用
低8位为AL寄存器,高8位为AH寄存器
4.注意:AX AL AH运算时的“丢失”(并不是真的舍去)问题
5.在进行数据传送或运算时,要注意指令的两个操作对象的位数应当是一致的(我觉得是寄存器之间应该位数一致)
6. 16位结构的CPU
(1)运算器一次最多可以处理16位的数据
(2)寄存器的最大宽度为16位
(3)寄存器和运算器之间的通路为16位
7.物理地址=段地址*16+偏移地址
8.一个X进制的数据左移一位,相当于乘X
9.内存没有分段,段的划分来自于CPU
一个段的长度最大为64KB
CPU可以用不同的段地址和偏移地址形成一个物理地址
10.物理地址地表示
段地址:偏移地址 注意:地址连续,起始地址为16的倍数的一组内存单元定义为一个段
11.CS-代码段寄存器 IP-指令指针寄存器 即CS:IP
CS IP提供了CPU要执行指令的地址
12.mov指令不能用于设置CS IP的值
能够改变CS IP 值的统称为转移指令 e.g .jump
Jump 2AE3:3 用指令2AE33H处读取地址(同时修改CS IP)
Jump 某一合法寄存器 jump ax(用寄存器的值修改IP)
13.CPU只认被CS:IP指向的内存单元中的内容为指令