8086 CPU的 CS寄存器为何会使用4个16进制?
8086 CPU的 CS寄存器为何会使用4个16进制?
我们知道8086是使用的14个16位寄存器。
图上说CPU复位值:
这里为何CS是使用了FFFFH,也就是说是4个16进制数。为何不是一个F?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
8086 CPU的 CS寄存器为何会使用4个16进制?
我们知道8086是使用的14个16位寄存器。
图上说CPU复位值:
这里为何CS是使用了FFFFH,也就是说是4个16进制数。为何不是一个F?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(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。