x86的寄存器

x86的寄存器

包括:

  • 32位的通用寄存器:
  1. EAX
  2. EBX
  3. ECX
  4. EDX
  5. EBP
  6. ESP
  7. ESI
  8. EDI
  • 16位段寄存器:
  1. CS
  2. DS
  3. SS
  4. ES
  5. FS
  6. GS
  • 32位标志寄存器 EFLAGS
  • 32位指令指针寄存器:EIP
  • 32位控制寄存器:
  1. CR0
  2. CR1
  3. CR2
  4. CR3
  • 48位全局描述符表寄存器:
  1. GTDR
  2. IDTR
  • 16位局部描述符表寄存器:LDTR
  • 任务状态描述符寄存器:TR
  • 32位调试寄存器:DR0~DR7

CR0寄存器

结构:

位置名称功能
0PEProtection Enable,为1,进入保护模式;为0,进入实模式
1MPMonitor Coprocessor,为1,表示有协处理器;为0,表示没有协处理器
2EMEmulate Coprocessor,没有协处理器,遇到浮点指令,产生协处理器无效中断,使用软件方法模拟协处理器
3TSTask Switched,任务转换完成后置1
4ETProcessor Extension Type,为1表示协处理器是32位的80387,为1表示是16位的80287
31PGPaging Enable,1表示开启分页,为0表示关闭分页

CR1保留未使用
CR2是页异常线性地址寄存器。发生缺页异常的时候,将内存地址放入该寄存器。


调试寄存器DR0~DR3:内存断点寄存器
DR4~DR5:保留
DR6:断点状态寄存器
DR7:断点控制标志寄存器

CPU执行内存相关指令时,检查DR7的标志,将相关指令的地址和DR0~DR3进行比较,若相等,则触发调试异常


EFLAGS

大部分标志位和16位的8086一样。第12、13位IOPL时特权许可位
执行IO指令时,CPU比较CS中的特权位和IOPL,只有指令够高才能执行

0~17:
CF,0,PF,0,AF,0,ZF,SF,TF,IF,DF,OF,IOPL,NT,0,RF,VM

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值