通用寄存器 段寄存器

通用寄存器8 个通用寄存器是 8086 寄存器的超集,它们的名称和用途分别为:EAX 一般用作累加器EBX 一般用作基址寄存器( Base )ECX 一般用来计数( Count )EDX 一般用来存放数据( Data )EBP 一般用作堆栈指针( Stack Pointer )EBP 一般用作基址指针( Base Pointer )ESI 一般用作源变址( Source Index )EDI 一般用作目标变址( DestinatinIndex )8 个通用寄存器中通常保存 32 位数据,但为了进行 16 位的操作并与 16 为机保持兼容,它们的低位部分被当成 8 个 16 位的寄存器,即 AX 、 BX…DI 。为了支持 8 位的操作,还进一步把 EAX 、 EBX 、 ECX 、 EDX 这四个寄存器低位部分的 16 位,再分为 8 位一组的高位字节和低位字节两部分,作为 8 个 8 位寄存器。这 8 个寄存器分别被命名为 AH 、 BH 、 CH 、 DH 和 AL 、 BL 、 CL 、 DL 。对 8 位或 16 位寄存器的操作只影响相应的寄存器。例如,在做 8 位加法运算时,位 7 的进位并不传给目的寄存器的位 9 ,而是把标志寄存器中的进位标志( CF )置位。因此,这 8 个通用寄存器既可以支持 1 位、 8 位、 16 位和 32 位数据运算,也支持 16 位和 32 位存储器寻址。 段寄存器8086 中有 4 个 16 位的段寄存器: CS 、 DS 、 SS 、 ES ,分别用于存放可执行代码的代码段、数据段、堆栈段和其他段的基地址。在 80386 中,有 6 个 16 位的段寄存器,但是,这些段寄存器中存放的不再是某个段的基地址,而是某个段的选择符( Selector )。因为 16 位的寄存器无法存放 32 位的段基地址,段基地址只好存放在一个叫做描述符表( Descriptor )的表中。因此,在 80386 中, 我们把段寄存器 叫做选择符。下面给出 6 个段寄存器的名称和用途:CS 代码段寄存器DS 数据段寄存器SS 堆栈段寄存器ES 、 FS 及 GS 附加数据段寄存器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

robbie1314

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值