第二章总结(寄存器)

8086CPU所有寄存器都是16位的,可以存放两个字节,以下均以此为标准。

8086CPU有14个寄存器:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW

通用寄存器:AX(AH,AL),BX(BH,BL),CX(CH,CL),DX(DH,DL),用来存放一般性数据。

段寄存器:CS,DS,SS,ES

为兼容上一代CPU编写的程序,这四个寄存器都可以分为两个独立的8位寄存器来使用。当CPU中寄存器当做8为来用的时候ah和al是没有关系的,例如al中存放的数产生溢出现象时不会存放到ah,他们是不相关的两个寄存器。

在进行数据传送和运算的时候,要注意指令的两个操作对象应该位数相同。(mov ax,bx正确)(mov ax,bl错误)

8086有20位地址总线,达到1M寻址能力,而它又是16位结构(16位的寻址能力只能达到64KB),它采用的是两个16位地址合成的方法形成一个20位地址。

物理地址=段地址*16+偏移地址

用16进制表示的时候只需将段地址向左移一位。

用两个16位进行如此运算便可表达出20位地址,使得寻址能力得到大幅提高。

一个物理地址可以用不同的段地址和偏移地址形成。

段地址*16必然是16的倍数,一个段的起始地址一定是16的倍数;偏移地址为16位,所以一个段的长度最大为64KB。

“数据在21F60H内存单元中”这句话对于8086PC机一般不这样讲,取而代之的是两种类似的说法:1.数据存放在2000:1F60单元中;2.数据存放在内存的2000段中的1F60单元中。

习题:有一数据放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为1001H,最大为2000H

CS和IP是8086CPU中两个最关键的寄存器,它们指示了CPU当前要读取的地址。CS为代码段寄存器,IP为指令指针寄存器。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值