>>52
>> add BX,4
>> adc DX,0
>> のようにすれば、4バイト先のアドレスを 32BIT で正確に計算できる。
>それ毎回やるの?
>すげー遅くなるよ
実際には、BYTE huge *ptr; に対し ptr += 4 を実行するともっと複雑な
例えば以下のようなコードにするしかなかった。もう少し高速なコードも
作れるかも知れないが、一番単純に書いた場合、
例えば、ES:BX が ptr に相当するとして、
xor cx,cx
add bx,4
adc cx,0
shl cx,12
mov ax,ES
add ax,cx
mov ES,ax

つまり、[DX:BX]方式なら2命令で済んでいたところが、SEG:[BX]方式しか使えなかった
8086は、7命令も必要となった。
だから、8086はZ80より設計が悪いとされた。