【问题标题】:16-bit integer unsigned number into an ASCII string representing the number in hex将 16 位整数无符号数转换为 ASCII 字符串,以十六进制表示数字
【发布时间】:2012-11-02 01:25:16
【问题描述】:

对于 Asembly (68hc11),这是一个在纸上处理的作业。

编写一个程序,将一个 16 位整数无符号数字转换为一个 ASCII 字符串,以十六进制表示该数字。数字在寄存器 D0 中,字符串从寄存器 A0 中的地址开始放入内存中。

如何将位数分成 4 位来表示汇编中的十六进制数,是否有执行此操作的说明? 我也有一个问题来可视化程序的逻辑。将四位分开后,我如何使程序集将其转换为十六进制?当我得到十六进制字符时,我需要将它们与每个可能的 ascii 字符进行比较??

我真的不知道从哪里开始。

【问题讨论】:

    标签: assembly ascii 68hc11


    【解决方案1】:

    您可以使用按位移位和掩码来分隔每个十六进制数字的 4 位。然后可以使用查找表将它们映射到 ascii,或者使用字符表中 0-9 和 A-F 连续的事实。

    【讨论】:

    • 好的,我了解了按位移位和查找表。但没有那么多关于使用掩蔽,我以前没有使用过。你能稍微解释一下掩蔽吗?
    • 看看here 使用适当的位掩码的AND 操作。
    猜你喜欢
    • 2019-10-31
    • 2017-05-30
    • 2018-08-30
    • 2021-11-05
    • 2019-05-03
    • 2015-11-29
    相关资源
    最近更新 更多