Assembly 程序集-将用户输入的字符串转换为十六进制等效字符串

Assembly 程序集-将用户输入的字符串转换为十六进制等效字符串,assembly,hex,ascii,68000,easy68k,Assembly,Hex,Ascii,68000,Easy68k,我正在用汇编语言(Easy68K)编写一个程序,提示用户输入内存地址。然后,程序将这些ASCII字符中的每一个转换为它们的十六进制等价物。我可以很好地转换十六进制,但我遇到了一个问题 如果用户输入A234567F,它将以8字节的形式存储(在A1中),但有效的内存地址十六进制等效值仅为4字节(2个字,1个长字)。我可以遍历每个字符,并将其转换为等价的十六进制数字,没有问题。但可以说,我不知道如何将它们“连接”在一起 我不希望“a”和“2”分别有一个单独的存储字节和一个单独的存储字节。我希望“A2”

我正在用汇编语言(Easy68K)编写一个程序,提示用户输入内存地址。然后,程序将这些ASCII字符中的每一个转换为它们的十六进制等价物。我可以很好地转换十六进制,但我遇到了一个问题

如果用户输入A234567F,它将以8字节的形式存储(在A1中),但有效的内存地址十六进制等效值仅为4字节(2个字,1个长字)。我可以遍历每个字符,并将其转换为等价的十六进制数字,没有问题。但可以说,我不知道如何将它们“连接”在一起

我不希望“a”和“2”分别有一个单独的存储字节和一个单独的存储字节。我希望“A2”存储在相同的存储字节中

因此,在本例中,我希望存储器在本例中的外观如下:

内存地址
$00000000
应包含值
$A2

$00000001
持有
$34

$00000002
持有
$56

$00000003
持有
$7F

然后,如果我将.L从address
$00000000
开始移动到D1,那么D1将包含值
$A234567F


如何执行此操作?

移位4位,然后添加下一个十六进制数字。听起来用户输入已经是十六进制(二进制数的序列化格式),您希望将其反序列化为寄存器中的单个二进制整数。不要转换成十六进制。@Jester谢谢你!当涉及到位移位时,我自然看不到答案,但这正是我所寻找的。@PeterCordes我不太确定你的意思,但从我的角度来看,用户输入是十六进制数字的ASCII表示,我想转换为数字表示。然后我想把这个表示存储在寄存器中,作为十六进制。