assembly 使用keil uvicion转换0到9之间的二进制值[已关闭]

mlmc2os5  于 2023-01-13  发布在  其他
关注(0)|答案(1)|浏览(127)

15小时前关门了。
Improve this question
嗨,我需要这样做,使用凯尔uvison,但这不能从互联网上的编码。问题是:应设计一个程序,将R4中0到9之间的二进制值转换为ASCII表示。图1给出了R4中初始输入和输出的示例。如果R4的初始内容不在0到9之间,则程序将返回0x0000FFFF。注意,数字0的ASCII值为0011 0000。编号1是00110001。请参考ASCII表。
此问题的汇编代码

wztqucjr

wztqucjr1#

这其实很简单。
请注意,数字0的ASCII值为0011 0000,数字1的ASCII值为0011 0001。请参阅ASCII表。
如果给定的数字介于0和9之间,可以将0x30(二进制,0011 0000)加到该数字上,然后将加法结果发送到打印文本的硬件例程;如果该数字不在0和9之间,则不打印任何内容,并返回0xFFFF

add r4,r4,0x30

相关问题