2

私は、Z80 2 バイト ポインター コンバーターを含む特殊な 16 進エディターに取り組んでいます。

変換の背後にある数学は次のようになります。

  1. 指し示すオフセットを取得します。
  2. オフセットの下 4 桁を取り、残りを切り捨てます。
  3. オフセットが&H4000-の範囲外にある場合は、次の&H7FFFように変換する必要があります(offset % &H4000) + &H4000。言い換えると:
    • オフセットが&H0000~の場合は、オフセット&H3FFFに追加&H4000します。
    • オフセットが から&H4000までの場合、オフセット&H7FFFに対して何もしません。
    • オフセットが から&H8000までの場合、オフセットから&HBFFF減算&H4000します。
    • オフセットが から&HC000までの場合、オフセットから&HFFFF減算&H8000します。

私の問題は、5 桁または 6 桁の 16 進数オフセットを 2 桁オフセットに変換する方法がわからないことです。最初に余分なバイトを削り取るにはどうすればよいですか (ステップ 2)。

4

2 に答える 2

4

ModVisual Basicで綴られた「剰余」演算子を使用すると、次のようになります。

offset Mod &H10000
于 2013-04-06T21:22:07.773 に答える