Binary 从1字节转换为十六进制
我在理解以下文本时遇到问题Binary 从1字节转换为十六进制,binary,size,microprocessors,Binary,Size,Microprocessors,我在理解以下文本时遇到问题 8088支持1MB的外部内存。这个内存空间是 从软件的角度组织为单个字节的数据 存储在地址范围00000至fffffff的连续地址中 现在我不知道作者是如何从1Mbyte转换成FFFFF的。谁能帮帮我吗 谢谢。在描述的页面中对此进行了详细解释(8088具有相同的指令集体系结构,但引脚略有不同) 基本上,段寄存器给出一个(16位)基址,该基址乘以16,然后加上16位偏移量 而0xfffff为220-1,即10485751M字节为2^20。这意味着需要20位来表示它。范围
8088
支持1
MB的外部内存。这个内存空间是
从软件的角度组织为单个字节的数据
存储在地址范围00000
至fffffff
的连续地址中
现在我不知道作者是如何从1Mbyte转换成FFFFF的。谁能帮帮我吗
谢谢。在描述的页面中对此进行了详细解释(8088具有相同的指令集体系结构,但引脚略有不同) 基本上,段寄存器给出一个(16位)基址,该基址乘以16,然后加上16位偏移量
而
0xfffff
为220-1,即10485751M字节为2^20
。这意味着需要20位来表示它。范围00000-fffffff
包含20位的所有可能值。请区分容量和寻址。容量计数从1开始,但内存寻址从0开始(地址0为计数1)
类比。如果我们的容量是10,地址是0,那么它将是0到9
所以寻址的技巧是
最后地址=容量-1
对于容量1MB(dec),十六进制=10.0000h
对于寻址,最后一个地址是10.0000-1=F FFFF
所以1MB容量的地址是从0到F FFFF。
(记住地址0,被计数为1)