求火的灰烬
2020-05-20 15:46
采纳率: 100%
浏览 160

汇编--偏移地址小问题不理解

如段基地址是6000h
偏移地址是9
那么物理地址是60009h

这里16位的偏移地址怎么体现? 一个9是只有4位啊

如段基地址是1234 偏移地址是5678 那 1234h*16+5678=多少? 1396E H?
汇编真难搞
最后的题目及答案我乱写的 求告知正确解法。。感激不尽

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • wyg_031113 2020-05-20 15:58
    已采纳

    对的。 段地址要*16再加偏移地址。 1234H*16=12340H. 因为是16进制嘛。 你1234H*16=1234H*10H 都转成16进制。
    9是只有4位。是因为你要加9. 最大可以加FFFFH.
    6FFFFH.看4个F16位。 这里说的16位偏移地址是说最大16位。

    5678是10进制?

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • threenewbee 2020-05-20 15:51

    你注意,结尾带上 h 表示这个已经是16进制了,两个16进制直接加可以了(0-9无所谓16进制还是10进制,因为就是0-9)
    所以6000h+9=6009h而不是60009h也不是6000*16+9

    评论
    解决 无用
    打赏 举报
  • Ljnu4 2020-05-20 17:06

    段基地址就是表示存储单元在内存里的某一个区域(段),偏移地址表示与段首(段内第一个单元)的相对距离,是指在这一个区域(段)的相对位置。
    我理解的是:你去坐高铁,车厢号就相当于段基地址,座位号就相当于偏移地址。
    段基地址+偏移地址=物理地址,公式里段基地址乘16,你可以直接在数字后面多加一个零就行了。
    比如_1234H_*16,直接就是12340H,再与偏移地址5678相加就可以了。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题