ASCII 码和十六进制数的转换 -51单片机

来源:互联网 发布:bbc纪录片 知乎 编辑:程序博客网 时间:2024/06/04 18:57

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

转换程序如下:

D2A:
      MOV  A, 50H
      ADD  A, #2            ;加上查表时的指令地址和表格首址的差
      MOVC A, @A + PC
      MOV  R0, A
      RET
TABLE:
      DB "0123456789ABCDEF" ;用:DB '0', '1', ...,形式也可以
;完
;---------------------------------
回答者:做而论道 - 十二级   2010-1-10 08:35
提问者对于答案的评价:谢谢~~
原题网址:http://zhidao.baidu.com/question/132543701.html
;======================================================
又是一个题目:

单片机编程!!将 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
;---------------------------------
回答者: 做而论道 - 十二级   2010-1-5 11:23
答案的评价:这是最佳答案。
原题网址:http://zhidao.baidu.com/question/132090518.html
;======================================================

0 0
原创粉丝点击