3MCS-51单片机指令系统.ppt
《3MCS-51单片机指令系统.ppt》由会员分享,可在线阅读,更多相关《3MCS-51单片机指令系统.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第三章、第三章、 MCSMCS-51单片机指令系统单片机指令系统 3.1 指令的格式、常用符号指令的格式、常用符号 3.2 指令分类指令分类 3.3 寻址方式寻址方式3.1.1 指令格式指令格式 汇编语言汇编语言指令格式:指令格式:【标号:】操作码【标号:】操作码 【(目的操作数),(源操作数)】;【注释】【(目的操作数),(源操作数)】;【注释】(1)标)标 号:符号地址号:符号地址(2)操作码:指明执行什么性质和类型的操作。)操作码:指明执行什么性质和类型的操作。(3)操作数:指明操作数本身或者是它所在的)操作数:指明操作数本身或者是它所在的 地址。地址。(4)注)注 释:对指令的解释、
2、说明释:对指令的解释、说明返回本节指令格式举例:指令格式举例: MOV A,#00H MOV R7,#30H MOV R0,#30HLOOP:MOV R0,A ;(;(R0) (A) INC R0 DJNZ R7,LOOP SJMP $3.1.2 指令常用描述符号指令常用描述符号Rn 当前选中的寄存器区中的当前选中的寄存器区中的8个工作寄存个工作寄存器器R0R7(n=07)。)。Ri 当前选中的寄存器区中的当前选中的寄存器区中的2个工作寄存个工作寄存器器R0、R1(i=0,1)。)。direct8位的内部数据存储器单元中的地址。位的内部数据存储器单元中的地址。#data包含在指令中的包含在指令
3、中的8位常数。位常数。#data16包含在指令中的包含在指令中的16位常数。位常数。rel8位带符号的偏移字节,简称偏移量。位带符号的偏移字节,简称偏移量。DPTR数据指针,可用作数据指针,可用作16位地址寄存器。位地址寄存器。bit内部内部RAM或专用寄存器中的直接寻址或专用寄存器中的直接寻址位。位。A累加器。累加器。B专用寄存器,用于乘法和除法指令中。专用寄存器,用于乘法和除法指令中。 C进位标志或进位位,或布尔处理机中进位标志或进位位,或布尔处理机中 的累加器的累加器 间址寄存器或基址寄存器的前缀,如间址寄存器或基址寄存器的前缀,如 Ri,DPTR。 (R1) R1中的内容。中的内容。(
4、R1)R1中的内容作地址来找到的内容中的内容作地址来找到的内容。返回本节3.2 分类指令分类指令 3.21 数据传送类指令数据传送类指令 3.2.2 算术运算类指令算术运算类指令 3.2.3 逻辑运算与循环类指令逻辑运算与循环类指令 3.2.4 程序转移类指令程序转移类指令 3.2.5 调用子程序及返回指令调用子程序及返回指令 3.2.6 位操作指令位操作指令 3.2.7 空操作指令空操作指令返回本章首页3.2.1 数据传送类指令数据传送类指令 数据传送类指令是将源操作数送到目的数据传送类指令是将源操作数送到目的操作数。指令执行后,操作数。指令执行后,源操作数不变源操作数不变,目的目的操作数被
5、源操作数取代操作数被源操作数取代。 数据传送类指令用到的助记符有数据传送类指令用到的助记符有MOV、MOVX、MOVC、XCH、XCHD、SWAP、PUSH、POP。MCS-51单片机数据传送关系示意图寄存器 Rn累加器 A立即数#data直接地址direct间接地址Ri外部RAMROMMOVXMOVC1以以A为目的操作数为目的操作数MOV A,Rn;(;(A)( Rn)MOV A,direct ;(;(A)(direct)MOV A,Ri;(;(A)(Ri)MOV A,#data ;(;(A) #data2以Rn为目的操作数MOV Rn,A ;(;(Rn) ( A)MOV Rn,direct
6、;(;(Rn )(direct)MOV Rn,#data ;(;(Rn) #data3以直接地址为目的操作数以直接地址为目的操作数MOV direct ,A ; (direct) ( A)MOV direct ,direct;(;(direct) (direct)MOV direct ,#data; (direct) #data4以间接地址为目的操作数MOV Ri,A;(;(Ri) (A)MOV Ri,direct; (Ri) (direct)MOV Ri,#data; (Ri) #data 例如:设(例如:设(30H)=6FH,R1=40H,执行,执行 MOV R1,30H后,后,30H单元
7、中数据取出单元中数据取出送入送入R1间接寻址的间接寻址的40H单元,(单元,(40H)=6FH。5以以DPTR为目的操作数为目的操作数MOV DPTR,#data16;(;(DPTR) #data16例如执行例如执行 MOV DPTR,#2000H 后,后,(DPTR)= 2000H。 6访问外部数据访问外部数据RAM MOVX A,DPTR;A (DPTR)MOVX DPTR,A;(;(DPTR) (A)MOVX A,Ri ;A (P2Ri)MOVX Ri,A ;(;(P2Ri) A7读程序存储器读程序存储器MOVC A,A+DPTR;(;(A)(A)+(DPTR)MOVC A,A+PC;(
8、;(A) (A)+(PC)例如:已知(例如:已知(A)=30H,(,(DPTR)=3000H, 程序存程序存储器单元(储器单元(3030H)=50H,执行,执行 MOVC A, A+DPTR后,(后,(A)=50H。8数据交换数据交换l l 字节交换字节交换XCH A,Rn;(;(A) (Rn)XCH A ,direct ;(;(A)(direct)XCH A,Ri;(;(A)(Ri)l l 半字节交换半字节交换XCHD A,Ri ;(;(A)03(Ri)03SWAP A;(;(A)03(A)479堆栈操作 所谓堆栈是在片内所谓堆栈是在片内RAM中按中按“先进后出,后先进后出,后进先出进先出”
9、原则设置的专用存储区。数据的进原则设置的专用存储区。数据的进栈出栈由指针栈出栈由指针SP统一管理。堆栈的操作有如统一管理。堆栈的操作有如下两条专用指令:下两条专用指令: PUSH direct; (SP ) (SP ) +1,(,(SP)(direct) POP direct ;(direct)(SP),(),(SP) ( SP)-1 PUSH是进栈(或称为压入操作)指令。指是进栈(或称为压入操作)指令。指令执行过程如图所示。令执行过程如图所示。片内RAM30H11H10HSP片内RAM50H40H11H10HSP40H30H片内RAM50H40H11H10H50HSP30H片内RAM40H1
10、1H10H34HSP30H34H34H执行前执行前执行PUSH 40H 指令后执行POP 30H指令后指令PUSH操作示意图指令POP操作示意图【例【例3.1】 将片内将片内RAM 30H单元与单元与40H单元中的内单元中的内容互换。容互换。方法方法1(直接地址传送法):(直接地址传送法): MOV 31H,30H MOV 30H,40H MOV 40H,31H SJMP $30H31H40H132方法方法2(字节交换传送法):(字节交换传送法): MOVA,30H XCH A,40H MOV30H,A SJMP$返回本节30HA40H1323.2.2 算术运算类指令算术运算类指令1加法指令加
11、法指令ADD A,Rn; (A) (A) + (Rn)ADD A,direct; (A) (A) +(direct)ADD A,Ri;(;(A) (A) +(Ri)ADD A,#data; (A) (A) + #data2带进位加指令带进位加指令ADDC A,Rn; (A) (A) + (Rn) + (C)ADDC A,direct; (A) (A) +(direct)+ (C)ADDC A,Ri;(;(A) (A) +(Ri)+ (C)ADDC A,#data; (A) (A) + #data + (C)C为来自为来自PSW状态寄存器中的进位位状态寄存器中的进位位CY。例如例如:设设(A)=
12、20H,(R0)=21H,C=1,执行指令,执行指令 ADDC,R0后,后,(A)=42H (C)=0 。3带借位减指令带借位减指令SUBB A,Rn;(;(A) (A) -( Rn) -(C)SUBB A,direct;(;(A)( A) -(direct)-(C)SUBB A,Ri;(;(A) (A) -(Ri)-(C)SUBB A,#data;(;(A) (A) - #data (C)例如,设例如,设(A)=39H,(R0)=20H,(,(20H)=32H,(C)=1,执行指令执行指令 SUBB ,R0后,后,A=06H ,(C)=0 。4乘法指令乘法指令MUL AB ;(;(B)815
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS 51 单片机 指令系统
限制150内