王爽老师汇编里面,段大小100H怎么来的呢?
各位师兄师姐,江湖救急:这个大小为100H是怎么来的呢?首先,我们需要了解16进制(十六进制)数制。在16进制中,每位数的取值范围是0-15,分别用0-9和A-F表示。16进制数的计算与10进制类似,但是基数是16。例如,十六进制数100H表示的十进制数为:
1 * (16^2) + 0 * (16^1) + 0 * (16^0) = 256。
在你提到的这个例子中,我们将内存划分成不同的段,每个段有一个基础地址和一个偏移地址。在这里,段地址是用16进制表示的。所以,段地址1000H实际上等于:
1 * (16^3) + 0 * (16^2) + 0 * (16^1) + 0 * (16^0) = 4096。
然后,我们需要计算段的大小。大小为100H,转换为十进制为:
1 * (16^2) + 0 * (16^1) + 0 * (16^0) = 256。
这个段的大小为100H,表示它包含256个内存单元。所以,基础地址10000H到100FFH的内存单元组成一个段,大小为100H,即256个内存单元。 isdkz 发表于 2023-4-28 13:06
首先,我们需要了解16进制(十六进制)数制。在16进制中,每位数的取值范围是0-15,分别用0-9和A-F表示。16 ...
谢谢,您的回复,但是我还是没有明白,这个100H是怎么来的?是什么东西相减出来的吗? 疯狂的石头qsy 发表于 2023-4-28 15:30
谢谢,您的回复,但是我还是没有明白,这个100H是怎么来的?是什么东西相减出来的吗?
100FFH - 10000H + 1 得来的,
100FFH - 10000H = FFH FFH + 1 = 100H
如果你要问为什么要加 1,因为100FFH - 10000H 是 10000H 与 100FFH 的距离,从 10000H 到 100FFH 有多少个单元还要加上 10000H 本身这个单元
比如从 1 数到 10 一共有 10 个单元,不用想就知道,这个结果用数学来表示的话是 10 - 1 + 1
isdkz 发表于 2023-4-28 13:06
首先,我们需要了解16进制(十六进制)数制。在16进制中,每位数的取值范围是0-15,分别用0-9和A-F表示。16 ...
谢谢,您的回复,但是,我不明白的是100H是怎么来的?我用100FFH-10000H,减出来是FFH,感觉不对 疯狂的石头qsy 发表于 2023-4-28 15:40
谢谢,您的回复,但是,我不明白的是100H是怎么来的?我用100FFH-10000H,减出来是FFH,感觉不对
100FFH - 10000H 的结果是 FFH 怎么不对了?
100FFH
- 10000H
----------------
= 100FFH
首先最后面那个H不是数字的一部分,它只是表示这是一个十六进制(hex)数,所以 H 不参与运算
谢谢您,您太厉害了,前辈,请收下我的膝盖{:9_232:}
页:
[1]