版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
完美.格式.编写练习题3答案简述下列基本观点:指令,指令系统,机器语言,汇编语言。答:指令是单片机CPU履行某种操作的命令。指令系统是一台计算机所能履行的指令会合。机器语言即二进制代码语言,是计算机能够直接辨别。汇编语言是用助记符、字符串和数字等来表示指令的程序语。简述AT89S51单片机的指令格式答:该单片机的指令由两部分组成,即操作码和操作数。操作码用来规定指令进行什么操作,而操作数则是指令操作的对象,操作数可能是一个详细的数据,也可能是指出到哪里取得数据的地点或符号。指令格式一般为:[标号:]操作码[操作数1][,操作数2][,操作数3][;说明]简述AT89S51的寻址方式和所能波及的寻址空间答:共有7种寻址方式,见表3-2。分别是:(1)寄存器寻址:寻址范围为通用寄存器组,共4组32个,但只能使用目前寄存器表3-2寻址方式及相应的寻址存储器范围寻址方式寻址存储器范围立刻寻址程序存储器ROM直接寻址片内RAM低128B,特殊功能寄存器寄存器寻址工作寄存器R0?R7,A,C,DPTR,AB寄存器间接寻址片内RAM低128B,片外RAM变址寻址程序存储器相对寻址程序存储器
ROM(@A+DPTR,@A+PC)ROM(相对寻址指令的下一指令PC值加—128?+127)位寻址片内RAM的20H?2FH字节地点中所有的位,可位寻址的特殊功能寄存器组,因此使用前需要经过对PSW申的RS1RS0位的状态进行设置;(2)直接寻址:寻址范围为内部RAM包括低128位用户RAM区和高128位专用寄存器;(3)寄存器间接寻址:寻址范围为内部RAM氐128位,外部RAM64KB(低256单元能够使用DPTR和R0R1作为间接寻址寄存器,而其他单元只能用DPTR[乍为间接寻址寄存器);(4)立刻寻址:直接给出立刻数,不波及寻址空间;(5)变址寻址:只对程序寄存器进行寻址;(6)相对寻址:以PC的内容为基值,加上指令机器代码中‘相对地点’形成新的PC值转移;(7)位寻址:寻址空间包括内部RAM位寻址区(20?2FH)和专用寄存器的可寻址位。要接见片外程序存储器和片外数据存储器,应采用哪些寻址方式?答:接见片外程序存储器采用变址寻址方式,片外数据存储器采用寄存器间接寻址方式,且用DPTR能够接见64KB,而用R0或许R1只可接见低256字节。5.在AT89S51片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H。请剖析下面各是什么指令,说明源操作数的寻址方式及按次序履行每条指令后的结果。答:指令指令说明源操作数寻址方式结果专业.资料.整理完美.格式.编写MOVA,40H将内部RAM中40H内容传直接寻址送到累加器A中MOVRO,A(A)—(40H)再将A中内容传送给R0寄存器寻址(R0)—(A)MOVP1,将立刻数0F0H送到P1口,立刻数寻址#0F0H即P1.4~P1.7位1,其余为0(P1)—0F0HMOV@R0,30直接寻址卜将30H中的内容,传放到以R0单元内容为地点的单元中((R0))—(30H)MOVDPTR,将立刻数3848传送给立刻数寻址#3848HDPTR数据指针MOV40H,38H(dptr)—3848H将内部RAM中38H内容传送直接寻址到40H单元中(40H)—(38H)MOVR0,30H直接寻址将30H中的内容给R0寄存器(R0)—(30H)MOVP0,R0将R0的内容传送到P0寄存器寻址(P0)—(R0)MOVA,@R0将R0内容为地点的该单寄存器间接寻址元内容传送给A(A)—((R0))MOVP2,P1将P1的内容传送给P2直接寻址(P2)—(P1)指出下列指令的源操作数的寻址方式
(A)=48H(R0)=48H(P1)=0F0H((R0))=(48H)=38H(DPTR)=3848H(40H)=40H(R0)=38H(P0)=38H(A)=40H(P2)=0F0HMOVA,#65H立刻数MOVA,@R0寻址寄MOVA,R2存器间直接寻址MOVA,65HMOVCA,@A+PC变址寻址内部RAM和特殊功能寄存器各用什么寻址方式?答:内部RAM有寄存器寻址方式、直接寻址方式和间接寻址方式;特殊功能寄存器除A外只能进行直接寻址。已知:(A)=5BH(R1)=30H,(30H)=0CEH(P1)=71H,(PSW=80H,(PC=2000H,(205CH)=46H,(SF)=30H,(B)=78H。分别求各条指令履行后的结果(要求进行二进制运算考证)及标志位Cy、P的影响。专业.资料.整理(A)=B7HP=0,C=0专业.资料.整理
完美.格式.编写(1)MOVA,@R1(A)=0CEHP=1,C不变(2)MOV40H,30H(40H)=0CEHP和C不变(3)MOVP1,R1(P1)=30HP和C不变(5)PUSHB(31H)=78H,(SP)=31HP和C不变(6)POPDPH(DPH)=0CEH,(SP)=29HP和C不变(7)XCHDA,@R1(A)=05EH,(30H)=CBHP=1,C不变(A)=29(8)ADDA,30HHADDCA,P1(10)SUBBA,P1(A)=E9HP=1,C=1(11)ANLP1,#0FH(P1)=01HP和C不变(12)CLRPSW.7C=0(14)ORLC,90HC=1,P不变A、RO和内部RAM50H对下面一段程序加上机器码和说明,并说明程序运行后寄存器51H52H单元的内容。MOV50H,#50H755050;(50H)J50HMOVA,50HE550;(A)J(50H)MOVR0,AF8;(R0)J-(A)MOVA,#30H7430;(AJ30HMOV@R0AF6;((R0))J(A)MOVA,#50H7450;(AJ50HMOV51H,AF551;(51H)J(A)MOV52H,#00H755200;(52H)J00H:运行后寄存器(A)=50H,(R0)=50H,(50H)=30H,(51)=50H,(52H)=00H.区别下列各指令中20H的含义,在每条指令后加上说明。MOVA,#20H将20H立刻数传送给AMOV45H,20H将内部RAM中20H单元的内容传送到45H中MOVC,20H.0将内部RAM中20H单元内容的第0位(最低位)传送给MOVC,20H将内部RAM中20H位地点内容传送给C(4)MOVCA,@A+PC(A)=46HP=1,C不变RLCA答10完美.格式.编写写出达成以下功能的指令(1)将立刻数30H送到R1;(2)将内RAM30中的数据送使P1.2与G相与,结果送G;立刻数45H93H进行逻辑与、或、异或操作;两立刻数求和:1C0H+45H,结果按高低8位存在30H31H中。答案:(1)M0VR1,井30H(2)MOV78H,30H(3)MOV@R0,#30H(4)MOVP1,R2(5)MOVA,60H;;MOVP2,#0;MOVR0,#60H;MOVX@R0,AMOVA,60H;;MOVDPTR,#1060;MOVX@DPTR,AMOVA,#00HMOVDPTR,#1000HMOVCA,@A+DPTRMOV30H,ASETBACC.7ANLA,#0F0HANLC,p1.2与:MOVA,#45HANLA,#59H或:MOVA,#45HORLA,#59H异或:PMOVA,#45H专业.资料.整理完美.格式.编写XRLA,#59HCLRCMOVR2,#1MOVA,#0C0HADDA,#45HMOV31H,AMOVA,R2ADDCA#0MOV30HA写出下列指令履行过程中堆栈的变化设堆栈初值为X:MOVR6,#11H(SP)=X(堆栈不变)MOVR7,#23H(SP)=X(堆栈不变)ACALL200H(SP)=X+2;(X+1)=第4条指令的首址PC低8位(X+2)=第4条指令的首址PC高8位POP50H(SP)=X-1POP51H(SP)=X-2SJMP$ORG200HRET答:履行过程中,前面两条为立刻寻址指令,堆栈不变;履行第三条ACALL指令时,首先将程序寄存器PC的目前值加2,接着先后将PC的低八位和高八位分别进栈,(SP)=(SP)+2;然后再将PC内容中的低11位用200H来替代,同时程序跳到第七条ORG200H中,接着RET表示子程序返回,将原先压入堆栈的PC值弹出,(SP)=(SP)-2;最后两条POP指令履行后将SP所指地点中的内容赋给50H,SP减1后再将SP所指地点中的内容赋给51H,SP内容再减1给SP,最后程序结束。请写出能实现下列功能的程序段:(1)一个16位数据,高低字节分别放在20H和21H中,试将该数乘以2MOVA,21HCLRCRRCAMOV21H,AMOVA,20HRRCAMOV20H,A(2)16位二进制数由高位到低位放在30H和31H单元,将其内容加1;MOVA,31HADDA,#01HMOV31H,A专业.资料.整理完美.格式.编写MOVA,30HADDCA,#00HMOV30H,A(3)将DPTF中的数据减5;CLRCMOVA,DPLSUBBA,#05HMOVDPL,AMOVA,DPHSUBBA,#00HMOVDPh,A有3个位变量X,Y,Z,请编写程序实现Y=X+YZ的逻辑关系式。XBIT30HYBIT31HZBIT32HMOVC,YANLC,Z专业.资料.整理完美.格式.编写MOV20H,CMOVC,XORLC,20HMOVY,C14.将一个按高低字节寄存在21H20H中的一个双字节乘以2后,再按高低次序将结果存放到22H、21H20H单元ORG0STAR:CLRCMOV20H,#0E2H;设低字节的数据是E2HMOV21H,#0F3H;设高字节的数据是F3HMOVA,20HMOVB,#2HMULABMOV20H,AMOV23H,BMOVA,21HMOVB,#2HMULABADDCA,23HMOV21H,AMOV22H,BSJMP$END15.试编程,将片外RAM1000H~1050H单元的内容置为55H=MOVP2,#10HMOVR0#00HMOVA,#55HMOVX@R0,AMOVR0,#50HL0:MOVX@R0,ADJNZR0,L0SJMP$END16.试编程统计数据区长度的程序,设数据区从片内RAM30H单元开始,该数据区以0结束,专业.资料.整理完美.格式.编写统计结果放入2FH中。MOVR0,#30HL0:MOVA,@R0JZL1INCR1INCR0SJMPL0L1:MOV2FH,R1专业.资料.整理完美.格式.编写17.试编写程序,将片外RAM2000H~200FH数据区中的数据由大到小排列起来。ORG0LO:MOVP2,#20HMOVR0,#00HMOVR7,#0FHCLRFOLOOP:MOVXA,@R0MOV31H,AINCROMOVXA,@R0CLRCCJNEA,31H,L1L1:JCL2DECR0MOVX@R0,AMOVA,31HINCR0MOVX@R0,ASETBF0L2:DJNZR7,LOOPJBF0,L0SJMP$END若晶振频次位6MHZ试计算下面延时子程序的延时时间;1个机器周期DELAY:MOVR7,#0F6H;1个机器周期LP:MOVR6,#0FAH;2个机器周期DJNZR6,$;2个机器周期DJNZR7,LPRET答:机器周期为2us,则有:[1+(1+2X250+2)X246+2]X2us=247482us试分别编写延时20ms和1s的程序设晶振频次为12M20ms:ORG0MOVR1,#102专业.资料.整理完美.格式.编写L1:MOVR0,#48L2:NOPNOPDJNZR0,L2NOPDJNZR1,L1NOPNOPNOPNOPNOPNOPNOPEND1s:----------------------------------------ORG0MOVR2,#50LO:MOVR1,#100L1:MOVR0,#49L2:NOPNOPDJNZR0,L2NOPDJNZR1,L1DJNZR2,L0SJMP$END20.试编写利用调用子程序的方法延时1min的程序。ORG0HMOVR2,#60A0:LCALLDLYDJNZR2,A0SJMP$DLY:MOVR2,#50L0:MOVR1,#100L1:MOVR0,#49专业.资料.整理完美.格式.编写L2:NOPNOPDJNZR0,L2NOPDJNZR1,L1DJNZR2,L0RET21.用查表程序求0?6之间的整数的立方。已知整数存在A中,查表结果存入片内中。RAM31ORG0MOVA,#DATAMOVDPTR,#TABMOVCA,@A+DPTRMOV30H,ASJMP$TAB:DB0,1,8,27,64,125,216END若立方数超过一个字节,在两个字节以内,由以下程序实现。ORG0000HMOVA,#5RLAMOVR0,AMOVDPTR,#TABMOVCA,@A+DPTRMOV31H,A;高位MOVA,R0INCAMOVCA,@A+DPTRMOV30H,A;低位SJMP$TAB:DW0,1,8,27,64,125,216END22.编写程序,查找在内部RAM的30H~50H单元中出现FFH的次数,并将查找结果存入单元。51HMOVR1,#00HMOVR0,#30HMOVR2,#21HL0:MOVA,@R0CJNEA,#0FFH,L1INCR1L1:INCR0DJNZR2,L0MOV51H,R1专业.资料.整理完美.格式.编写SJMP$END23.试用子程序求多项式:Y=(A+B)2+(B+C)2(要求:两数之和不能超过16)XEQU30H;X代表AYEQU31H;Y代表BZEQU32H;Z代表CFEQU33H;F中寄存计算结果YMOVR1,XMOVR2,YLCALLL0MOVR3,AMOVR1,YMOVR2,ZLCALLL0ADDA,R3MOVF,ASjmp$L0:MOVA,R1ADDA,R2MOVB,AMULABRETend已知(60H)=33H,(6伯)=43H,试写出程序的功能和运行结果。ORGOOOOhMOVR0,#61HMOVR1,#70HACALLCRRSWAPAMOV@R1,ADECROACALLCRRXCHDA,@R1SJMP$CRR:MOVA,@R0CLRCSUBBA,#30hCJNEA,#0AH,NEQAJMPBIGNEQ:JCCEN专业.资料.整理完美.格式.编写BIG:SUBBA,#07HCEN:RET该程序的运行结果是:(60H)=33H,(61H)=43H,(70H)=C3H25.内部RAM的30H单元开始寄存着一组无符号数,其数目寄存在21H单元中。试编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肺心病病因介绍
- 亿只肉鸭养殖基地建设项目
- 经营合同培训课件
- 耳内疼病因介绍
- 《数据的表格处理》课件
- 《海得控制公司介绍》课件
- 物流管理基础课件 情景4子情境3 电子商务物流
- 2019-2020学年湖北省武汉市东湖高新区八年级(下)期中数学试卷
- 甲状腺结核病因介绍
- 国际贸易课件-规划-新教材
- MOOC 中药炮制学-河南中医药大学 中国大学慕课答案
- 施工总平面图(标书用)
- 《医学细胞生物学》试题库完整
- 年度品质年终总结
- 2024春形势与政策课件当前国际形势与中国原则立场
- 集中用餐信息公开制度
- 生物信息学(上海海洋大学)智慧树知到期末考试答案2024年
- 用电信息采集系统
- 工程审计工作总结范本
- 2024年中国航天科工集团科技保障中心有限公司招聘笔试参考题库含答案解析
- 教科版小学科学二年级上册教案(全册)教学设计
评论
0/150
提交评论