我正在研究一個包含Z80雙字節指針轉換器的專業十六進制編輯器。如何在VB.NET中將十六進制偏移量轉換爲雙字節指針?
轉換背後的數學是像這樣:
- 採取偏移要指向。
- 取出偏移量的最後四位數字,然後切除其餘部分。
- 如果偏移超出範圍
&H4000
-&H7FFF
,它必須如此轉換:(offset % &H4000) + &H4000
。換句話說:- 如果偏移量從
&H0000
到&H3FFF
,請將&H4000
添加到偏移量。 - 如果偏移量從
&H4000
到&H7FFF
,不要對偏移量做任何事情。 - 如果偏移量從
&H8000
到&HBFFF
,則從偏移量中減去&H4000
。 - 如果偏移量從
&HC000
到&HFFFF
,則從偏移量中減去&H8000
。
- 如果偏移量從
我的問題是我不知道我怎麼可以把一個5或6位十六進制偏移量兩位數的偏移。我如何在開始時削減多餘的字節(第二步)?
其實國防部的鏈接MSDN定義說,奇怪的是,這是其餘的,但後來不討論負數。好點提出它 - 雖然你的答案可能更適合作爲評論。 – 2013-04-06 21:55:44