鱼C论坛

 找回密码
 立即注册
查看: 1144|回复: 6

[已解决]王爽老师汇编里面,段大小100H怎么来的呢?

[复制链接]
发表于 2023-4-28 13:01:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
各位师兄师姐,江湖救急:这个大小为100H是怎么来的呢?

这个大小为100H是怎么来的呢?

这个大小为100H是怎么来的呢?
最佳答案
2023-4-28 15:38:15
疯狂的石头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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-28 13:06:55 | 显示全部楼层
首先,我们需要了解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个内存单元。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-28 15:30:59 | 显示全部楼层
isdkz 发表于 2023-4-28 13:06
首先,我们需要了解16进制(十六进制)数制。在16进制中,每位数的取值范围是0-15,分别用0-9和A-F表示。16 ...

谢谢,您的回复,但是我还是没有明白,这个100H是怎么来的?是什么东西相减出来的吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-28 15:38:15 | 显示全部楼层    本楼为最佳答案   
疯狂的石头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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-28 15:40:12 | 显示全部楼层
isdkz 发表于 2023-4-28 13:06
首先,我们需要了解16进制(十六进制)数制。在16进制中,每位数的取值范围是0-15,分别用0-9和A-F表示。16 ...

谢谢,您的回复,但是,我不明白的是100H是怎么来的?我用100FFH-10000H,减出来是FFH,感觉不对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-28 15:42:21 | 显示全部楼层
疯狂的石头qsy 发表于 2023-4-28 15:40
谢谢,您的回复,但是,我不明白的是100H是怎么来的?我用100FFH-10000H,减出来是FFH,感觉不对


100FFH - 10000H 的结果是 FFH 怎么不对了?

    100FFH
  - 10000H
----------------
= 100FFH

首先最后面那个H不是数字的一部分,它只是表示这是一个十六进制(hex)数,所以 H 不参与运算

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-28 15:43:35 | 显示全部楼层
谢谢您,您太厉害了,前辈,请收下我的膝盖
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 05:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表