资源描述:
《课后习题3、4word版本.ppt》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、3-1、MCS-51指令系统主要有哪几种寻址方式?试举例说明。直接寻址MOVR0,20H寄存器寻址MOVA,R0寄存器间接寻址MOVA,@R0位寻址MOVC,20H相对寻址DJNZR0,L00立即数寻址MOVR0,#00H变址寻址MOVCA,@A+DPTR3-2、设A=0FH,R0=30H,内部RAM的(30H)=0AH,(31H)=0BH,(32H)=0CH,请指出执行下列程序段之后上述各单元内容的变化。MOVA,@R0;(A)=0AHMOV@R0,32H;(30H)=0CHMOV32H,A;(32H)=0AHMOVR0,#31H;R0=31
2、HMOVA,@R0;(A)=0BH3-3请用数据传送指令来实现下列要求的数据传送R0的内容传送到R1MOVA,R0MOVR1,A内部RAM20H单元内容传送到AMOVA,20H外部RAM30H单元内容送R0MOVR0,#30HMOVXA,@R0MOVR0,A外部RAM30H单元内容送内部RAM20H单元MOVR0,#30HMOVXA,@R0MOV20H,A外部RAM1000H单元内容送内部RAM20H单元MOVDPTR,#1000HMOVXA,@DPTRMOV20H,A或:MOVP2,#10HMOVR0,#00HMOVXA,@R0MOV20H,
3、A程序存储器ROM2000H单元内容送R1MOVDPTR,#2000HMOVA,#0HMOVCA,@A+DPTRMOVR1,ARAM2000H单元内容送内部RAM20H单元MOVDPTR,#2000HMOVXA,@DPTRMOV20H,ARAM2000H单元内容送外部RAM30H单元MOVP2,#20HMOVR0,#00HMOVXA,@R0MOVP2,#00HMOVR0,#30HMOVX@R0,ARAM2000H单元内容送外部RAM1000H单元MOVDPTR,#2000HMOVXA,@DPTRMOVDPTR,#1000HMOVX@DPTR,A
4、3-4、设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,问执行一下指令后,各有关存储单元(即R0,R1,A,B,P1,40H,30H,及5AH单元)的内容如何。MOVR0,#30H;(R0)=30HMOVA,@R0;(A)=5AhMOVR1,A;(R1)=5AHMOV@R1,P1;(5AH)=7FHMOVA,P1;(A)=7FHMOV40H,#20H;(40H)=20HMOV30H,40H;(30H)=20H3-5、试编写程序将内部RAM的20H-2FH共16个连续单元清零。ORG0000HMOVR0,
5、#20H;数据单元首地址MOVR2,#10H;循环16次L00:MOV@R0,#00HINCR0DJNZR2,L00SJMP$END3-6、试编写程序求出内部RAM20H单元中的数据含“1”的个数,并将结果存入21H单元。ORG0000HMOV21H,#00HMOVA,20HMOVR0,#08H;循环次数L00:CLRCRLCA;带进位左环移JCL01;有溢出则跳转AJMPL02L01:INC21HL02:DJNZR0,L00SJMP$END3-7.试编写程序,查找在内部RAM得30-50H单元中出现FFH的次数,将查找得结果存入51H单元。O
6、RG0000HAJMPMAINMAIN:MOVR0,#30H;记录30H单元内容MOVR1,#21H;循环次数MOV51H,#00H;给51H单元赋初始值CLRC;标志位清零L00:MOVA,#01HADDA,@R0;R0的内容加1JCL01;Cy为1,则跳转计数AJMPL02L01:INC51HL02:INCR0DJNZR1,L00SJMP$END3-8、题目:试编写程序,计算∑2i(i=0…10),并将结果存放在内部RAM的30H单元。(方法一)ORG0000HMOVR0,#01HMOVR1,#0AH;循环次数MOVB,#02HL00:M
7、OVA,R0MULABMOVB,#02HADDA,30HMOV30H,AINCR0DJNZR1,L00SJMP$END3-8、题目:试编写程序,计算∑2i(i=0…10),并将结果存放在内部RAM的30H单元。(方法二)ORG0000HMOVR0,#00HMOVR1,#0BHL00:MOVA,R0RLA;左移即乘二ADDA,30HMOV30H,AINCR0DJNZR1,L00SJMP$END运行结果:(30H)=6EH3-9:已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90HMOVA,40H;A←(40H)即(
8、A)=48HMOVR0,A;R0←(A)即(R0)=48HMOVP1,#0F0H;P1←0F0H即(P1)=0F0HMOV@R0,30H;(R0)←(