私は、Z80 2 バイト ポインター コンバーターを含む特殊な 16 進エディターに取り組んでいます。
変換の背後にある数学は次のようになります。
- 指し示すオフセットを取得します。
- オフセットの下 4 桁を取り、残りを切り捨てます。
- オフセットが
&H4000-の範囲外にある場合は、次の&H7FFFように変換する必要があります(offset % &H4000) + &H4000。言い換えると:- オフセットが
&H0000~の場合は、オフセット&H3FFFに追加&H4000します。 - オフセットが から
&H4000までの場合、オフセット&H7FFFに対して何もしません。 - オフセットが から
&H8000までの場合、オフセットから&HBFFF減算&H4000します。 - オフセットが から
&HC000までの場合、オフセットから&HFFFF減算&H8000します。
- オフセットが
私の問題は、5 桁または 6 桁の 16 進数オフセットを 2 桁オフセットに変換する方法がわからないことです。最初に余分なバイトを削り取るにはどうすればよいですか (ステップ 2)。