标签:汇编 R0 R2 十六进制 学妹 存储器 MOV 30H
给学妹做了一个汇编语言题:
例5.设有一组数据{0x6a, 0x12, 0x4d, 0x51, 0xc9},被定义在内部数据存储器中,用C51编程,分别将其转换成ASCII并存储到外部数据存储器0050H开始的单元中。“A” 为41H
知识:0x为十六进制,数字后面加H也代表十六进制
本文代码是从《单片机原理与应用及C51程序设计(第3版)谢维成》P81代码转换程序里学过来的。
答案:
ORG 20H;程序从程序存储器的20H单元开始存放(属于内部数据存储器)
TAB: DB 6aH,12H,4dH,51H,c9H ;DB指令从20H开始建表,每个表内容占1H
MOV R2,#TAB
MOV R0,#50H
LOOP: MOV A,R2
CLR C
SUBB A,#0AH ;减去OAH,判断在0-9之间,还是在A-F之间
MOV A,R2
JC ADD30 ;如在0~9之间,直接加30H
ADD A,#07H ;如在A-F之间,先加07H, 再加30H
MOVX @R0,R2;将片内数据送到片外50H单元中
INC R2
INC R0
SJMP $ ;停止循环
ADD30: ADD A,#30H
MOV R2,A
RET
标签:汇编,R0,R2,十六进制,学妹,存储器,MOV,30H 来源: https://www.cnblogs.com/guoxinyu/p/13061137.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。