assembly 计算段的基址(Intel 8086)

wwwo4jvm  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(138)

我知道,物理地址=段地址x 10 h+偏移量
假设内存位置的物理地址是33330 H,偏移量是1111 H。要找到段地址,(33330 - 1111)/10 = 3221。
现在,如果计算物理地址,则3221 x 10 h + 1111 = 33321,而不是33330。
为什么会这样?我的过程正确吗?

wgeznvg7

wgeznvg71#

总是需要可能的物理地址。
段物理地址必须与段落对齐:n%10h=0 .
这里,33330h-1111h=32219h线性地址
但您必须采用32210h(可能的物理地址)或逻辑地址= 3221:0009
因此,(33330h - 1111h)/10h = 3221h段寄存器值(段基址右移4)。

相关问题