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

Aileen
  • 561

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

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

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

回复
阅读 1.3k
2 个回答

这是我学习汇编不久一直困扰我的问题,为什么像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。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏