哈喽伯牙绝弦 发表于 2012-7-25 12:19:55

寄存器相对寻址方式问题

今天看资料看到一句话如下:
指令中给出的8位/16位偏移量用补码表示。在计算有效地址时,如果偏移量是8位,则进行符号扩展成16位。当所得的有效地址超过0FFFFH,则取其64K的模。
我想问最后一句话是什么意思:"当所得的有效地址超过0FFFFH,则取其64K的模。"

メ㊣逆ご帅☆ 发表于 2012-7-25 13:33:31

8086,最大寻址空间1MB,最大分段64KB,0ffffh=64K,当遇到这种情况,我们要将段地址+1,偏移地址-10000h,相当于加法中的进一,不过这个1是进到段地址中
比如段地址ds:0b11h,偏移是10000h,超过0ffffh,那么这时候我们应该采取的是ds+1=0b12h,偏移10000h-10000h=0
由原来的0b11h:10000h 变成0b12h:0
说的啰嗦点见谅:L
页: [1]
查看完整版本: 寄存器相对寻址方式问题