收藏 分销(赏)

课后习题3、4word版本.ppt

上传人:w****g 文档编号:9301509 上传时间:2025-03-20 格式:PPT 页数:27 大小:177KB 下载积分:10 金币
下载 相关 举报
课后习题3、4word版本.ppt_第1页
第1页 / 共27页
课后习题3、4word版本.ppt_第2页
第2页 / 共27页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,3-1、MCS-51指令系统主要有哪几种寻址方式?试举例说明。,直接寻址MOV R0,20H,寄存器寻址MOV A,R0,寄存器间接寻址MOV A,R0,位寻址MOV C,20H,相对寻址DJNZ R0,L00,立即数寻址MOV R0,#00H,变址寻址MOVC A,A+DPTR,3-2、设A=0FH,R0=30H,内部RAM的(30H)0AH,(31H)=0BH,(32H)=0CH,请指出执行下列程序段之后上述各单元内容的变化。,MOV A,R0 ;(A)=0AH,MOV R0,32H ;(30H)=0CH,MOV 32H,A ;(32H)=0AH,MOV R0,#31H ;R0=31H,MOV A,R0 ;(A)=0BH,3-3请用数据传送指令来实现下列要求的数据传送,R0的内容传送到R1,MOV A,R0,MOV R1,A,内部RAM20H单元内容传送到A,MOV A,20H,外部RAM30H单元内容送R0,MOV R0,#30H,MOVX A,R0,MOV R0,A,外部RAM30H单元内容送内部RAM20H单元,MOV R0,#30H,MOVX A,R0,MOV 20H,A,外部RAM1000H单元内容送内部RAM20H单元,MOV DPTR,#1000H,MOVX A,DPTR,MOV 20H,A,或:MOV P2,#10H,MOV R0,#00H,MOVX A,R0,MOV 20H,A,程序存储器ROM2000H单元内容送R1,MOV DPTR,#2000H,MOV A,#0H,MOVC A,A+DPTR,MOV R1,A,RAM2000H单元内容送内部RAM20H单元,MOV DPTR,#2000H,MOVX A,DPTR,MOV 20H,A,RAM2000H单元内容送外部RAM30H单元,MOV P2,#20H,MOV R0,#00H,MOVX A,R0,MOV P2,#00H,MOV R0,#30H,MOVX R0,A,RAM2000H单元内容送外部RAM1000H单元,MOV DPTR,#2000H,MOVX A,DPTR,MOV DPTR,#1000H,MOVX DPTR,A,3-4、设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,问执行一下指令后,各有关存储单元(即R0,R1,A,B,P1,40H,30H,及5AH单元)的内容如何。,MOV R0,#30H;(R0)=30H,MOV A,R0 ;(A)=5Ah,MOV R1,A ;(R1)=5AH,MOV R1,P1 ;(5AH)=7FH,MOV A,P1 ;(A)=7FH,MOV 40H,#20H;(40H)=20H,MOV 30H,40H;(30H)=20H,3-5、试编写程序将内部RAM的20H-2FH共16个连续单元清零。,ORG 0000H,MOV R0,#20H;数据单元首地址,MOV R2,#10H;循环16次,L00:MOV R0,#00H,INC R0,DJNZ R2,L00,SJMP$,END,3-6、试编写程序求出内部RAM20H单元中的数据含“1”的个数,并将结果存入21H单元。,ORG 0000H,MOV 21H,#00H,MOV A,20H,MOV R0,#08H;循环次数,L00:CLR C,RLC A;带进位左环移,JC L01;有溢出则跳转,AJMP L02,L01:INC 21H,L02:DJNZ R0,L00,SJMP$,END,3-7.试编写程序,查找在内部RAM得3050H单元中出现FFH的次数,将查找得结果存入51H单元。,ORG 0000H,AJMP MAIN,MAIN:MOV R0,#30H;记录30H单元内容,MOV R1,#21H;循环次数,MOV 51H,#00H ;给51H单元赋初始值,CLR C;标志位清零,L00:MOV A,#01H,ADD A,R0;R0的内容加1,JC L01 ;Cy为1,则跳转计数,AJMP L02,L01:INC 51H,L02:INC R0,DJNZ R1,L00,SJMP$,END,3-8、题目:试编写程序,计算2i(i=010),并将结果存放在内部RAM的30H单元。,(方法一),ORG 0000H,MOV R0,#01H,MOV R1,#0AH;循环次数,MOV B,#02H,L00:MOV A,R0,MUL AB,MOV B,#02H,ADD A,30H,MOV 30H,A,INC R0,DJNZ R1,L00,SJMP$,END,3-8、题目:试编写程序,计算2i(i=010),并将结果存放在内部RAM的30H单元。,(方法二),ORG 0000H,MOV R0,#00H,MOV R1,#0BH,L00:MOV A,R0,RL A ;左移即乘二,ADD A,30H,MOV 30H,A,INC R0,DJNZ R1,L00,SJMP$,END,运行结果:(30H)=6EH,3-9:已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H,MOV A,40H ;A(40H)即(A)=48H,MOV R0,A ;R0(A)即(R0)=48H,MOV P1,#0F0H ;P10F0H即(P1)=0F0H,MOV R0,30H ;(R0)(30H)即(48H)=38H,MOV DPTR,#3848H;DPTR=3848H,MOV 40H,38H ;40H(38H)即(40H)=40H,MOV R0,30H ;R0(30H)即(R0)=38H,MOV P0,R0 ;P0(R0)即(P0)=38H,MOV 18H,#30H ;18H30H即(18H)=30H,MOV A,R0 ;A(RO)即(A)=40H,MOV P2,P1 ;P2(P1)即(P2)=0F0H,3-10、设R0内容为32H,A的内容为48H,片内RAM的32H单元内容为80H,40H单元内容为08H。请指出在执行下列程序段后上述各单元内容的变化。MOV A,R0MOV R0,40HMOV 40H,AMOV R0,#35H,初始:(R0)=32H,(A)=48H,(32H)=80H,(40H)=08H,执行 MOV A,R0,即将32H单元内容送入A,(A)=80H,执行 MOV R0,40H,即将40H单元内容送入32H,(32H)=08H,执行 MOV 40H,A,即将A中内容送入40H单元,(40H)=80H,执行MOV R0,#35H,即将立即数35H送入R0,(R0)=35H,3-11,已知(A)=83H,(R0)=17H,(17H)=34H.请写出执行完下列程序后A的内容。ANL A,#17H ORL 17H,A XRL A,R0 CPL A,(A)=10000011,17H=00010111B,执行ANL A,#17H后,(A)=00000011B,执行ORL 17H,A 后,(17H)=00110111B,执行XRL A,R0后,(A)=00110100B,执行CPL A 后,(A)=11001011B=0CBH,3-12,编程将内部RAM 20H-2FH中的数据和RAM30H-3FH中的数据对换。,ORG 0000H,MOV R0,#20H ;数据首地址,MOV R1,#30H ;数据首地址,MOV R2,#10H ;循环次数,L01:MOV A,R0,MOV B,R1,MOV R0,B,MOV R1,A,INC R0,INC R1,DJNZ R2,L01,SJMP$,END,3-13、已知(A)=34H,(30H)=4FH,求执行ADD A 30H后,A=?指出PSW中相应标志位的情况。,执行ADD A 30H后,(A)=83H;,此过程有半进位,故PSW.6(AC)位为1;,83H=10000011B,奇数个1,因此奇偶校验位P置1;,D6,D7=01=1,溢出标志为OV置1;,其余各位保持初始值0。,所以PSW各位状态如下:(PSW)=45H,CY,AC,F0,RS1,RS0,OV,-,P,0,1,0,0,0,1,0,1,3-14、已知SP=25H,(),(),问此执行指令后,?,(),()(高),(高),,(),()(低),(低),,(),,3-15、若SP=25H,PC=2345H,标号LABEL所在得地址为3456H。问执行长调用指令”LCALL LABEL”后,堆栈指针和堆栈内容发生什么变化?PC的值等于什么?,初始状态 PC=2345H,执行LACALL后 PC+3,PC=2348H,初始SP=25H,SP+1SP=26H,26H中压入PC(L),得(26H)=48H,SP+1SP=27H,27H中压入PC(H),得(27H)=23H,LABEL=3456H,PC=3456H,4-1、从内部RAM的30H单元开始存放一组用补码表示的带符号数,其树目已存放在20H单元。编写程序,统计出其中正数、0和负数的数目,将结果分别存入21H、22H、23H单元。,ORG 0000H,MOV 21H,00H ;存放正数个数,MOV 22H,#00H ;存放0的个数,MOV 23H,#00H ;存放负数个数,MOV R0,20H ;20H单元中存放的数目放在R0,MOV R1,#30H,L01:MOV A,R1,JB ACC.7,NEG ;为负数跳转,CJNE A,#00,POS ;为正数跳转,INC 22H ;为0,22H单元自加1,AJMP Lp,NEG:INC 23H,AJMP Lp,POS:INC 21H,Lp:INC R1,DJNZ R0,L01,SJMP$,END,4-2、内部RAM中有一数据块,存放在20H-2FH单元中。要求对这些数据进行奇偶校验,凡是满足奇偶校验的数据(一的个数为偶数)都要存放到外部RAM的8000H开始的数据区中。试编写相关程序。,ORG 0000H,MOV R0,#20H ;内部RAM首地址,MOV DPTR,#8000H;外部RAM首地址,MOV R2,#10H ;循环次数,L01:MOV A,R0,JNB P,Lp1 ;PSW中P位为0则跳转,AJMP Lp2,Lp1:MOVX DPTR,A,INC DPTR,Lp2:INC R0,DJNZ R2,L01,SJMP$,END,4-3、编写程序,把外部RAM的1000H10FFH区域内的数据逐个搬到从2000H单元开始的区域。,ORG 0000H,MOV R0,#00H,MOV R3,#00H;循环次数,L01:MOV P2,#10H,MOVX A,R0,MOV P2,#20H,MOVX R0,A,INC R0,DJNZ R3,L01,SJMP$,END,4-4、从内部RAM30H单元开始存放着一组无符号数,其树目已存放在21H单元中。试编写程序,求出这组无符号数中的最小的数,并将其存入20H。,ORG 0000H,MOV R0,#30H;首地址,MOV R2,21H;数目,MOV 20H,#0FFH,L03:MOV A,R0,CJNE A,20H,LP,LP:JC L00;Cy=1,A中值小,跳转更新20H中的数,AJMP L01,L00:MOV 20H,R0,L01:INC R0,DJNZ R2,L03,SJMP$,END,4-5、试设计一段程序,实现如下功能:把片内RAM 30H-3FH单元中的16个数存放顺序颠倒过来。,ORG 0000H,MOV R0,#30H,MOV R1,#3FH,MOV R2,#08H,L00:MOV A,R0,MOV B,R1,MOV R0,B,MOV R1,A,INC R0,DEC R1,DJNZ R2,L00,SJMP$,END,4-6,设计一段程序,实现如下功能:找出从片内RAM的30H开始的16个单元中,存有最小数值的所在单元并将该单元的内容改成0FFH。,(方法一),ORG 0000H,MOV R0,#30H ;数据单元首地址,MOV R7,#10H ;循环次数,MOV 40H,#0FFH,L00:MOV A,R0,CJNE A,40H,CHECK,CHECK:JC L01;Cy=1,A中值小,跳转,SJMP L02,L01:MOV 40H,A,MOV 41H,R0 ;最小值地址存放在41H,L02:INC R0,DJNZ R7,L00,MOV R1,41H,MOV R1,#0FFH ;最小值单元置1,SJMP$,END,4-6,设计一段程序,实现如下功能:找出从片内RAM的30H开始的16个单元中,存有最小数值的所在单元并将该单元的内容改成0FFH。,(方法二:),ORG 0000H,MOV R1,#30H ;数据单元首地址,MOV R3,#0FH ;循环次数,MOV A,R1,L01:INC R1,CLR C,SUBB A,R1,JNC L02 ;A(R1),无借位,Cy=0,则跳转更新A中数值,ADD A,R1;恢复A中数值,SJMP L03,L02:MOV A,R1,MOV B,R1,L03:DJNZ R3,L01,MOV R0,B,MOV R0,#0FFH,SJMP$,END,4-7、编写程序,完成逻辑运算P1.7=P1.6(P1.5P1.4),ORG 0000H,MOV P1,#0FFH;锁存器置1,MOV C,P1.5,ANL C,/P1.4;C=P1.5(/P1.4),MOV 00H,C,MOV C,P1.4,ANL C,/P1.5;C=P1.4(/P1.5),ORL C,00H ;C=P1.4P1.5,ANL C,P1.6,MOV P1.7,C,SJMP$,END,4-8、设计一段程序,实现如下功能:统计出从片内的30H开始的16个单元中,有多少个数大于40,小于80,并把结果存入40H单元中。,ORG 0000H,MOV R0,#30H,MOV R2,#10H,MOV 40H,#00H,L00:CJNE R0,#80,L01,L01:JC CHECK ;小于80则跳转,进一步比较,AJMP L03 ;大于等于80均跳转,结束比较,CHECK:CJNE R0,#40,L02,AJMP L03 ;等于40跳转结束比较,L02:JC L03 ;小于40跳转结束比较,INC 40H,L03:INC R0,DJNZ R2,L00,SJMP$,END,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服