汇编_寄存器_笔记

总览:32位CPU所含有的寄存器有:
4个数据寄存器(EAX, EBX, ECX, EDX)
2个变址和指针寄存器(ESI和EDI);2个指针寄存器(ESP和EBP)
6个段寄存器(ES, CS, SS, DS, FS, GS)
1个指令寄存器(EIP)
1个标志寄存器(EFlags)

数据寄存器:
对低16位数据的存取,不会影响高16位数据。
这些低16位寄存器分别命名为:AX, BX, CX, DX。
4个低16位寄存器又可以分成8个独立的8位寄存器(AX: AH-AL, BX: BH-BL, CX: CH-CL, DX: DH-DL)
EAX通常称为累加器(Accumulator):可用于乘除输入输出等操作,使用频率很高。
EBX称为基地址寄存器(Base Register):可作为存储器指针来使用。
ECX称为计数寄存器(Count Register):在循环和字符串操作时,要用它来控制循环次数。在位操作中,当移多位时,要用CL来指明移位的位数。
寄存器EDX称为数据寄存器(Data Register):在进行乘除运算时,它可作为默认的操作数参与运算,也可用于存放IO的端口地址。

变址寄存器:
ESI和EDI,低16位的存取有SI和DI寄存器。
变址寄存器主要用于存放存储单元在段内的偏移量。


指针(Pointer)寄存器:
ESP, EBP。低16位SP,BP。
EBP为基指针(Base pointer)寄存器,可以直接存取堆栈中的数据。
ESP为堆栈指针(Stack pointer)寄存器,用它只可以访问栈顶。

段寄存器:
ECS:代码段寄存器(Code Segment Register)
EDS:数据段寄存器(Data Segment Register)
ESS:堆栈段寄存器(Stack Segment Register)
EES:附加段寄存器(Extra Segment Register)
EFS:附加段寄存器
EGS:附加段寄存器

指针指令寄存器:
EIP,低16位IP(instructor pointer)寄存器。

标志寄存器:
一、运算结果标志位:
  1. 进位标志CF(Carry Flag)
  2. 奇偶标志PF(Parity Flag):运算结果中”1“的个数。
  3. 辅助进位标志(Auxiliary Carry Flag)
  4. 零标志(Zero Flag)
  5. 符号标志(Sign Flag):正数0,负号1。
  6. 溢出标志(Overflow Flag)
二、状态控制标志位:
  1. 追踪标志TF(Trap Flag)
  2. 中断允许标志IF(Interrupt-enable Flag)
  3. 方向标志(Direction Flag)
三、32位标志寄存器增加的标志位:
  1. I/O特权标志IOPL(I/O Privileg Level)
  2. 嵌套任务标志NT(Nested Task)
  3. 重启标志RF(Restart Flag)
  4. 虚拟8086方式标志VM(Virtual 8086 Mode)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值