我正在开发一个汇编程序(在 Easy68K 中),它提示用户输入内存地址。然后程序将这些 ASCII 字符中的每一个转换成它们的十六进制等价物。我可以很好地转换十六进制,但我遇到了问题。
如果用户输入 A234567F,则将其存储(在 A1 中)为 8 个字节,但有效的十六进制内存地址等效只有 4 个字节(2 个字,1 个长字)。我可以遍历每个字符并将其转换为等效的十六进制数字,没问题。但是我不知道如何将它们“连接”在一起,可以这么说。
我不希望“A”有一个单独的存储字节,“2”有一个单独的存储字节。我希望将“A2”存储在相同的存储字节中。
所以,在这个例子中,我希望这个例子的存储看起来像这样:
内存地址$00000000
应保存该值$A2
。
$00000001
持有$34
$00000002
持有$56
$00000003
持有$7F
然后,如果我MOVE.L
从地址开始$00000000
到 D1,那么 D1 将包含 value $A234567F
。
我怎样才能做到这一点?