汇编第二章1
寄存器
2.1CPU简单介绍
一个典型的CPU有运算器、控制器、寄存器等器件(内部总线)
内部总线实现CPU内部各个器件之间的联系
外部总线实现CPU和主板上其他器件的联系
AX、BX、CX、DX为通用寄存器
16位寄存器存储数据最大值位2^16-1
8086CPU要兼容8080
8086CPU的16位寄存器分为两个8位寄存器(可以独立使用)
AX分为AH和AL
BX分为BH和BL
……
** H为高位L为低位 **
2.2字在寄存器中的存储
一个字可以存在一个16为寄存器中
一个内存单元可以存放8位数据,CPU中的寄存器又可存放n个8位数据,计算机中的数据大多是由1~N个8位数据构成。
2.3
20000(10)
4E20(16)
AH里放4E
AL里放20
十六进制后加H
二进制后加B
十进制什么也不加
Bin放源程序
AL里的进位不在AH里
是丢到别的地方,未来会讲
add al,93H != add ax,93H
2.4
CPU访问内存单元时要给出内存单元的地址。
所有的内存空间构成的存储空间时一个一维的线性空间(物理地址)
2.5
(汇编王爽)CPU为16位的
运算器一次最多可以处理16位的数据
寄存器的最大宽度为16位
寄存器和运算器之间的通路时16位的
2.6
8086有20位地址总线,可传送20位地址,寻址能力为1M
(物理总线)
8086内部为16位结构,它只能传送16位的地址,表现出的寻址能力却只有64K
1.CPU中相关部件提供两个16位的地址,一个称之为段地位,另一个称之为偏移地址;
2.段地址和偏移地址通过内部总线送到一个称为地址加法器的部件;
3.地址加法器将两个16位地址合并成一个20位的地址
** 物理地址=段地址*16+偏移地址 **
一个数据的二进制形式左移N位,相当于该数据乘以2的N次方
一个数据的十六进制形式左移1位,相当于该数据乘以16
一个数据的十进制形式左移1位,相当于该数据乘以10
一个数据的X进制形式左移1位,相当于该数据乘以X
2.7段地址*16+偏移地址=物理地址的本质含义
** 基础地址+偏移地址=物理地址 **