我正在开发一个包含 Z80 两字节指针转换器的专业十六进制编辑器。
转换背后的数学是这样的:
- 获取您希望指向的偏移量。
- 取偏移量的最后四位数字,并切断其余数字。
- 如果偏移量超出范围
&H4000
-&H7FFF
,则必须像这样转换:(offset % &H4000) + &H4000
. 换句话说:- 如果偏移量是从
&H0000
到&H3FFF
,则添加&H4000
到偏移量。 - 如果偏移量是 from
&H4000
到&H7FFF
,不要对偏移量做任何事情。 - 如果偏移量是从
&H8000
到&HBFFF
,则从偏移量中减去&H4000
。 - 如果偏移量是从
&HC000
到&HFFFF
,则从偏移量中减去&H8000
。
- 如果偏移量是从
我的问题是我不知道如何将 5 或 6 位十六进制偏移量转换为两位数偏移量。我将如何在开始时剃掉多余的字节(第二步)?