《单片机原理与应用》-3_第1页
《单片机原理与应用》-3_第2页
《单片机原理与应用》-3_第3页
《单片机原理与应用》-3_第4页
《单片机原理与应用》-3_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.1MCS一51单片机指令系统简介3.1.1MCS一51单片机寻址方式在高级语言编程时,程序设计人员不必关心程序和数据的内存空间安排问题。但在汇编语言程序设计时,要针对系统的硬件环境编程,数据的存放、传送、运算都要通过指令来完成,编程者必须自始至终都十分清楚操作数的位置,以便将它们传送至适当的空间去操作。寻址方式:就是如何找到存放操作数的地址,把操作数提取出来的方法。MCS-51指令的系统的指令数的寻址方式主要有七种:寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、变址寻址、相对寻址、位寻址。下一页返回3.1MCS一51单片机指令系统简介[立即寻址]:立即寻址是将操作数直接存放在指令中,作为指令的一部分存放在代码段里。立即寻址中的数,称为立即数。例如指令:MOVA,#30H【直接寻址】:直接寻址是将操作数的地址直接存放在指令中。这种寻址方式的操作数只能存放在内部数据存储器和特殊功能寄存器中。例如指令:MOVA_30H【寄存器寻址】:寄存器寻址是指操作数存放在以上所说的寄存器中,并且寻址时的寄存器已隐含在指令的操作码中。例如指令:MOVABO【寄存器间接寻址】:寄存器间接寻址是指操作数存放在以寄存器内容为地址的单元中。上一页下一页返回3.1MCS一51单片机指令系统简介

例如指令:MOVA@BO[变址寻址]:变址寻址是指操作数存放在变址寄存器和基址寄存器的内容相加形成的数为地址的单元中。其中累加器A作变址寄存器、程序计数器PC或寄存器DPTR作基址寄存器例如指令:MOVCA.@A+DPTB【相对寻址】:相对寻址是将程序计数器PC的当前值与指令第二字节给出的偏移量相加,从而形成转移的目标地址。例如指令:sJMP2000H【位寻址】:位寻址是指对片内RAM中20H一2FH中的128个位地址,以及SFR中的11个可进行位寻址的寄存器中的位地址寻址例如指令:MOVC,20H上一页下一页返回3.1MCS一51单片机指令系统简介3.1.2MCS一51指令中常用的符号Rn:表示当前工作寄存器RO一R7中的一个。@Ri:表示寄存器间接寻址,常常作间接寻址的地址指针。其中Ri代表RZ和R1寄存器中的一个。Direct:表示内部数据存储器单元的地址及特殊功能寄存器SFR的地址,对SFR而言,既可使用它的物理地址,也可直接使用它的名字。#data:表示8位立即数,即8位常数,取值范围为##00H一##OFFH#datal6:表示16位立即数,即16位常数,取值范围为#0000H一#OFFFFH。上一页下一页返回3.1MCS一51单片机指令系统简介addrll:表示11位地址rel:用补码形式表示的地址偏移量,取值范围为一128一+127bit:表示内部RAM和SFR中的具有位寻址功能的位地址。SFR中的位地址可以直接出现在指令中,为了阅读方便,往往也可用SFR的名字和所在的数位表示。如:表示PSI}%中奇偶校验位,可写成DOH,也可写成PSI}%.0的形式出现在指令中。@:表示间接寻址寄存器或基址寄存器的前缀符号。¥:表示当前指今的地外。上一页返回3.2MCS一51单片机指令系统

在学习单片机指令系统过程中,为了便于熟记这些单片机指令,常将指令按功能进行分类。MCS一51汇编语言有42种操作码助记符,33种操作功能,111种指令,按功能可分为:数据传送类、算术运算类、逻辑操作类、控制转移类、位操作类五大类。大部分数据传送类、算术运算类和逻辑操作类指令都跟累加器A、直接地址单元,direct、通用寄存器Rn、间接寻址单元@Ri、立即数此五类单元和数据相关,找出它们之间的规律,对记忆和应用指令大有帮助。下一页返回3.2MCS一51单片机指令系统3.2.1数据传送类指令(共29条)数据传送类指令一般的操作是把源操作数传送到目的操作数,指令执行后一般是源操作数不改变,目的操作数修改为源操作数。可以在累加器A、工作奇存器RO一R7、内部数据存储器、外部数据存储器和程序存储器之间进行。这类榨令有:MOV,MOVX,MOVC,XCH,XCHD,SWAP,POP,PUSH共8种。一、片内数据存储器间的数据传送指令上一页下一页返回3.2MCS一51单片机指令系统①MOVA,#data(A)data②MOVA,direct(A)(direct)③MOVA,bm(A)(Rn)④MOVA,@Ri(A)(Ri)以上4条指令的功能是将源操作内容送入累加器A,源操作内容不变。(2)以直接地址为目的操作数的指令:上一页下一页返回3.2MCS一51单片机指令系统①MOVdirect,#data;(direct)←data②MOVdirect1,direct2;(direct1)←(direct2)③MOVdirect,A;(direct)←(A)④MOVdirect,Rn;(direct)←(Rn)⑤MOVdirect,@Ri;(direct)←((Ri))(3)以寄存器Rn为目的操作数的指令①MOVRn,#data;(Rn)←data②MOVRn,direct;(Rn)←(direct)上一页下一页返回3.2MCS一51单片机指令系统③MOVRn,A;(Rn)←(A)这组指令把源操作数中指定的内容送到所选定的工作寄存器R0~R7中。(4)以间接地址为目的操作数的指令:①MOV@Ri,#data;((Ri))←data②MOV@Ri,direct2;((Ri))←(direct2)③MOV@Ri,A;((Ri))←(A)上一页下一页返回3.2MCS一51单片机指令系统这组指令的功能是把源操作数中指定的内容送到以Ri中的内容为地址的片内数据存储器RAM中。(5)以数据指针DPTR寄存器为目的操作数的指令【例3-1】写出下列程序运行后的结果。MOV40H,#30H;(40H)=30HMOVR0,#40H;(R0)=40HMOVA,@R0;(A)=(40H)=30H上一页下一页返回3.2MCS一51单片机指令系统MOV60H,R1;(60H)=30HMOVDPTR,#12DEH;(DPTR)=12DEH程序运行结果为:(40H)=30H,R0=40H,A=30H,R1=30H,(60H)=30H,DPTR=12DEH二、累加器A与片外数据存储器间的数据传送指令①MOVXA,@Ri;(A)←((Ri))②MOVXA,@DPTR;(A)←((DPTR))③MOVX@Ri,A;((Ri))←(A)④MOVX@DPTR,A;(DPTR)←(A)上一页下一页返回3.2MCS一51单片机指令系统以上4条指令用于访问外部数据存储器。要对片外数据存储器中的数据进行处理,必须通过累加器A送入片内,且只有这4条指令与外部RAM存储单元进行数据交换。使用R0或R1间接寻址,寻址范围为片外低256个字节(00H~FFH),若使用数据指针DPTR间接寻址,其寻址范围为64KB(0000H~FFFFH)。【例3-2】将数据#4DH送入片外2000H单元:MOVA,#4DHMOVDPTR,#2000HMOVX@DPTR,A【例3-3】将片外RAM3000H单元的数读出,写入片外RAM4000H单元中上一页下一页返回3.2MCS一51单片机指令系统MOVDPTR,#3000H;片外RAM读单元地址送入DPTRMOVXA,@DPTR;片外3000H单元的内容读入AMOVDPTR,#4000H;片外RAM写单元的地址送入DPTRMOVX@DPTR,A;A的内容写入片外4000H单元三、累加器A与程序存储器间的数据传送指令①MOVCA,@A+DPTR;(A)←((A+DPTR))②MOVCA,@A+PC;(A)←((A+PC))【例3-4】设程序存储器中存放了一张0~9的平方表,试编制根据累加器A中的数(0~9)查其平方值的程序。上一页下一页返回3.2MCS一51单片机指令系统1000H:MOVA,#03H;(A)=03HMOVDPTR,#1100H;(DPTR)=1100HMOVCA,@A+DPTR;(A)=((A+DPTR))=(1103H)=09……1100H:DB00,01,04,09,16,25,36,49,64,81四、堆栈操作指令①PUSHdirect;(SP)←(SP)+1,((SP))←(direct)上一页下一页返回3.2MCS一51单片机指令系统②POPdirect;(direct)←((SP)),(SP)←(SP)-1【例3-5】设(20H)=05H,(30H)=1AH,SP=07H,写出程序执行结果,并说明这段程序完成的功能。PUSH20H;(SP)=08H,(08H)=05H,20H单元内容入栈PUSH30H;(SP)=09H,(09H)=1AH,30H单元内容入栈POP20H;(20H)=(09H)=1AH,(SP)=08H,将栈顶内容弹出上一页下一页返回3.2MCS一51单片机指令系统POP30H;(30H)=(08H)=05H,(SP)=07H,将下一个内容弹出程序执行后结果为:(20H)=1AH,(30H)=05H,(SP)=07H此程序段的功能是将20H和30H单元的内容进行交换五、字节交换指令①XCHA,Rn;寄存器寻址,(A)←→(Rn)②XCHA,direct;直接寻址,(A)←→(direct)③XCHA,@Ri;寄存器间接寻址,(A)←→((Ri))上一页下一页返回3.2MCS一51单片机指令系统④XCHDA,@Ri;寄存器间接寻址(A)0~3←→((Ri))0~3⑤SWAPA;寄存器寻址,(A)0~3←→(A)4~7【例3-6】(A)=80H,(R7)=08HXCHA,R7;(A)=08H,(R7)=80H(A)=80H,(70H)=88HXCHA,70H;(A)=88H,(70H)=80H上一页下一页返回3.2MCS一51单片机指令系统(A)=80H,(70H)=60HMOVR0,#70H,XCHA,@R0;(A)=60H,(70H)=80H,(R0)=70H(A)=12H,(R1)=30H,(30H)=34HXCHDA,@R1;A=14H,(30H)=32H(A)=12H,SWAPA(A)=21H上一页下一页返回3.2MCS一51单片机指令系统3.2.2算术运算类指令(共24条)MCS-51算术运算指令+,-,,/,增量(加1),减量(减1)指令,执行结果将使进位(CY)、辅助进位(AC),溢出(OV)标志置位或复位。但加1和减1指令不影响以上标志。其操作助记符有:ADD,ADDC,SUBB,DA,INC,DEC,MUL,DIV共8种。一、不带进位的加法指令①ADDA,Rn;(A)+(Rn)→A,n=0~7②ADDA,direct;(A)+(direct)→A上一页下一页返回3.2MCS一51单片机指令系统④ADDA,#data;(A)+data→A【例3-7】(A)=53H,(R0)=0FCH,ADDA,R001010011+11111100(A)=4FH,CY=1101001111AC=0,OV=0,P=1(A)=85H,(R0)=30H,(30H)=0AFH,ADDA,@R0上一页下一页返回3.2MCS一51单片机指令系统

10000101+10101111(A)=34H,CY=1100110100AC=1,OV=1,P=1二、带进位的加法指令①ADDCA,Rn;(A)+(Rn)+CY→A②ADDCA,direct;(A)+(direct)+CY→A③ADDCA,@Ri;(A)+((Ri))+CY→A④ADDCA,#data;(A)+data+CY→A上一页下一页返回3.2MCS一51单片机指令系统④ADDCA,#data;(A)+data+CY→A【例3-8】(A)=85H,(20H)=0FFH,CY=1,ADDCA,20H1000010111111111+1110000101(A)=85H,CY=1AC=1,OV=0,P=1三、带进位减法指令①SUBBA,Rn;(A)-(Rn)-CY→A上一页下一页返回3.2MCS一51单片机指令系统②SUBBA,direct;(A)-(direct)-CY→A③SUBBA,@Ri;(A)-((Ri))-CY→A④SUBBA,#data;(A)-data-CY→A【例3-9】(A)=0C9H,(R2)=54H,CY=1,SUBBA,R21100100101010100-1(A)=74H,CY=001110100AC=0,OV=1,P=0上一页下一页返回3.2MCS一51单片机指令系统四、增量指令(加1)指令①INCA;(A)+1→A②INCRn;(Rn)+1→Rn③INCdirect;(direct)+1→direct④INC@Ri;(Ri)+1→(Ri),i=0,1⑤INCDPTR;(DPTR)+1→DPTR五、减量(减1)指令上一页下一页返回3.2MCS一51单片机指令系统②DECRn;(Rn)-1→Rn③DECdirect;(direct)-1→direct④DEC@Ri;((Ri))-1→(Ri)【例3-10】(A)=0FH,(R1)=40H,(40H)=0FFHDECA;0FH-1→A,(A)=0EHDEC@R1;(40H)-1→(40H),(40H)=0FEH六、十进制调整指令上一页下一页返回3.2MCS一51单片机指令系统对累加器中由上一条加法指令(加数和被加数均为压缩的BCD码)所获得的8位结果进行调整,使它调整为压缩BCD码的数。BCD码———二进制表示的十进制数。而一个字节为8位,可以表示两个BCD码组合成压缩的BCD码。(最大的压缩BCD码数为99H)。①A3~0>9或AC=1→A3~0+6→A②A7~4>9或AC=1→A7~4+6→A【例3-11】(A)=56H,(R5)=67H,ADDA,R5,DAA上一页下一页返回3.2MCS一51单片机指令系统01010110+0110011110111101+00000110(A)=23H,CY=1七11000011+01100000100100011七、乘、除法指令上一页下一页返回3.2MCS一51单片机指令系统①MULAB;相乘后高8位存放在(B)中,低8位存放于(A)中。②DIVAB;相除后高商存放在(A)中,余数存放于(B)中【例3-12】(A)=50H,(B)=0A0H。MULAB结果为:(B)=32H,(A)=00H。CY=0,OV=1(A)=0FBH,(B)=12HDIVAB结果为:(A)=0DH,(B)=11H。CY=0,OV=0上一页下一页返回3.2MCS一51单片机指令系统3.2.3逻辑运算类指令(共24条)包括移位、与、或、非、异或、清除、求反等操作。其助记符有:CLR、CPL、RL、RLC、RR、RRC、ANL、ORL、XRL。一、对累加器A的单操作数的逻辑操作指令①CLRA;累加器A清“0”,不影响CY、AC、OV。②CPLA;珚A→A,不影响标志。③RLA;左移1位,bit0→bit1,…,bit7→bit0。④RLCA;(A)和CY一起向左移1位:bit0bit1,…bit7→CY→bit0。上一页下一页返回3.2MCS一51单片机指令系统⑤RRA;右移1位,bit7→bit6,…,bit0→bit7。⑥RRCA;(A)和CY一起向右移1位:CY→bit7→bit6,…bit0→CY。移位指令示意图如图3-1

所示二、两个操作数的逻辑操作指令1逻辑与指令①ANLA,Rn;(A)∧(Rn)→A②ANLA,direct;(A)∧(direct)→A③ANLA,@Ri;(A)∧((Ri))→A④ANLA,#data;(A)∧data→A上一页下一页返回3.2MCS一51单片机指令系统⑤ANLdirect,A;(direct)∧(A)→direct⑥ANLdirect,#data;(direct)∧data→direct【例3-13】(A)=07H,(R0)=0FDHANLA,R(A)=07H,(70H)=0FDHANL70H,A0000011111111101∧11111101∧000001110000010100000101(70H)=05H(A)=05H上一页下一页返回3.2MCS一51单片机指令系统2逻辑或指令①ORLA,Rn;(A)∨(Rn)→A②ORLA,direct;(A)∨(direct)→A③ORLA,@Ri;(A)∨((Ri))→A④ORLA,#data;(A)∨data→A⑤ORLdirect,A;(direct)∨(A)→direct⑥ORLdirect,#data;(direct)∨data→direct【例3-14】(A)=33H,(P1)=05HORLA,P1上一页下一页返回3.2MCS一51单片机指令系统

00000101∨00110011(A)=37H001101113逻辑异或指令①XRLA,Rn;(A)(Rn)→A②XRLA,Direct;(A)(direct)→A③XRLA,@Ri;(A)((Ri))→A④XRLA,#data;(A)data→A上一页下一页返回3.2MCS一51单片机指令系统⑤XRLdirect,A;(direct)(A)→direct⑥XRLdirect,#data;(direct)data→direct【例3-15】(A)=90H,(R3)=73HXRLA,R3100100000111001111100011(A)=0E3H上一页下一页返回3.2MCS一51单片机指令系统3.2.4控制转移类指令(共17条)一、无条件转移指令①AJMPaddr11;PC+2→PC,指令中addr10~addr0→PC10~PC0②SJMPrel;PC+2+rel→PCrel:-128~127③LJMPAddr16;PC+2+rel→PCrel:-128~127④JMP@A+DPTR;(A)+(DPTR)→PC上一页下一页返回3.2MCS一51单片机指令系统AJMPaddr11是2KB范围内的无条件跳转指令,转移到指定地址。实际应用时addr11地址通常以标号表示,以实现动态转移。SJMPrel。rel:-128~127,负数表示向后转移,正数表示向前转移。编程时,rel往往用一个标号来代替,由汇编程序在汇编过程中自动计算偏移字节数,并填入指令代码中。当手工汇编时,rel一般用补码表示。LJMPAddr16。无条件跳转到指定地址,地址空间为64KB程序存储器地址。JMP@A+DPTR。基址寄存器加变址寄存器间接转移指令,转移到基址DPTR加变址A所指向的位置。二、条件转移指令上一页下一页返回3.2MCS一51单片机指令系统1测试条件符合转移指令①JZrel;(A)=0,(PC)+2+rel→(PC),(A)≠0,(PC)+2→(PC)②JNZrel;(A)≠0,(PC)+2+rel→(PC),(A)=0,(PC)+2→(PC)2比较不相等转移指令①CJNEA,direct,rel(A)=(direct),(PC)+3→(PC),0→CY(A)>(direct),(PC)+3+rel→(PC),0→CY上一页下一页返回3.2MCS一51单片机指令系统(A)<(direct),(PC)+3+rel→(PC),1→CY②CJNEA,#data,rel③CJNERn,#data,rel④CJNE@Ri,#data,rel以上四条指令用第一操作数减去第二操作数,如不相等则转移至rel,相等则顺序执行。应用往往根据CY的值来判断两个操作数的大小,执行完后,并不影响两个操作数的值。上一页下一页返回3.2MCS一51单片机指令系统3减1不为0转移指令①DJNZRn,rel;(Rn)-1→(Rn)(Rn)=0,(PC)+2→(PC)(Rn)≠0,(PC)+2+rel→(PC)②DJNZdirect,rel;(direct)-1→(direct)(direct)=0,(PC)+3→(PC)(direct)≠0,(PC)+3+rel→(PC)三、调用和返回指令上一页下一页返回3.2MCS一51单片机指令系统子程序:具有一定功能的公用程序段。在子程序的末尾一般是一条返回指令(RET)。当主程序调用子程序时,把下一条指令的首地址通过堆栈指针SP压入堆栈中。返回时,把调用子程序处下一条指令的首地址从堆栈中取出,回送程序指针PC。子程序通常允许嵌套调用,但不允许相互调用。子程序调用示意图如图3-2

所示上一页下一页返回3.2MCS一51单片机指令系统(1)短调用指令ACALLaddr11短调用指令,可调用的范围为2KB,使用该指令时,特别要注意被调用子程序与调用程序之间的间隔。(2)长调用指令LCALLaddr16该指令的调用范围可达到51系列单片机的最大范围64KB。(3)返回指令RET该指令用于子程序的返回,以便能够返回到调用程序处下一条指令的首地址。(4)中断返回指令RETI上一页下一页返回3.2MCS一51单片机指令系统功能与RET类似,用中断子程序的返回,执行该指令后,将会清除中断产生的相关标志位,以响应下次中断。四、空操作指令NOP;空操作指令,除使PC值加1消耗1个机器周期外无任何操作。3.2.5位操作类指令(共17条)一、位变量传送指令①MOVC,bit;(bit)→CY上一页下一页返回3.2MCS一51单片机指令系统②MOVbit,C;CY→bit二、位变量修改指令①CLRC;0→CY②CLRbit;0→bit③CPLC;CY→CY④CPLbit;bit→bit⑤SETBC;1→CY⑥SETBbit;1→bit三、位变量逻辑与、或运算指令上一页下一页返回3.2MCS一51单片机指令系统①ANLC,bit;CY∧(bit)→CY②ANLC,/bit;CY∧(bit)→CY③ORLC,bit;CY∨(bit)→CY④ORLC,/bit;CY∨(bit)→CY以上四条指令并不改变bit位本身的状态,/bit表示对bit位取反。四、位控制转移指令①JCrel;CY=1,(PC)+2+rel→(PC),CY=0,(PC)+2→(PC)上一页下一页返回3.2MCS一51单片机指令系统②JNCrel;CY=0,(PC)+2+rel→(PC),CY=1,(PC)+2→(PC)③JBbit,rel;(bit)=1,(PC)+3+rel→(PC),(bit)=0,(PC)+3→(PC)④JNBbit,rel;(bit)=0,(PC)+3+rel→(PC)(bit)=1,(PC)+3→(PC)⑤JBCbit,rel;(bit)=1,(PC)+3+rel→(PC),且清(bit)=0(bit)=0,(PC)+3→(PC)以上5条指令以位的状态作为实现程序转移的判断条件上一页返回思考与练习题1指出下列指令的正误,如指令有误,则进行改正(1)MOVR0,R7(2)CJNE33H,#67H,NEXT(3)MOV28H,@R2(4)DECDPTR(5)INCDPTR(6)CLRR0(7)CPLR5下一页返回思考与练习题(8)MOVR0,R1(9)PHSHDPTR(10)MOVF0,C(11)MOVF0,Acc3(12)MOVXA,@R1(13)MOVC,30H(14)RLCR02指出下列指令的寻址方式(1)MOVA,R7(2)MOVR0,#7DH上一页下一页返回思考与练习题(3)PUSH76H(4)MOV3DH,@R0(5)MOVCA,@A+DPTR(6)MOVP11,C(7)JMP@A+DPTR3填空题(1)假定累加器A中的内容为50H,执行指令1000H:MOVCA,@A+PC后,把程序存储器单元的内容送入累加器A中。(2)在MCS-51中,PC和DPTR都用于提供地址,但PC是为访问存储器提供地址,而DPTR是为访问存储器提供地址。上一页下一页返回思考与练习题(3)在基址加变址寻址方式中,以作变址寄存器,以或作基址寄存器。(4)指令格式是由和所组成,也可能仅由组成。(5)执行前(0E0H)=10H,(78H)=20H,执行下列指令MOV0E0H,#78H后,(0E0H)=,(78H)=。(6)执行前(0E0H)=10H,(78H)=20H,执行下列指令MOV0E0H,78H后,(0E0H)=,(78H)=。(7)执行前(A)=11H,(R1)=40H,(30H)=22H,(40H)=33H,执行指令MOV上一页下一页返回思考与练习题R1,#30HMOVA,@R1后,(A)=,(R1)=,(30H)=,(40H)=。(8)执行前(A)=11H,(R0)=40H,(30H)=22H,(40H)=33H,执行MOVR0,#30HMOV@R0,A后,(A)=,(R1)=,(30H)=,(40H)=。(9)执行前(A)=83H,(R0)=17H,(17H)=34H,执行以下指令ANLA,#17HORL17H,A上一页下一页返回思考与练习题XRLA,@R0CPLA后,A的内容为。(10)执行前(A)=55H,(R3)=0AAH,执行指令ANLA,R5后,(A)=,(R5)=。(11)SP=60H,A=30H,B=70H,执行下列指令后,PUSHAPUSHB(SP)=,(61H)=,(62H)=。上一页下一页返回思考与练习题(12)执行前(A)=22H,(R1)=30H,(30H)=10H,(40H)=20H,CY=1执行指令后,MOVR1,#40HADDCA,@R1(A)=,(R1)=,(30H)=,(40H)=,CY=,AC=,P=,OV=。(13)执行前(A)=70H,(70H)=0C9H,(80H)=90H,CY=1执行指令后,MOV80H,ASUBBA,#80H上一页下一页返回思考与练习题(A)=,(70H)=,(80H)=,CY=,AC=,P=,OV=。(14)(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令POPDPHPOPDPL后,则(DPH)=,(DPL)=,(SP)=。(15)执行前CY=1,(20H)=04H,(01H)=20H,执行下列指令MOVC,01H上一页下一页返回思考与练习题后,CY=,(20H)=,(01H)=。(16)执行前(A)=70H,执行下列指令MOV60H,#80HCJNEA,60H,NEXT后,(A)=,(60H)=,CY=。(17)执行前(SP)=70H,START标号地址为:8000H,DELAY子程序地址为:8100H,调用START:LCALLDELAY后(子程序没返回)(PC)=,(SP)=,(70H)=,(71H)=,(72H)=。上一页下一页返回思考与练习题(18)在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容是不是操作数,而是操作数的。(19)设(SP)=30H,(40H)=0DFH,(41H)=99H,执行下列指令PUSH40HPUSH41H后,(SP)=,(31H)=,(32H)=。(20)设(SP)=62H,(A)=30H,(B)=70H,执行下列指令POPAPOPB上一页下一页返回思考与练习题后,(SP)=,(61H)=,(60H)=。(21)JCrel指令中的rel是指相对本条指令的偏移量,其范围是。(22)若(A)=3FH,(P1)=71H,执行下列指令ANLA,P1ORLP1,#0FhXRLA,P1后,(A)=,(P1)=。上一页下一页返回思考与练习题(23)如果想保持累加器A的内容高4位不变,低4位变为0,可执行什么指令,若要使A的高4位全为1,低4位不变,可执行什么指令。(24)假设(A)=55H,CY=1,执行指令RLCA后,(A)=,执行指令RRC后,(A)=(25)若(A)=0D4H,(B)=13H,执行指令MULAB后,(A)=,(B)=,执行指令DIVAB后,(A)=,(B)=。(26)读取程序存储器中的数据应使用指令,读取数据存储器中的数据应使用指令。4选择上一页下一页返回思考与练习题(1)关于数据传送类指令,下列说法正确时()。(A)在内部数据存储区中,数据不能直接从一个地址单元传送到另一个地址单元(B)程序存储空间中的数据能直接送入内部存储区中任意单元(C)所有的数据传送指令都不影响PSW中的任何标志位(D)只能使用寄存器间接寻址方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论