第三章MCS51指令系统.PPT
《第三章MCS51指令系统.PPT》由会员分享,可在线阅读,更多相关《第三章MCS51指令系统.PPT(73页珍藏版)》请在三一办公上搜索。
1、第三章MCS51指令系统,3.1 汇编语言指令格式 3.1.1 汇编语言格式 3.1.2 汇编伪指令 3.2 MCS-51的寻址方式 3.3 MCS-51指令系统 3.3.1 数据传送类指令 3.3.2 算术运算类指令 3.3.3 逻辑运算类指令 3.3.4 位操作类指令 3.3.5 控制转移类指令,计算机的指令系统是一套控制计算机操作的编码机器语言。计算机只能识别和执行机器语言的指令。但机器语言实在太枯燥,太难记忆了。,3.1 汇编语言指令格式,操作码:反映了指令的功能。操作数:反映了指令的对象。,3.1.2 汇编伪指令,伪指令:汇编时不产生机器语言代码的指令,仅提供汇编控制信息。一、定位伪
2、指令 ORG m m:一般为十六进制数。m指出在该伪指令后的指令的汇编地址,即生成的机器指令起始存贮器地址。显然,当使用多条ORG m伪指令时,应注意其后生成的机器指令存放地址不应重叠。eg:ORG 0START:SJMP MAIN ORG 0BH LJMP PTFO ORG 40HMAIN:,二、定义字节伪指令 标号:DB X1、X2 Xn,3.1.2 汇编伪指令,ORG1000HDB0AAH SJ-DATA:DB25,25H ZFC-DATA:DBMCS-51经汇编后,从地址1000H处存贮器的内容为:(1000H)=AAH(1001H)=19H(1002H)=25H(1003H)=4DH
3、(1004H)=43H(1005H)=53H(1006H)=2DH(1007H)=35H(1008H)=31H,三、字定义伪指令 标号:DW Y1、Y2 Yn,3.1.2 汇编伪指令,通知汇编程序从当前ROM地址开始,保留存贮单元,并存入DW后面的数据。存放时高8位在前,低8位在后。例3-3 ORG1000H DW1234HSJ_DATA:DW56H,2000经汇编后,从地址1000H处存贮器的内容为:(1000H)=12H(1001H)=34H(1002H)=00H(1003H)=56H(1004H)=07H(1005H)=D0H,四、EQU 赋值伪指令 字符名称 EQU 项(数或汇编符号)
4、,3.1.2 汇编伪指令,例:3-4:AAEQUR1MOVA,AA 例:3-5:D10EQU10ADD_YEQU07ABHMOVA,D10LCALLADD_Y,EQU伪指令是把“项”赋给“字符名称”,注意这里的“字符名称”不同于标号(其后没有冒号),但它是必须的。用EQU赋过值的符号名可以用作数据地址、代码地址、位地址或是一个立即数。,五、DS定义存贮空间伪指令 DS 表达式,3.1.2 汇编伪指令,在汇编时,从指定地址开始保留DS之后“表达式”的值所规定的存贮单元。,ORG1000HDS07HDB20H,20 DW12H 经汇编后,从地址1000H开始保留7个单元,然后从1007H处存贮器的
5、内容为:(1007H)=20H(1008H)=14H(1009H)=00H(100AH)=12H,六、DATA数据地址赋值伪指令 字符名称 DATA 表达式,3.1.2 汇编伪指令,这里的“字符名称”与标号不同(其后没有冒号),但它是必须的,其功能是把“表达式”的值赋给左边的“字符名称”。DATA伪指令与EQU伪指令的主要区别是:EQU定义的“字符名称”必须先定义后使用,而DATA定义的“字符名称”没有这种限制,故DATA伪指令通常用在源程序的开头或末尾。,例3-7:ORG0100H AA DATA 35H DPTRA DATA0AA00HMOVA,AA;(35H)AMOVDPTR,#DPTR
6、A;0AA00H DPTR,七、BIT定义位地址符号伪指令 字符名称 BIT 位地址,3.1.2 汇编伪指令,这里的“字符名称”与标号不同(其后没有冒号),但它是必须的,其功能是把BIT之后的“位地址”值赋给“字符名称”。,例3-6:P11BITP1.1A2BIT02HMOVC,P11MOVA2,C,八、汇编结束伪指令END指出汇编结束,其后即使还有指令,汇编程序也不作处理。,3.2 MCS-51的寻址方式,在高级语言编程时,程序设计人员不必关心程序和数据的内存空间安排问题。但在汇编语言程序设计时,要针对系统的硬件环境编程,数据的存放、传送、运算都要通过指令来完成,编程者必须自始至终都十分清楚
7、操作数的位置,以便将它们传送至适当的空间去操作。,寻址方式就是如何找到存放操作数的地址,把操作数提取出来的方法。,MCS51指令的系统的指令数的寻址方式主要有八种:寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、基寄存器加变址寄存器间接寻址、相对寻址、位寻址、页面寻址。,一、寄存器寻址 由指令某一寄存器的内容作为操作数的寻址方式。eg:INC R0;(R0)+1 R0,INC R0指令执行过程示意图,3.2 MCS-51的寻址方式,在指令中含有操作数的直接地址,该地址指出了参与计算或传送的数据所在的字节单元或位的地址。eg:ANL 70H,#48H;(70H)48H70H,二、直接寻址,操作数
8、的直接地址,3.2 MCS-51的寻址方式,在指令中某一个寄存器的内容作为操作数的地址的寻址方式,用符号表示。eg:ANLA,R0;(A)(R0)A,寄存器间接寻址使用所选定的寄存器中R0和R1作地址指针(对栈操作时用堆栈指针SP)来寻址内部RAM(0FFH),也适用于访问外部扩展的数据存贮器,用R0、R1或DPTR作为地址指针。,三、寄存器间接寻址,3.2 MCS-51的寻址方式,操作数包含在指令字节中eg:MOV A,#70H,以16位的程序计数器PC或数据指针DPTR作为基寄存器,以8位的累加器A作为变址寄存器,内容相加形成16位新的地址。MOVC A,A+PC;(A)+(PC)AMOV
9、C A,A+DPTR;(A)+(DPTR)A,五、基寄存器加变址寄存器间接寻址,四、立即寻址,3.2 MCS-51的寻址方式,3.2 MCS-51的寻址方式,六、相对寻址,相对寻址方式是以当前的程序计数器PC值加上指令中给定的偏移量rel所得的结果作为转移地址。一般将相对转移指令操作码所在地址称为源地址,转移后的地址称为目的地址,则有:目的地址=源地址+相对转移指令字节数+rel,3.2 MCS-51的寻址方式,七、位寻址,在计算机中,某些特定的操作数可以按8位二进制数中的某一位为单位进行存取和操作。位寻址方式是其操作数是8位二进制中的某一位。,例315:MOVC,01H;01H为位地址,表示
10、(20H).1的内容传送到进位累加器。例316:SETBEA表示中断允许寄存器IE的位7置1。,3.2 MCS-51的寻址方式,八、页面寻址,当用寄存器间接寻址方式访问外部扩展的数据存贮器,当用R0、R1作地址指针访问片外RAM时的寻址方式称为页面寻址。页面地址由P2口的内容决定,页面内的地址由R0或R1的内容决定。,例317:MOVP2,#0A0H MOVR0,#01H MOVA,#10H MOVXR0,A,(1)对程序存贮器只能采用立即寻址和基寄存器加变址寄存器间接寻址寻址方式。(2)对特殊功能寄存器空间只能采用直接寻址方式(可以用符号来代表地址),不能采用寄存器间接寻址方式。(3)内部R
11、AM高128B只能采用寄存器间接寻址方式,不能采用直接寻址方式。(4)内部RAM低128B 既能采用寄存器间接寻址方式,又能采用直接寻址方式。(5)外部扩展的数据存贮器只能采用MOVX指令访问。,虽然MCS51单片机的寻址方式有多种,但指令对哪一个存贮器空间进行操作是由指令的操作码和寻址方式确定的。总的来说,具有以下几点原则:,3.2 MCS-51的寻址方式,MCS51汇编语言有42种操作码助记符,33种操作功能,111种指令,可分为:数据传送类(29)算术操作类(24)逻辑操作类(24)位操作类(17)控制转移类(17),3.3 MCS-51的指令系统,3.3.1 数据传送类指令,数据数据传
12、送类指令一般的操作是把源操作数传送到目的操作数.注意:指令执行后,一般是源操作数不改变,目的操作数修改为源操作数。可以在累加器A、工作寄存器R0R7、内部数据存贮器、外部数据存贮器和程序存贮器之间进行。这类指令有:MOV,MOVX,MOVC,XCH,XCHD,SWAP,POP,PUSH共8种。,一、以累加器A为目的操作数的指令,把源操作数的内容送ACC,源操作数的内容不变化。,二、以Rn为目的操作数的指令,3.3.1 数据传送类指令,源操作数的内容送入当前工作寄存器区的R0R7,MOV Direct,A;寄存器寻址 MOV Direct,Rn;寄存器寻址 MOV Direct,Direct;直
13、接寻址MOV Direct,Ri;寄存器间接寻址MOV Direct,#data;立即寻址,三、以直接寻址的单元为目的操作数的指令,3.3.1 数据传送类指令,源操作数的内容送入直接地址指出的存贮单元。,四、以寄存器间接寻址的单元为目的操作数的指令,MOV Ri,A;寄存器寻址 MOV Ri,Direct;直接寻址MOV Ri,#data;立即寻址,3.3.1 数据传送类指令,源操作数的内容送入R0或R1指出的内部RAM中。,五、16位数据传送指令,MOV DPTR,#data16;立即寻址 把16位立即数送到数据指针DPTR。高8位 DPH,低8位 DPL eg:MOV DPTR,#8000
14、H,3.3.1 数据传送类指令,2、MOVCA,A+DPTR;(A)+DPTR)A,(A)作为无符号数和DPTR内容相加后得到一个16位的地址,将该地址的内容 A,eg:(A)=30H,当前地址1000H,MOVC A,A+PC;(?H)A,3.3.1 数据传送类指令,六、查表指令,1、MOVCA,A+PC;(A)+PC)A,(A)作为无符号数和PC内容(下一条指令的起始地址)相加后得到一个16位的地址,将该地址的内容 A,3.3.1 数据传送类指令,七、累加器A与片外RAM数据传送指令,eg:设(0650H)=20H,(0FAH)=10HMOV DPTR,#0650H;MOV R0,#0FA
15、H MOVX A,R0;(20FAH)A MOVX DPTR,A;(A)650H单元,八、栈操作指令,1、压栈指令,PUSH Direct;寄存器间接寻址,eg:(SP)=60H,(A)=30H,(B)=70H,3.3.1 数据传送类指令,PUSH B;SP+1 SP,SP=62H(B)(SP),(62H)=70H,PUSH A;SP+1 SP,SP=61H,(A)(SP),(61H)=30H,堆栈指针SP+1 SP;然后把直接地址的内容送到栈指针寻址的内部RAM单元中。,2、弹栈指令,POP Direct;寄存器间接寻址,eg:(SP)=62H,(62H)=70H,(61H)=30H,3.3
16、.1 数据传送类指令,堆栈指针SP寻址的内部RAM单元送入直接地址指 出的字节单元中;SP-1 SP,数据传送类指令小结:1、指令执行后,源操作数不改变,目的操 作数修改为源操作数。2、累加器A与片外RAM数据传送指令MOVX,而且用DPTR、Ri 3、查表指令实际是从程序中读取数据 MOVC,可以用 A+PC,也可以用A+DPTR,3.3.1 数据传送类指令,九、字节交换指令内容交换,XCH A,Rn;寄存器寻址,(A)(Rn)XCH A,Direct;直接寻址,(A)(direct)XCH A,Ri;寄存器间接寻址,(A)(Ri)XCHD A,Ri;寄存器间接寻址;(A)03(Ri)03
17、SWAP A;寄存器寻址,(A)03(A)47,eg:(A)=80H,(R7)=08H XCH A,R7;(A)(R7)(A)=80H,(70H)=88H XCHA,70H;(A)(70H)(A)=80H,(70H)=60H MOVR0,#70H XCHA,R0;(A)(R0),(A)=60H,(70H)=80H,(R0)=70H,eg:(A)=12H,(R1)=30H,(30H)=34H XCHD A,R1(A)=12H SWAPA,3.3.1 数据传送类指令,MCS51算术运算指令+,-,*,/,增量(加1),减量(减1)指令,执行结果将使进位(Cy)、辅助进位(AC),溢出(OV)标志置
18、位或复位。但加1和减1指令不影响以上标志。其操作助记符有:ADD,ADDC,SUBB,DA,INC,DEC,MUL,DIV 8种。,一、不带进位的加法指令,3.3.2 算术运算类指令,(A)=4FH,CY=1AC=0,OV=0,P=1,(A)=34H,CY=1AC=1,OV=1,P=1,二、带进位的加法指令,3.3.2 算术运算类指令,(A)=85H,CY=1AC=1,OV=0,P=1,3.3.2 算术运算类指令,三、带进位减法指令,3.3.2 算术运算类指令,(A)=74H,CY=0,AC=0,OV=1,P=0,四、增量指令(加1)指令,这组指令除对A操作影响P标志外不影响其它标志,3.3.
19、2 算术运算类指令,五、减量(减1)指令,eg:(A)=0FH,(R7)=19H,(30H)=00H,(R1)=40H,(40H)=0FFH,DAA,六、十进制调整指令,对累加器中由上一条加法指令(加数和被加数均为压缩的BCD 码)所获得的8位结果进行调整,使它调整为压缩BCD 码的数。,eg:(A)=0FFH,(R3)=0FH,(30H)=0F0H,(R0)=40H(40H)=00H,BCD码二进制表示的十进制数。而一个字节为8位,可以表示两个BCD码组合成压缩的BCD 码。(最大的压缩BCD 码数为99H)。,3.3.2 算术运算类指令,3.3.2 算术运算类指令,(A)=23H,CY=1
20、,8位无符号数的乘法操作,乘积为16位,低8位放在A中,高8位放在B中。若积大于255,则置位OV标志,CY总为0。,(B)=32H,(A)=00H,积为3200H,CY=0,OV=1,MULAB;,七、乘法指令,3.3.2 算术运算类指令,DIVAB;,(A)8位无符号数除以(B)8位无符号数,所得商的整数放在A中,余数放在B中。,当(B)=0时,(A),(B)中内容均不确定,且OV=1。,(A)=0DH,(B)=11H,CY=0,OV=0,八、除法指令,3.3.2 算术运算类指令,3.3.3 逻辑运算类指令,一、对累加器A的单操作数的逻辑操作指令,包括移位、与、或、非、异或、清除、求反等操
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 MCS51 指令系统
链接地址:https://www.31ppt.com/p-5294572.html