一个16位寄存器可以存储一个16位的数据

caojun19790629 2014-02-17 08:33:00
一个16位寄存器可以存储一个16位的数据
一个16位寄存器所能存储的数据的最大值为多少?
答案:2 16-1。
老师好 初学汇编 有些问题提的不到位 请指教
问题1
一个16位寄存器为什么只可以存储一个16位的数据
问题2
一个16位寄存器所能存储的数据的最大值为什么是2 16-1。
问题3
数据在寄存器是如何存储的
...全文
1570 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
caojun19790629 2014-02-18
  • 打赏
  • 举报
回复
引用 4 楼 zara 的回复:
“老师”之说严重了,开始还因为指的是你们老师呢。 11111110 不是一层层贴进去的吧,它们应该是并列的。 《数字电路》,这个是贵专业的基础专业课程吧;要不,你也是非专业的只是自己干兴趣看看的?
爱好而已 老师 还有老师我在win7 32位下使用masm6.11和6.11好像是(小甲鱼)编译16位的汇编 可是现在编译不了了 求解决 原来在xp中可以编译 不知道系统是多少位的
zara 2014-02-17
  • 打赏
  • 举报
回复
问题1: 寄存器是作为一个整体来看的,所以 16 位的寄存器就是 16 个二进制存储单元的组合,即存放的是 16 位数据了。有些可以分拆为两个 8 位寄存器的,如 AX(BX,CX,DX) 可以分解为 AH 和 AL 分别对应高 8 位和低 8 位;有些则不可以,如 SI(DI,BP,SP)。
问题2: 一个二进制位只有两个状态,对应数值就是 0 和 1;n 个二进制位的状态组合数为 2^n 个,即可以表示 2^n 个数值,数值的范围就是 0-(2^n-1) 了。
问题3: 最简单的就是用开关电路来表示状态了,《数字电路》上有详解的,当然到实际的 cpu 里会更复杂些,因为会涉及到更多的因素,不仅仅只是表示个状态或数值而已;上面两问题也以此书为基。
zara 2014-02-17
  • 打赏
  • 举报
回复
“老师”之说严重了,开始还因为指的是你们老师呢。
11111110 不是一层层贴进去的吧,它们应该是并列的。
《数字电路》,这个是贵专业的基础专业课程吧;要不,你也是非专业的只是自己干兴趣看看的?
caojun19790629 2014-02-17
  • 打赏
  • 举报
回复
还有老师 这本《数字电路》在哪里下载
caojun19790629 2014-02-17
  • 打赏
  • 举报
回复
引用 1 楼 zara 的回复:
问题1: 寄存器是作为一个整体来看的,所以 16 位的寄存器就是 16 个二进制存储单元的组合,即存放的是 16 位数据了。有些可以分拆为两个 8 位寄存器的,如 AX(BX,CX,DX) 可以分解为 AH 和 AL 分别对应高 8 位和低 8 位;有些则不可以,如 SI(DI,BP,SP)。 问题2: 一个二进制位只有两个状态,对应数值就是 0 和 1;n 个二进制位的状态组合数为 2^n 个,即可以表示 2^n 个数值,数值的范围就是 0-(2^n-1) 了。 问题3: 最简单的就是用开关电路来表示状态了,《数字电路》上有详解的,当然到实际的 cpu 里会更复杂些,因为会涉及到更多的因素,不仅仅只是表示个状态或数值而已;上面两问题也以此书为基。
老师说的状态组合就是用0或1组成8位不相同的的数字组合(暂时我们就这样认为)共有多少组合 如11111110 11111101 等等 那问题又回来了 他们在寄存器中是如何存储 写入的那 在我这里形成的概念好像是11111110 11111101 等等一层层贴进去的 老师不知道这样理解对不对

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧