汇编知识点-寄存器

一个典型的CPU由运算器,控制器,寄存器等器件构成,这些器件靠内部总线相连.
运算器进行信息处理;
寄存器进行信息存储;
控制器控制各种器件进行工作;
内部总线连接各种器件,在它们之间进行数据的传送.
人主要通过指令读写寄存器来实现对CPU的控制.
8086CPU有14个寄存器,都是16位的,分别是:
AX,BX,CX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW;
其中AX,BX,CX,DX四个寄存器通常用来存放一般性的数据,被称为通常寄存器.
上一代CPU的寄存器是8位的,因此为了兼容,8086的每个通用寄存器都可以拆分为2个独立使用的8位寄存器使用:
AX=AH+AL;BX=BH+BL …
AX的低8位构成AL寄存器,高8位构成AH寄存器.
/独立使用的意思是,当对AH,AL等8位进行ADD命令时,如果发生溢出,都不会修改下一个寄存器的值而直接丢弃/
十六进制数的一位相当于二进制的四位.
为了区分进制,十六进制在末尾加H,二进制加B,十进制不加.
简单汇编指令:
MOV ax,1000H //将1000H赋值给AX
ADD ax,ax //AX=AX+AX(加法,自增运算)
CPU访问内存单元时,需要先通过地址总线给出内存单元的地址.于是在传输之前,先要在内部形成这个物理地址.不同的CPU有不同的形成方法,这里讨论8086CPU.
8086CPU是16位结构的CPU,也就说运算器一次最多可以处理16位的数据,寄存器最大宽度为16位,内部总线的通路为16位.
而8086CPU有20位地址总线.可以传送20位地址,达到1MB的寻址能力.那么如何让16位的寄存器给出20位的地址呢?
采用一种叫做地址加法器的结构.
CPU中的相关部件提供两个16位的地址,一个称为段地址,另一个称为偏移地址.
16位的段地址左移一位(十六进制左移一位等同二进制左移四位),即末尾置零,在加上偏移地址,即可表示二十位的所有数组.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值