Intel 8086/8088 CPU 寄存器结构

1. 段寄存器

 

需执行程序的各部分(指令代码、数据、堆栈)分别放在主存的指定段中。

 

段寄存器:用来存放每个段的段基值,即段基址的高16位,每个段寄存器有特定功能,不能互换。

 

当前段:由CSDSSSES指向的段,如图:

 

 

CS ----- 代码段用来存放程序的指令代码序列,CS用来存放当前代码段首址的高16位,即段基值。

 

DS ----- 数据段用来存放程序的有关数据,DS用来存放当前数据段的段基值。

 

SS ----- 堆栈段用来存放按后进先出顺序存取的信息,SS用来存放当前堆栈段的段基值。

 

ES ----- 附加段用来存放运算结果或辅助数据,ES用来存放当前附加段的段基值。

 

2. 通用寄存器

 

816位通用寄存器按使用情况分为三种:指针寄存器、变址寄存器、数据寄存器。

 

1)指针寄存器:主要提供全部或部分偏移量

    SP:专门存放堆栈段中栈顶单元的偏移量。

    BP:存放堆栈段中某个单元的全部/部分偏移量,也可存放16位操作数或运算结果。

 

2)变址寄存器

    SI/DI:存放主存操作数的全部/部分偏移量,也可存放16位操作数和结果,在多数情况功能可以互换。 但在串操作指令中作用不能互换,源操作数必须用SI提供偏移量,目的操作数必须用DI提供偏移量。

 

3)数据寄存器

 

数据寄存器既可以作为416位的寄存器,也可以作为88位的寄存器 ,(H表示高字节,L表示低字节)。

 

程序中,数据寄

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值