第三章MCS51單片机的指令系统和汇编语言程序示例(第5.doc

第三章MCS51單片机的指令系统和汇编语言程序示例(第5.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章MCS51單片机的指令系统和汇编语言程序示例(第5

第三章MCS51单片机的指令系统和汇编语言程序示例(第5、6、7节) 试分析单片机执行下列指令后累加器A和PSW中各标志位的变化状况? (1)MOV A,#19H ADD A,#66H (2)MOV A,#5AH ADD A,#6BH 已知:A=85H,R0=30H,(30H)=11H, (31H)=0FFH,C=1,试计算单片机执行下列指令后累加器A和C中的值各是多少? ADDC A,R0, (2)ADDC A,31H (3) ADDC A,@R0, (4) ADDC A,#85H 已知M1和M2中分别存放两个16位无符号数的低8位,M1+1和M2+1中分别存放两个16位无符号数的高8位,计算两数之和(低8位存放在M1,高8位存放在M1+1,设两数之和不超过16位)。 试分析单片机执行下列指令后累加器A和PSW中各标志位的变化状况? CLR C MOV A,#52H SUBB A,#0B4H 已知:A=0DFH,R1=40H,R7=19H,(30H)=00H,(40H)=0FFH,试分析单片机执行下列指令后累加器A和PSW中各标志位的变化状况? (1) DEC A (2) DEC R7 (3) DEC 30H (4) DEC @R1 试写出能完成85+59的BCD加法程序,并对工作过程进行分析。 已知:两个8位无符号乘数分别放在30H和31H单元中,编程实现他们乘积的低8位存放在32H,高8位存放在33H。 已知:R0=30H,(30H)=0AAH,试分析执行下列指令后累加器A和30H单元的内容是什么? MOV A, #0FFH ANL A, R0 MOV A, #0FH ANL A, 30H MOV A, #0F0H ANL A, @R0 MOV A, #80H ANL 30H, A 设:A=0AAH和P1=0FFH,试编程把累加器A的低四位送入P1口的低四位,P1口的高四位保持不变。 10.已知外部RAM30H中有一数AAH令高四位不变,低四位取反,试编出相应的程序。 11.已知:30H单元有一正数X,试编写求(-X)补码的程序。 12.如图所示,若X,Y,Z三个输入信号放在X,Y,Z三个单元中,试编写模拟电路功能的程序,并把电路输出送到F单元。 13.已知 M1和M1+1有一个16位的二进制数,低8位存放在M1,高8位存放在M1+1,编程令其扩大一倍。 14. 已知 M1和M1+1有两个BCD数,试编程把他们紧缩成一个字节并存放在M1单元。 15.已知某单片机的监控程序初始地址为A080H,采用什么方法使开机后自动执行监控程序。 16.确定指令执行后的PC值,及该指令的机器码: KWM:AJMP addr11 其中:KWM为3100H,addr11=10110100101 17.有如下程序,请计算SJMP START 指令中rel值,并分析目标地址的转移范围。 ORG 1000H 1000H 7401H START: MOV A, #01H 1002H F8H MOV R0,A 1003H 90CF01H LOOP:MOV DPTR ,#0CF01H ……… 1017H 80 rel SJMP START ……… END 18.已知累加器A中存放带处理命令的编号0~4,程序存储器中有初始地址为PMTB三字节长转移指令表,试编写程序使单片机能根据A中的命令编号转去执行相应的命令程序。 PMTB三字节长转移指令表如下: PMTB: LJMP PM0 LJMP PM1 LJMP PM2 LJMP PM3 LJMP PM4 19.已知:外部RAM中以DATA1为初始地址的数据块以0为结束标志,试编写程序把他们转移到DATA2为初始地址的内部RAM中。 20.试编一个程序,把片内RAM中以DATA为初始地址的数据块中的十个数相加,并把和放在SUM单元中。设相加的结果不超过8为二进制数表示的范围。 21.设ACALL addr11指令在程序中的初始地址为1FFFH,堆栈指针SP为60H,试画出指令执行后的堆栈示意图,并确定被调用子程序的合法范围。 22.已知:MA=0500H,试问8031执行如下指令 MOV SP,#70H MA:LCALL 8192H 堆栈中数据如何变化?PC中内容是什么? 23.试利用子程序技术编出令20H-2AH,30H-3EH三个子域清零的程序。 24.试编程把00H位中内容和7FH位中内容相交换。 25.设M、N和W都代表位地址,试编程完成M、N中内容的异或操作。 26.已知:内部RAM的M1,M2单元中各有一个无符号8位二进制数,试编程比较它们的大小,

文档评论(0)

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

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

1亿VIP精品文档

相关文档