当前位置:首页 > 单片机 > 单片机
[导读] 题目:用查表法将一位十六进制数转换为ASCII码,入口参数放在内部RAM 50H中,出口参数在R0中。要求:用汇编语言完成编程(用DB "0","1"......)。;---------------------------------最佳答案:转换程

题目:用查表法将一位十六进制数转换为ASCII码,入口参数放在内部RAM 50H中,出口参数在R0中。
要求:用汇编语言完成编程(用DB "0","1"......)。
;---------------------------------
最佳答案:

转换程序如下:

D2A:
MOV A, 50H
ADD A, #2 ;加上查表时的指令地址和表格首址的差
MOVC A, @A + PC
MOV R0, A
RET
TABLE:
DB "0123456789ABCDEF" ;用:DB '0', '1', ...,形式也可以
;完
;---------------------------------

原题网址:

单片机编程!!将 ASCII 码转化为十六进制数,设 ASCII 码存放在累加器中,转化结果存放到B中。
提示:由 ASCII 码表可知,30H-39H为0-9的 ASCII 码,41H-46H为A-F的 ASCII 码。
将 ASCII 码减 30H(0-9)或 37H(A-F)就可获得对应的十六进制数。
我个人觉得很有难度的作业!望有学之士能 帮我做出!!万分感谢!!
悬赏分:20 - 解决时间:2010-1-6 12:28
;--------------------------------
正确答案:

;程序如下:
MOV B, A
CLR C
SUBB A, #3AH
JC DDD
SUB A, #07H
DDD: ADD A, #0AH
XCH A, B
RET
;---------------------------------


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭