单片机汇编程序设计基础.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机汇编程序设计基础习题答案 一、 填空题 1、 给程序做注释使用;(或半角分) 号来标识。 2、 注释可以写在 ?行指令上 ,也可以写在 ?个指令 之后。 3、 在设计汇编语言源程序时,可以使用顺序结构的程序,也可以使用某些指令构成分 玄 结构、循环 结构和子程序调用 结构的程序。 4、 寻址方式是指寻找操作数的方式 一 5、 机器语言是 机器码的集合 ° 6、 MCS-51单片机的指令的一?般格式中,包括 标号 、助记符 、 目的操作数 、 源操作数 和注释等部分。 7、 MCS-51汇编语言源程序的扩展名为 ? “sm , 二、 程序设计题 1、求50H与40H单元内容Z和,结果存入20H,进位位存入21H。 解答: MOV Ao 50 H ADD A, 40H MOV 20H. A CLR A ADDC A. #00H MOV 21H, A SJMP $ 2、编程实现双字节加法运算(Rl) (R0) + (R7) (R6)-(31H) (3011)。 解答: MOV A. RO ADD A, R6 MOV 30H. A MOV A, Rl ADDC A. R7 MOV 31H, A SJMP $ 3、试编写程序,求出内部RAM20H单元中的数据含1”的个数,并将结果存入21H单元。 解答 MOV 21H, #00H MOV A, 20H CLR C MOV R7,#08H LOOP: RLC A JNC NEXT INC 21H NEXT: D.JNZ R7, LOOP SJMP $ 4、试编写程序,将内部RAM的20H?2FH共16个连续旳元清零。 解答: MOV RO,#20H MOV R7,#1OH CLR A NEXT: MOV @RO,A INC RO DJNZ R7, NEXT SJMP $ 5、编程将片内RAM3OH单元开始的1 5 B的数据传送到片外RAM3000H开始的单元中去。 解答: STRAT: MOV RO, #30H MOV R7,#OFH MOV DPTR, #300011 MOV A, @R0 MOVX @DPTR, A INC R0 INC DPTR DJNZ R7, LOOP RET LOOP: 6、片内RAM30H开始的单元中有10B的二进制数,请编程求它们之和(和V256 )? 解答: ADDIO: MOV R0, 30H MOV R7,#9 MOV A, @R0 LOOP: INC R0 ADD A, @R0 DJNZ R7, LOOP MOV 30H, A RET 7、试编写程序,查找在内部R/W的30『5011单元中出现FFII的次数,并将查找的结果存入 51H单元。 解答: MOV 51H, #00H MOV Rl,#30H MOV R7,#21H LOOP:CJNE @R1,#OFFH,NEXT INC 51H NEXT:INC R1 DJNZ R7, LOOP SJMP $ 8、设单片机的fosc=6MHz,编写实现100ms延时的子程序。 解答: DELAY: MOV R7, #64H A0: MOV R6, #OFAH DJNZ R6,$ DJNZ R7, A0 RET 9、 从内部RAM的3011单元开始存放一纽.用补码衣示的带符号数,其数目以存放在2011单元。 编写程序统计出其中的止数、0和负数的数目,并奖结果分别存入21H、22H、23H单元。 解答: MOV RO,#30H MOV 21H, #00H MOV 22H,#00H MOV 23H, #00H MOV A, @R0 JZ NEXT1 JB ACC.7,NEXT2 INC 23H SJMP NEXT3 NEXT2: INC 2111 SJMP NEXT3 NEXT1:INC 22H NEXT3:INC RO DJNZ 2011, LOOP SJMP $ 10、 在程序存储器中从t汕开始的16个单元连续存放0-15的平方值,设计程序,任意给 一个数x(0WxW15),查表求出z的平方值,并把结果存入y单元。 解答: 设x唯元为30H, Y也元为31H0文件名:a. asm ,查表求x的平方值,X的值在0~15之间。 ORG 3000H MOV DPTR, #tah MOV A, X MOVC A, ?A+DPTR MOV y, A SJMP $ tab: DB 0011, 01H, 0411, 0911, 1011, 19H, 2411, 31 II DB 40H, 51H, 64H, 79H, 90H, 0A9H, 0C4H, 0E1H X DATA 30H Y DATA 3111 END 11、 从XX单元开始,连续存放10个无符号数,设计程序,从中找出垠大值送入yy单元。 解答: 设XX单

文档评论(0)

ggkkppp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档