单片机微型计算机原理及接口技术课后习题答案第4章.docx

单片机微型计算机原理及接口技术课后习题答案第4章.docx

ID:60721589

大小:61.33 KB

页数:5页

时间:2020-12-10

单片机微型计算机原理及接口技术课后习题答案第4章.docx_第1页
单片机微型计算机原理及接口技术课后习题答案第4章.docx_第2页
单片机微型计算机原理及接口技术课后习题答案第4章.docx_第3页
单片机微型计算机原理及接口技术课后习题答案第4章.docx_第4页
单片机微型计算机原理及接口技术课后习题答案第4章.docx_第5页
资源描述:

《单片机微型计算机原理及接口技术课后习题答案第4章.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单片机微型计算机原理及接口技术课后习题答案第4章4-1分别指出下列指令中的源操作数和目的操作数的寻址方式源操作数寻址方式目的操作数寻址方式(1)MOVP1,20H直接寻址直接寻址(2)MOVA,#30H立即数寻址寄存器寻址(3)ADDA,@R1寄存器间接寻址寄存器寻址(4)ANLA,B寄存器寻址寄存器寻址(5)MOV33H,A寄存器寻址直接寻址(6)SETBC位寻址位寻址(7)CLRC位寻址位寻址4-2试述指令MOVA,R0和MOVA,@R0的区别两条指令的目的操作数相同,两条指令的区别在于源操作数来源不同:MOVA,R0指令的源操作数就是R0寄存器的内容;而MOVA,@R0

2、指令的源操作数是位于存储器单元内,且存储器单元的地址是R0寄存器的内容。4-3试述指令MOVA,20H和MOVA,#20H的区别MOVA,20H源操作数是直接寻址,20H表示源操作数所在存储器单元的地址。MOVA,#20H源操作数是立即数寻址,#20H是立即数,也就是源操作数。4-4说明一下指令中源操作数所在的存储器类型。(1)MOVA,#30H;立即数#30H,就是源操作数,存在于指令中,所以位于程序存储器。(2)MOVA,30H;30H是源操作数所在数据存储单元的地址,所以源操作数位于数据存储器。(3)MOVCA,@A+DPTR;源操作数是变址寻址,助记符MOVC表示源操

3、作数位于程序存储器。(4)MOVXA,@DPTR;源操作数是寄存器间接寻址,助记符MOVX表示源操作数位于外部数据存储器。4-5判断下列指令书写是否正确:(1)MOVA,B;✔(2)MOVA,#3000H;✘,因为A是8位寄存器,而#3000H是16位数值,没法全部存到A里(3)INC,#20H;✘只能INCA/direct/Rn/@Ri/DPTR(4)MOV5,A;✔,注意目的操作数是直接寻址方式,不是立即寻址(5)MOV30H,40H;✔(6)MOVB,@DPTR;✘,@DPTR寻址用于MOVX指令,不能用于MOV指R(7)CJNE30H,#80H,NEXT;✘,CJNE

4、指令格式只能是CJNEA/Rn/@Ri,#data,rel或CJNEA,direct,rel(8)POPA;✘只能是直接寻址方式POPdirect,正确的是POPACC(9)PUSHACC;✔(10)SJMP2000H;✘rel的范围是-128~127(用补码表示其值)共256B范围4-6设ACC=12H,B=64H,SP=60H,30H中存放的是78H,试分析下列程序执行后,ACC、B、30H、SP中的内容分别为多少,并画出堆栈示意图。程序:PUSHACCPUSHBPUSH30HPOPACCPOPBPOP30H62H62H61HSP61HSP60H12H60HSPSP62H

5、78H62H64H61H64H61H12H60H12H60HSP62H62H62H64H61HSP61H61H12H60H12H60HSP60HACC=78H;B=64H;(30H)=12H;SP=60H4-7下面是一个压缩BCD码相加的程序,参考其设计1个2字节压缩BCD码加法程序。BCDAD:CLRCMOVA,30H;A中为加数ADDCA,40H;实现8位相加DAA;十进制调整MOV30H,A;送回原处RET答:假设2字节压缩BCD码分别存储在地址30H和40H开始的存储单元中,结果存到50H开始的存储单元中,其中高位地址存放高位数据(例BCD码分别1001H,2002H

6、,则(30H)=10H;(31H)=01H;(40H)=20H;(41H)=02H),BCDAD:MOVR0,#31HMOVR1,#41HMOVA,@R0;取第一(低)字节(BCD码)ADDA,@R1;加第一(低)字节(BCD码)DAAMOV51H,A;存第一字节和(BCD码)DECR0;R0指向第二(高)字节BCD码DECR1;R1指向第二(高)字节BCD码MOVA,@R0;取第二(高)字节BCD码ADDA,@R1;加第二(高)字节(BCD码)DAAMOV50H,A;存第一字节和(BCD码)RET4-8已知在33H-30H中放有一个32位二进制数(设为原码数),要求将其转换

7、为补码送入原地址中,其中高位地址存放高位数据答:严格说本题需要先判断32位二进制数是正数还是负数,也就是判断33H的D7位是否为1,若是1,表明此32位数是负数,就进行补码运算,若是正数,就不需要求补码运算。SUBCPL:MOVA,33HJNCACC.7,SUBRETURNMOVA,30HCPLAADDA,#01H;这里不但加1,而且还要关心加1后数据是否有进位,所以不能用INCAMOV30H,AMOVA,31HCPLAADDCA,#00H;这里加法的作用是将前数加1后的进位加进来,所以不能用INCAM

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。