每日技术阅读之 x86 架构中的寄存器

0e50666b-b9c6-4ca6-9cdf-6ccda9e08ce3.png


本期内容是 Intel x86 架构中的寄存器



x86 对于 Intel 处理器来说是一个人们习惯的口头称谓,原因是第一个芯片被称为 8086 ,之后推出的芯片有 8186 ,8286 , 8386 等等。他们的共同点是都叫 XX86 , 所以人们称它为 x86 。x86 的特性不断发展,进化,不同的特性相互叠加,于是 x86 有时候被称为 CISC (Complex instrucation set computer) 。在 80 年代被称为 RISC (Reduced instrucation set computer)和 CISC 大战的年代, RISC 是一个相对较为新颖的想法。在这之前没有人给他们命名,但是 RISC 的开发人员将之前的处理器称作为 CISC ,具有明显的贬义含义。Intel 使用的是经典的 CISC 架构,这意味着它有很多复杂的特性。它的开发手册大约有两大本书,如果感兴趣的话可以去阅读 64-ia-32-architectures-software-developer-vol-1-manual 这个手册,没记错的话这个手册应该是有三卷的。大约有几千多条指令。(我光是想想就觉得头皮发麻了:<  )



246e17ce-9a9c-4f39-a627-6ad89314ba44.jpg


这里总共有 16 个寄存器,可以用来保存整数或者是指针。其中有一些是字母名称,有一些是数字名称。如果你使用它的 %r 开头的名称,你会得到 64-bit , 如果你使用 %e 开头的名称你会得到 32-bit 。但是这并不代变他们是两个不同的寄存器 ,%e 版本只是较大的 %r 实体的低32-bit 。实际使用的时候你还可以只用 16-bit 或者 8-bit 。关于这些寄存器的名称是历史遗留问题,因为当初他们被赋予了特殊的目的,通过这个名称表现。现如今这些名称已经无意义了,与他们的目的没有关系了。


9f0f208d-04a6-4348-96cd-64d540674972.gif


本文分享自微信公众号 - 黑帽子技术(SNJYYNJY2020)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值