一个16位寄存器可以存储一个16位的数据
一个16位寄存器可以存储一个16位的数据
一个16位寄存器所能存储的数据的最大值为多少?
答案:2 16-1。
老师好 初学汇编 有些问题提的不到位 请指教
问题1
一个16位寄存器为什么只可以存储一个16位的数据
问题2
一个16位寄存器所能存储的数据的最大值为什么是2 16-1。
问题3
数据在寄存器是如何存储的
[解决办法]
问题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 里会更复杂些,因为会涉及到更多的因素,不仅仅只是表示个状态或数值而已;上面两问题也以此书为基。