资源预览内容
第1页 / 共107页
第2页 / 共107页
第3页 / 共107页
第4页 / 共107页
第5页 / 共107页
第6页 / 共107页
第7页 / 共107页
第8页 / 共107页
第9页 / 共107页
第10页 / 共107页
亲,该文档总共107页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
下午2时43分56秒,广东松山职业技术学院课件制作组,第3章 MCS-51单片机指令系统,指令系统概述,MCS-51单片机的寻址方式,MCS-51的指令系统,下午2时43分56秒,广东松山职业技术学院课件制作组,本章主要内容,3.1 指令系统概述,3.2 MCS-51单片机的寻址方式,3.3 数据传送类指令,3.4 算数运算类指令,3.5 逻辑运算类指令,3.6 控制转移类指令,3.7 位操作类指令,下午2时43分56秒,广东松山职业技术学院课件制作组,1. 指令的定义 指令是主机能直接识别和接受并指挥计算机执行某种操作的命令。 指令有两种基本表达形式:机器码指令和汇编语言指令。,3.1 指令格式及常用符号,3.1.1 指令的概念,2. 机器码指令与汇编语言指令 机器码指令:用二进制代码(或十六进制数)表示的指令。也常被称为目标代码指令。 汇编语言指令:为了便于记忆以及的程序的编写和阅读,用助记符表示的指令。,说明:汇编语言指令必须通过某种手段(汇编)把它变成机器码指令才能被机器执行。 汇编可由计算机通过汇编程序自动完成,亦可手工汇编。,下午2时43分56秒,广东松山职业技术学院课件制作组,1汇编语言指令格式: 标号: 操作码 操作数 ;注释 LOOP: MOV A,#30H ;A#30H 操作码表示指令进行何种操作,用助记符形 式给出。 操作数指令操作的对象。分为目的操作数和 源操作数。,3.1.2 MCS-51单片机指令格式,2机器码指令的格式 操作码 操作数 (操作数用十六进制数表示) 机器码指令按指令的字节长度划分,有单字节、双字节、三字节指令。,下午2时43分56秒,广东松山职业技术学院课件制作组,单字节指令,8位编码仅为操作码:,指令 INC A,编码为04H。A隐含在操作码中。,注意:指令中“A”表示累加器,而“ACC”表示累 加器对应的地址(E0H)。,3.1.2 MCS-51单片机指令格式,下午2时43分56秒,广东松山职业技术学院课件制作组,高5位为操作码,低3位为存放操作数的寄存器编码。如:MOV A,R0,8位编码含有操作码和寄存器编码,编码为1110 1000B,可表示为E8H(低3位000为寄存器R0的编码)。,1110 1000,MOV A,R0,寄存器号,3.1.2 MCS-51单片机指令格式,下午2时43分56秒,广东松山职业技术学院课件制作组,双字节指令,第一字节表示操作码,第二个字节表示参与操作的数据或数据存放的地址。 如:MOV A,#50H,编码为0111 0100B,0101 0000B。其十六进制表示为74H,50H。,操作数,0101 0000,MOV A,#50H,操作码,0111 0100,3.1.2 MCS-51单片机指令格式,下午2时43分56秒,广东松山职业技术学院课件制作组,三字节指令,指令的第一字节表示该指令的操作码,后两个字节表示参与操作的数据或数据存放的地址。 如:MOV 20H,#50H,编码为0111 0101B,0010 0000B,0101 0000B。可表示为75H,20H,50H。,操作数,0010 0000,MOV 20H,#50H,操作码,0111 0101,0101 0000,3.1.2 MCS-51单片机指令格式,下午2时43分56秒,广东松山职业技术学院课件制作组,3.1.3 指令系统,微处理器(包括单片机)所有指令的集合称为该机器的指令系统。 MCS-51系列单片机使用42种助记符,有51种基本操作。通过助记符及指令中的源操作数和目的操作数的不同组合构成了MCS-51的111条指令。 MCS-51的指令系统按字节数分为:单字节指令49条,双字节指令45条,三字节指令17条; 按指令执行的周期划分:有57条一周期指令,52条两周期指令,2条四周期指令。当主频为12MHz时,单周期指令的执行时间为1s。,下午2时43分56秒,广东松山职业技术学院课件制作组,3.1.4 指令系统说明,Rn(n=07)-选定当前寄存区的寄存器R0-R7。 Ri(i=0,1)-通过寄存器R0和R1的内容间接寻 址 片内RAM单元。 (X)-表示 地址单元或寄存器中的内容。 (X)-表示以或寄存器中的内容为地址间接寻址单元的内容。 -数据传输的方向 。 -当前指令的地址 。 / -位操作数前缀,表示取反。,1.常用符号,下午2时43分56秒,广东松山职业技术学院课件制作组,direct-直接地址。一个内部RAM单元的地址或一 个特殊功能寄存器。 #data8 -8位常数,也称立即数,#为立即数前缀。 #data16-16位立即数。 addr16-16位目的地址。供转移或调用指令使用。 addr11-11位目的地址。 rel-8位带符号偏移量(以二进制补码表示),常 用于相对转移指令。 bit-位地址。用于位操作指令。 (可用符号名称 表示)。 C-最高进位标志位或布尔处理器的累加器。 -数据交换。,3.1.4 指令系统说明,下午2时43分56秒,广东松山职业技术学院课件制作组,2汇编语言的数据形式 汇编语言的数据可以有以下几种表示形式: 二进制数:末尾以字母B标识。如10110110B;,3.1.4 指令系统说明,十进制数:末尾以字母D标识或将字母省略。 如:56D,7F 十六进制数:末尾以字母H标识。 如:46H,0F8H, 注意:十六进制数以字母AF开头时,须在前 面加上数字“0”。,下午2时43分56秒,广东松山职业技术学院课件制作组,3.2 MCS51单片机的寻址方式,寻址方式:寻找操作数或操作数所在的地址的方式。,寻址方式有七种, 即:寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、基址寄存器加变址寄存器变址寻址、相对寻址和位寻址。,若不特别声明,我们后面提到的寻址方式均指源 操作数的寻址方式。,下午2时43分56秒,广东松山职业技术学院课件制作组,寻址方式及对应的存储器空间,下午2时43分56秒,广东松山职业技术学院课件制作组,编码中直接给出操作数。操作码之后的操作数称为立即数。以“#”号标识。,3.2.1 立即寻址,寻址空间:ROM,立即数 单字节、双字节 标识: 源操作数,例如: MOV A,#40H MOV DPTR,#TABLE ;TABLE为标号地址 MOV P1,#00000111B MOV R3,#18,下午2时43分56秒,广东松山职业技术学院课件制作组,例:MOV A,#40H ;,7FH,40H,80H,FFH,A,FFFFH,MOV A,#40H,0000H,ROM,SFR,RAM,结果:(A)=40H,3.2.1 立即寻址,下午2时43分56秒,广东松山职业技术学院课件制作组,操作数在寄存器中,指令中直接给出该寄存器名称。具有较高的传送和运算速度。,3.2.2 寄存器寻址,例:MOV A,R0 INC R3,寻址空间,R0R7,A,B(AB),DPTR,下午2时43分56秒,广东松山职业技术学院课件制作组,例:MOV A,R0 ;设(R0)=30H,0工作寄存器组,00H,7FH,30H,30H,80H,FFH,A,E8H,FFFFH,MOV A,R0,0000H,ROM,SFR,RAM,结果:(A)=30H,3.2.2 寄存器寻址,下午2时43分56秒,广东松山职业技术学院课件制作组,指令操作数部分所指定的寄存器中存放的不是操作数,而是操作数的地址,从该地址取操作数。 用符号表示。,3.2.3 寄存器间接寻址,寻址空间,片内RAM,片外RAM,间址寄存器,R0或R1,DPTR(片外RAM64KB),片内RAM,片外RAM(256B),MOV,MOVX,下午2时43分56秒,广东松山职业技术学院课件制作组,例:MOV A, R0 ;设(R0)=30H,E6H,FFFFH,MOV A, R0,0000H,ROM,结果:(A)=5AH,30H,7FH,5AH,5AH,80H,FFH,A,SFR,RAM,30H,R0,3.2.3 寄存器间接寻址,下午2时43分56秒,广东松山职业技术学院课件制作组,例如: MOV A,R0 ; ( ( R0 ) ) ( A ) PUSH ACC ; ( A ) ( ( SP ) ) MOVX A,DPTR ;( ( DPTR ) ) ( A ),3.2.3 寄存器间接寻址,注意:特殊功能寄存器不能用寄存器间接寻址访 问,只能用直接寻址访问。,下午2时43分56秒,广东松山职业技术学院课件制作组,操作码后的字节是操作数的地址,操作数本身放在该地址指示的存储单元中。,3.2.4 直接寻址,注意:直接寻址与寄存器寻址的区别; 字节地址和位地址的区别。 如:MOV A,20H MOV C,20H,下午2时43分56秒,广东松山职业技术学院课件制作组,例:MOV A,50H ;设(50H)=3AH,50H,7FH,3AH,3AH,80H,FFH,A,FFFFH,MOV A,50H,0000H,ROM,SFR,RAM,结果:(A)=3AH,3.2.4 直接寻址,下午2时43分56秒,广东松山职业技术学院课件制作组,以16位寄存器(数据指针DPTR和PC)作为基地址,加上地址偏移量(A),形成操作数地址。,3.2.5 变址寻址,寻址空间:ROM,基址寄存器:,DPTR,PC,偏移量寄存器:A,操作数地址:,下午2时43分56秒,广东松山职业技术学院课件制作组,累加器A,ROM,DPTR,DPH,DPL,执行前:34H,执行后:AAH,12H,00H,算数逻辑单元ALU,PC,PC+1,93H,1200H,1234H,AAH,(A)+(DPTR)=1234H,例:MOVC A , A+DPTR,结果: (A)=AAH,3.2.5 变址寻址,下午2时43分56秒,广东松山职业技术学院课件制作组,以PC当前值为基准地址,加上指令中相对偏移量 rel 形成转移目标地址。,3.2.6 相对寻址,rel 取值范围是:128127。(补码),源地址:相对转移指令所在的地址 目标地址:转移后的地址,目标地址=(源地址+转移指令字节数)+偏移量(rel),偏移量(rel)=目标地址-(源地址+指令字节数) =目标地址-PC当前值,下午2时43分56秒,广东松山职业技术学院课件制作组,ROM,PC当前值,算数逻辑单元ALU,PC 1000H,PC+11001H,80H,1052H,(PC)=1000H+02H+50H=1052H,例:SJMP 50H,结果: (PC)=1052H,PC+21002H,50H,(源地址),(目标地址),操作码,偏移量,1002H,3.2.6 相对寻址,下午2时43分56秒,广东松山职业技术学院课件制作组,是将8位二进制数中的某一位作为操作数,在指令中给出的是位地址。,3.2.7 位寻址,片内RAM寻址区直接使用地址。 SFR的寻址位可直接寄存器名加位数表示。 如: CLR ACC.0 MOV 30H,C,寻址空间,片内RAM中位寻址区,SFR中的可寻址位,下午2时43分56秒,广东松山职业技术学院课件制作组,3.3 数据传送类指令,一般不影响PSW状态,传送类指令分成两大类,MOV,一般传送 非MOV,特殊传送, 如:MOVC、MOVX、PUSH、POP、XCH、XCHD及SWAP。,数据传送类指令功能:将指令中源操作数的内容送 到目的操作数。,下午2时43分56秒,广东松山职业技术学院课件制作组,8位传送,data不能用作目的
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号