问答

8086 CPU的 CS寄存器为何会使用4个16进制?

作者:admin 2021-06-07 我要评论

8086 CPU的 CS寄存器为何会使用4个16进制? 我们知道8086是使用的14个16位寄存器。 图上说CPU复位值: 这里为何CS是使用了FFFFH,也就是说是4个16进制数。为何不...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

8086 CPU的 CS寄存器为何会使用4个16进制?

我们知道8086是使用的14个16位寄存器。
图上说CPU复位值:
image.png

这里为何CS是使用了FFFFH,也就是说是4个16进制数。为何不是一个F?

###

这是我学习汇编不久一直困扰我的问题,为什么像AX,BX,CX,DX这样的通用寄存器只能放四个数字呢?虽然我知道1B=8bit。但是总感觉哪里不通畅。不是很明了。

后来,我做了一个类比,如下:

1个16进制数得用 4个二进制数才能表示

2个16进制数 就是8个二进制数

8个二进制数得占1个字节

3个16进制数 就是12个二进制数

4个16进制数 是16个二进制数

16个二进制数得占2个字节

8086里面的通用寄存器是16位的,2个字节容量,所以就得用4个16进制数啦

想通了就很简单了

###

计算机里说的寄存器位数,指的是寄存器能储存的数字的二进制位数,
举个栗子,8086 的16位寄存器,就是说每个寄存器可以存二进制位数是16位的数字,
而 FFFFH 是16进制的表达形式,末尾H字母表示这是一个16进制数,16进制的每一位相当于二进制的4位,
比如 FH = 1111B (末尾字母B表示二进制数)、FFH = 11111111B。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 8086 CPU的 CS寄存器为何会使用4个16进

    8086 CPU的 CS寄存器为何会使用4个16进

  • RedisDesktopManager连接不上远程redis

    RedisDesktopManager连接不上远程redis

  • java泛型T和?的疑惑?通俗解释下?

    java泛型T和?的疑惑?通俗解释下?

  • java使用WebClient获取不到重定向的网

    java使用WebClient获取不到重定向的网

腾讯云代理商
海外云服务器