《【大学课件】MCS51指令系统P34.ppt》由会员分享,可在线阅读,更多相关《【大学课件】MCS51指令系统P34.ppt(34页珍藏版)》请在三一办公上搜索。
1、1,数据传送类指令算术运算类指令逻辑操作类指令控制转移类指令位操作指令常用伪指令,第章MCS51指令系统,本章内容,Single Chip Microcomputer,http:/,2,二、指令系统,1、指令描述约定,http:/,3,2、MCS-51的指令,2.1 数据传送指令(29条)2.2 算术运算指令(24条)2.3 逻辑运算指令(24条)2.4 控制转移指令(17条)2.5 位操作指令(17条)2.6 常用伪指令(17条),http:/,4,目的地址 源地址,数 据,MOV,MOV A,#20H,,,MOV,20H,A,2.1 数据传送指令(29条)8位数据传送指令(15条),htt
2、p:/,5,2.1 数据传送指令(29条)16位数据传送指令(1条),MOV DPTR,#data16,外部数据传送指令(4条),MOVX,,,MOVX,http:/,6,1)字节交换指令(3条),交换和查表类指令(9条),,,A,XCH,2)低半字节交换指令(1条),XCHD A,Ri,3)累加器A中高4位和低4位交换(1条),SWAP A,4)查表指令(2条),MOVC A,A+PC,MOVC A,A+DPTR,5)堆栈操作指令(2条),PUSH direct,POP direct,http:/,7,direct,2.2算术运算类指令(24条)加法指令(8条),A,,Rn,Ri,#data
3、,ADD,direct,A,,Rn,Ri,#data,ADDC,减法指令(4条),direct,A,,Rn,Ri,#data,SUBB,ADDC A,B(A+B+CYA),SUBB A,B(A B CYA),http:/,8,BCD码:0011 0100,BCD码调整指令(1条),DA A,注意:DA A指令只能跟在ADD或ADDC加法指令后,不适用于减法指令。,0001 1000,0001 0110,BCD码,0010 1110,差6,http:/,9,加1减1指令,http:/,10,乘法指令(1条),MUL A B,除法指令(1条),DIV A B,2.3逻辑及移位类指令逻辑与指令(6条
4、),无符号数相乘,高位存B,低位存A,无符号数相除,商存A,余数存B,http:/,11,逻辑或指令(6条),http:/,12,逻辑异或指令(6条),http:/,13,累加器A清0和取反指令,http:/,14,A.0,A.7,A.0,A.7,A.0,A.7,A.0,A.7,CY,CY,RL A RR A RLC A RRC A,注意:执行带进位的循环移位指令之前,必须给CY置位或清零。,循环移位指令,http:/,15,2.4 控制转移类指令 无条件转移指令(4条),LJMP 后面直接写 转移的目标地址标号即可,1)长转移指令:LJMP AAAAH;AAAAHPC,注意:该指令可以转移到
5、64 KB程序存储器中的任意位置。,http:/,16,PC高5位(保持不变),PC低11位,操作码(第一字节),操作数(第二字节),11位转移地址的形成示意图,程序计数器PC,2)绝对转移指令,AJMP addr11;PC+2PC,addr11 PC.10PC.0,AJMP 后面直接写 转移的目标地址标号即可,http:/,17,3)相对转移指令,SJMP 地址标号,原地踏步指令:SJMP$,相当于 here:sjmp here,http:/,18,(4)变址寻址指令,JMP A+DPTR,SJMP AJ2,SJMP AJ1,SJMP AJ0,;(2字节指令),;(2字节指令),;(2字节指
6、令),AJ0:,AJ1:,AJ2:,JTAB:,MOV DPTR,#JTABJMP A+DPTR,MOV A,R1,RL A,http:/,19,条件转移指令(8条)1)累加器A判0指令(2条),2)减1非零转移指令(2条),http:/,20,3)比较转移指令(4条),http:/,21,条件转移类指令范例方案一,还有什么方法实现循环的终止?,将00H0FH这16个数顺序地置入片内RAM20H2FH单元中。MOV R0,#20H MOV R7,#0FH CLR ACIRC:MOV R0,A INC A INC R0 DJNZ R7,CIRC SJMP$,http:/,22,条件转移类指令范例
7、方案二,MOV R0,#20H MOV R7,#0FH CLR ALOOP:MOV R0,A INC A INC R0 CJNE A,#0FH,LOOP SJMP$,http:/,23,条件转移类指令范例方案三,MOV R0,#20H MOV A,#0FH MOV 30H,#00HLOOP:MOV R0,30H INC 30H INC R0 DEC A JNZ LOOP SJMP$,http:/,24,条件转移类指令范例方案四,MOV R0,#20H MOV A,#0FH MOV 30H,#00HLOOP:MOV R0,30H INC 30H INC R0 SUBB A,#01H JNC LO
8、OP SJMP$,http:/,25,调用和返回指令(8条)1)绝对调用指令(1条),2)长调用指令(1条),http:/,26,3)返回指令,4)空操作,http:/,27,2.5 位操作类指令,RAM 位寻址区位地址表,http:/,28,2.位置位和位清零指令,1.位传送指令,http:/,29,3.位运算指令,4.位转移指令,http:/,30,5.判CY标志指令,http:/,31,常用伪指令,定位伪指令ORG定义字节数据伪指令DB定义字数据伪指令DW定义空间伪指令DS符号定义伪指令EQU或数据赋值伪指令DATA汇编结束伪指令END,http:/,32,练习1,设内部RAM中33H单
9、元中内容为44H,34H单元中内容为0AFH,R0中内容为33H,R1中内容为00H,给出以下每一条指令执行后A中的值和PSW中P的值。MOV A,#34HMOV A,34HMOV A,R1MOV A,R0 注意:对PSW中P标志的影响。,http:/,33,练 习 2,设内部RAM30H单元中内容为52H,请给出以下程序结果:MOV A,#30H MOV A,30HMOV R0,#30HMOV A,R0MOV 30H,#30H设P1口内容为0AAH(P1口地址为90H),请给出以下程序结果:MOV R0,#30HMOV 10H,P1MOV A,10HMOV R0,AMOV 40H,R0,http:/,34,本章主要知识点,指令的七种寻址方式。难点:寄存器间接寻址各类指令的主要功能。难点:查表指令难点:条件转移指令,http:/,