MCS51单片机指令系统.ppt
《MCS51单片机指令系统.ppt》由会员分享,可在线阅读,更多相关《MCS51单片机指令系统.ppt(114页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、3.1 指令系统概述指令系统概述3.2 MCS-51指令的寻址方式指令的寻址方式3.3 MCS-51指令系统介绍指令系统介绍下页下页 一台计算机所能执行的全部的一台计算机所能执行的全部的指令集合指令集合3.1 3.1 指令系统概述指令系统概述指令指令是计算机中具有特定功能的是计算机中具有特定功能的操作命令操作命令 程序与程序设计程序与程序设计按预定要求编排的按预定要求编排的指令序列指令序列称为称为程序程序。编排的过程称。编排的过程称为为程序设计程序设计 指令系统指令系统 设计一种设计一种CPU,一般从设计指令系统开始,一般从设计指令系统开始因而,一种机器的指令系统是机器本身固有的因而,一种机器
2、的指令系统是机器本身固有的决定了机器的性能决定了机器的性能用户无法改变,必须继承、学习、掌握、应用用户无法改变,必须继承、学习、掌握、应用上页上页下页下页回目录回目录机器语言机器语言:二进制代码,是机器唯一能直接识别、执行的语言。二进制代码,是机器唯一能直接识别、执行的语言。汇编语言:汇编语言:为了记忆和阅读方便,制造商对指令系为了记忆和阅读方便,制造商对指令系统每一条指令,都给出了指令助记符。统每一条指令,都给出了指令助记符。用用助记符助记符,操作数操作数,标号标号编写的程序称编写的程序称为为汇编语言源程序汇编语言源程序。一、汇编语言一、汇编语言汇编语言必须翻译成机器语言才能被机器执行汇编语
3、言必须翻译成机器语言才能被机器执行 程序设计语言程序设计语言汇编语言:汇编语言:高级语言:高级语言:符号语言:符号语言:上页上页下页下页回目录回目录如如P55,图,图3-1所示。全是机器码所示。全是机器码完成由汇编语言到机器代码的过程叫汇编完成由汇编语言到机器代码的过程叫汇编汇编的方法有两种:自动汇编、手工汇编汇编的方法有两种:自动汇编、手工汇编由机器代码到汇编语言的过程叫反汇编由机器代码到汇编语言的过程叫反汇编汇编语言汇编语言源程序源程序机器语言机器语言(二进制代码二进制代码)汇编汇编 反汇编反汇编上页上页下页下页回目录回目录MCS-51交叉交叉汇编汇编二、汇编语言的格式二、汇编语言的格式
4、标号:标号:操作码操作码 操作数操作数 ;注释;注释 其中除操作码部分是必须的,括号内的区段是任选项。其中除操作码部分是必须的,括号内的区段是任选项。1 1、标号、标号标号是该指令的符号地址,可根据需要设定标号是该指令的符号地址,可根据需要设定必须以字母开始,以必须以字母开始,以“:”结束,长度不超过结束,长度不超过8 8个字个字符符系统中的保留系统中的保留字符字符不能作标号不能作标号,如如:SFR名、名、ADD等等标号可被其他语句的操作数直接引用标号可被其他语句的操作数直接引用源程序中源程序中,一个标号只能定义一个语句一个标号只能定义一个语句,不能相重不能相重名字名字保持一义性保持一义性上页
5、上页下页下页回目录回目录一个汇编语句分为四个区段一个汇编语句分为四个区段操作码操作码操作码操作码操作码操作码2 2、操作码、操作码由指令系统的由指令系统的助记符助记符、伪指令、伪指令助记符助记符组成。组成。操作码是每一句汇编语言所必须的操作码是每一句汇编语言所必须的操作码和操作数之间用空格分开操作码和操作数之间用空格分开3 3、操作数、操作数可为二进制数可为二进制数(B),十进制数十进制数(D),十六进制数十六进制数(H)数字大于数字大于9,则数字应以,则数字应以“0”开头,开头,如:如:#0AFH可以是操作数地址、立即数、标号、表达式如可以是操作数地址、立即数、标号、表达式如 M+3目的目的
6、操作数和操作数和源源操作数之间用操作数之间用“,”分开分开可以是寄存器名如可以是寄存器名如A、B、R、DPTRM标号标号被定义过的被定义过的上页上页下页下页回目录回目录BinaryDecimalHexadecimal指出该语句的操作性质指出该语句的操作性质4 4、注释、注释以以“;”开头,是程序员对指令操作的解释,开头,是程序员对指令操作的解释,以帮助阅读、理解程序的意义以帮助阅读、理解程序的意义可有可无可有可无汇编时对这部分不予处理,不译成任何机器代码汇编时对这部分不予处理,不译成任何机器代码可用英语或某种简洁的方式解释指令,或打印可用英语或某种简洁的方式解释指令,或打印 程序清单程序清单上
7、页上页下页下页回目录回目录三、伪指令三、伪指令伪指令仅在汇编过程中起控制作用不产生伪指令仅在汇编过程中起控制作用不产生可执行可执行目标代码,又称为软指令目标代码,又称为软指令1、起点指令、起点指令 ORG格式:格式:ORG H功能:功能:给程序给程序起始地址起始地址或数据块的或数据块的起始地址起始地址赋值赋值例:例:用法:用法:一般出现在每段源程序或数据块的开始一般出现在每段源程序或数据块的开始一个源程序可多次出现一个源程序可多次出现ORG指令指令ORG 8000HSTART:MOV A,#74H ;源程序的起始地址源程序的起始地址为为8000H上页上页下页下页回目录回目录首地址首地址首地址首
8、地址2、结束命令、结束命令 END格式:格式:END功能:汇编程序结束标志功能:汇编程序结束标志附在一个源程序的结尾附在一个源程序的结尾 一个源程序只能出现一次一个源程序只能出现一次END指令指令3、定义字节命令、定义字节命令 DB格式:格式:功能:功能:标号:标号:DB 字节常数或字符串字节常数或字符串 (8 8位位)定义字节的内容,汇编程序把定义字节的内容,汇编程序把DB定义的定义的字节依次存入字节依次存入标号开始标号开始的存储单元的存储单元用法:用法:有定义的内存单元有定义的内存单元地址地址项或项表项或项表上页上页下页下页回目录回目录例:例:ORG 8000HTAB:DB 45H,73,
9、5,ATAB1:DB 101B伪指令伪指令ORG 定义了数据块定义了数据块TAB的起始地址为的起始地址为8000H伪指令伪指令DB定义了定义了8000H8003单元的内容依次为:单元的内容依次为:(8000H)=45H(8001H)=49H(8002H)=35H(8003H)=41H(8004H)=05HTABTAB1(1)由由 ORG定义定义(2)跟在其他源程序之后跟在其他源程序之后上页上页下页下页回目录回目录4、定义字命令、定义字命令DW格式:格式:功能:功能:标号:标号:DW 字或字表字或字表定义若干个字(双字节)定义若干个字(双字节)例:例:ORG 8000HTAB:DW 7234H,
10、8AH,10(8000H)=72H(8001H)=34H(8002H)=00H(8003H)=8AH(8005H)=0AH汇编后:汇编后:(8004H)=00H上页上页下页下页回目录回目录按顺序存放!5、定义空间命令、定义空间命令 DS格式:格式:功能:功能:标号:标号:DS 数据或字符数据或字符及及表达式表达式例:例:(8008H)=30H(8009H)=8AH从指定单元地址开始,由数据或字符及从指定单元地址开始,由数据或字符及表达式的值来定义应保留的单元数表达式的值来定义应保留的单元数,备用备用ORG 8000HDS 08HDB 30H,8AH即:即:8000H8007H单元保留备用单元保
11、留备用定义定义空间空间上页上页下页下页回目录回目录6、等值命令、等值命令 EQU格式:格式:字符名称字符名称 EQU 数据或汇编符号数据或汇编符号功能:功能:将一个数据或汇编符号赋予标号段规定将一个数据或汇编符号赋予标号段规定的字符名称的字符名称例:例:ORG 8000H AA EQU R6MOV A,AA;AA与与R6等值等值;A (R6)上页上页下页下页回目录回目录例例:A10 EQU 10DELY EQU 07EBH MOV A,A10 LCALL DELY;A10=10;DELY=07EBH;转向入口地址;转向入口地址 07EBH使用使用EQU指令,须先赋值后使用,不能反之指令,须先赋
12、值后使用,不能反之上页上页下页下页回目录回目录7、数据地址赋值等值命令、数据地址赋值等值命令 DATA格式:格式:字符名称字符名称 DATA 数据或表达式数据或表达式功能:功能:此命令把数据此命令把数据/代码地址赋予标号段所规定的代码地址赋予标号段所规定的字符名称。定义的字符名称字符名称。定义的字符名称可可先使用后定义先使用后定义INDEXJ DATA 8389HORG 8000HINDEXJ DATA 8096H LJMP INDEXJENDORG 8000H LJMP 8096HEND;INDEXJ这个字符名称的地址为这个字符名称的地址为8389H例:例:上页上页下页下页回目录回目录等等价
13、价于于 EQU与与 DATA的区别的区别(1)DATA与与EQU相似,但相似,但DATA定义的字符名称定义的字符名称,可先使用后定义可先使用后定义,EQU则不能则不能(2)EQU指令可把汇编符号赋给字符名称,指令可把汇编符号赋给字符名称,DATA则不能则不能 (3)DATA可把表达式的值赋给字符名称,可把表达式的值赋给字符名称,EQU则不能则不能 DATA常在程序中定义数据地址常在程序中定义数据地址EQU常在程序中定义字符数据常在程序中定义字符数据 上页上页下页下页回目录回目录8、位地址符号命令、位地址符号命令 BIT格式:格式:字符名称字符名称 BIT 位地址位地址功能:功能:把位地址赋予标
14、号段的字符名称把位地址赋予标号段的字符名称 A1 BIT P1.0A2 BIT P2.0例:例:;P1.0,P2.0赋予位地址字符名称赋予位地址字符名称 A1、A2,在编程时可以直接把,在编程时可以直接把 A1、A2 当成位地址使用当成位地址使用上页上页下页下页回目录回目录汇编程序的操作汇编程序的操作分两次扫描(分两次扫描(汇编汇编)第一次扫描(第一次扫描(汇编汇编)检查语法结构,对源程序检查语法结构,对源程序中的符号、表达式、标号中的符号、表达式、标号进行定义,处理伪指令,进行定义,处理伪指令,建立符号表建立符号表上页上页下页下页回目录回目录显示显示 ERROR,并提示行号,并提示行号显示显
15、示 ERROR,并提示行号,并提示行号修改!修改!修改!修改!第二次扫描(第二次扫描(汇编汇编)汇编成目标代码和汇编程序汇编成目标代码和汇编程序清单清单可执行的代码(机器码)可执行的代码(机器码)三、三、MCS-51指令系统的特点指令系统的特点1 1、执行速度快,存储效率高、执行速度快,存储效率高MCS-51指令系统共有指令系统共有111条指令条指令按字节分按字节分单字节指令单字节指令4949条条双字节指令双字节指令4545条条三字节指令三字节指令1717条条按周期分按周期分单周期指令单周期指令6464条条双周期指令双周期指令4545条条四周期指令四周期指令2 2条条设时钟频率为设时钟频率为1
16、2MHz,则指令执行的时间分别为:,则指令执行的时间分别为:1 s 582 s 404 s 2占居占居空间空间占居占居时间时间时时空空上页上页下页下页回目录回目录硬件由硬件由221位构成位构成2 2、指令易掌握,功能强、指令易掌握,功能强具有丰富的位操作指令、查表指令、散转指令具有丰富的位操作指令、查表指令、散转指令乘除指令等。构成了完整的指令系统乘除指令等。构成了完整的指令系统3 3、适合于控制、智能仪表、适合于控制、智能仪表布尔处理机布尔处理机布尔运算器布尔运算器ALU布尔累加器布尔累加器CY(PSW.7)布尔布尔RAM区区 共共128位位布尔布尔I/O口口P0P3口每位都可口每位都可做布
17、尔做布尔I/O口口 布尔指令子集布尔指令子集 17条布尔指令条布尔指令上页上页下页下页回目录回目录四、寻址方式(四、寻址方式(7 7种)种)立即寻址立即寻址 直接寻址直接寻址 寄存器寻址寄存器寻址 寄存器间接寻址寄存器间接寻址 基址寄存器加变址寄存器间接寻址基址寄存器加变址寄存器间接寻址 相对寻址相对寻址 位寻址位寻址上页上页下页下页回目录回目录五、五、MCS-51指令分类(指令分类(5类)类)数据传送(数据传送(29条)条)算术运算(算术运算(24条)条)逻辑运算(逻辑运算(24条)条)控制转移(控制转移(17条)条)布尔处理(布尔处理(17条)条)共共111111条指令条指令上页上页下页下
18、页回目录回目录介绍描述指令符号的意义介绍描述指令符号的意义当前选中寄存器区的当前选中寄存器区的8个工作寄存器(个工作寄存器(R0R7)RnRidirect-8位内部位内部RAM单元地址单元地址 00H7FH 专用特殊功能寄存器专用特殊功能寄存器SFR的地址的地址80HFFH 立即数(立即数(8位)位)#data#data16 立即数(立即数(16位)位)当前选中寄存器区中可做当前选中寄存器区中可做间址间址寄存器的寄存器的 2个工作寄存器(个工作寄存器(R0、R1)n=07i=0、1上页上页下页下页回目录回目录P61addr16 16位目的地址,用于位目的地址,用于LCALL、LJMP指令指令
19、地址范围地址范围64KB ROM空间空间addr11 11位目的地址,用于位目的地址,用于ACALL、AJMP指令指令 地址范围地址范围2KB ROM空间空间relDPTR 数据地址指针,可做数据地址指针,可做16位间址寄存器位间址寄存器 bit 内内RAM或或SFR中的直接位寻址中的直接位寻址 8位带符号的偏移量,位带符号的偏移量,用于用于SJMP和所有的条件转移指令中和所有的条件转移指令中范围范围-128127上页上页下页下页回目录回目录A 累加器累加器B 专用寄存器,用于专用寄存器,用于MUL和和DIV指令指令C 位累加器位累加器(PSW.7),进位,进位/借位标志借位标志 间址或基址寄
20、存器前缀如间址或基址寄存器前缀如 Ri,A+DPTR/位操作的前缀,表示对该位操作数取反位操作的前缀,表示对该位操作数取反(X)X中的内容中的内容((X))由由X寻址的单元中的内容寻址的单元中的内容箭头左边的内容被箭头右边的内容所代替箭头左边的内容被箭头右边的内容所代替DPTR,A+PC上页上页下页下页回目录回目录3.2 MCS-513.2 MCS-51指令的寻址方式指令的寻址方式指令的寻址方式指令的寻址方式用何种方式寻找指令的用何种方式寻找指令的操作数操作数或指令的或指令的执行地址执行地址1 1、立即寻址、立即寻址寻址空间:寻址空间:指令形式:指令形式:操作码操作码立即数立即数v程序存储器程
21、序存储器v指令的操作数存放在程序存储器中指令的操作数存放在程序存储器中v操作数紧跟操作码操作数紧跟操作码OP后面后面立即寻址:立即寻址:在在 哪哪 里里?用何种方式寻找用何种方式寻找OP#dataImmediate Addressing上页上页下页下页回目录回目录指令的寻址方式:指令的寻址方式:指令的寻址方式:指令的寻址方式:MOV A,#30H;A#30H 例例1 1:操作码操作码立即数立即数PCPCPC74H30HROMROM A30HMOV DPTR,#8000H;DPTR#8000H 例例2 2:操作码操作码PCPCPC立即数的高立即数的高8 8位位立即数的低立即数的低8 8位位DPH
22、DPHDPLDPLPC80H80H00H00H90H80HROMROM00H 上页上页下页下页回目录回目录2 2、直接寻址、直接寻址寻址空间:寻址空间:指令的三种形式:指令的三种形式:操作码操作码操作数地址操作数地址v在指令中直接给出操作数的在指令中直接给出操作数的真实地址真实地址v操作码后面操作码后面紧跟一个实际紧跟一个实际操作数地址操作数地址操作码操作码操作数地址操作数地址立即数立即数操作码操作码源操作数地址源操作数地址目的操作数地址目的操作数地址内内RAM的低的低128字节字节特殊功能寄存器特殊功能寄存器SFR区区直接寻址直接寻址直接寻址是访问直接寻址是访问 SFR 的唯一方法的唯一方法
23、Direct Addressing上页上页下页下页回目录回目录00H7FH80HFFHCPU内部内部直接直接间接间接“与与”上页上页下页下页回目录回目录MOV A,30H;A (30H)例例1 1:操作码操作码操作数地址操作数地址PCPCPCE5H30HROMROM A内内RAMRAM 30H ANL 30H,#30H;30H (30H)#30H 例例2 2:操作码操作码PCPCPC直接地址直接地址立即数立即数PC53H30HROMROM 30H 内内RAMRAM 30H ALU“结果结果”3 3、寄存器寻址、寄存器寻址寻址空间:寻址空间:指令的三种形式:指令的三种形式:操作码操作码当前选定的
24、当前选定的寄存器内容寄存器内容就是实际操作数就是实际操作数操作码操作码立即数立即数操作码操作码直接地址直接地址R0R7,由,由RS0、RS1确定确定寄存器区寄存器区/4A、B、CY(位),(位),DPTR、ABMOV A,R3;A (R3)例例1 1:ADD A,R3;A (A)+(R3)例例2 2:寄存器寻址:寄存器寻址:Register Addressing操作数操作数隐含隐含操作数显然操作数显然隐含寻址隐含寻址上页上页下页下页回目录回目录4 4、寄存器间接寻址、寄存器间接寻址寻址空间:寻址空间:指令的三种形式:指令的三种形式:操作码操作码操作码操作码立即数立即数操作码操作码直接地址直接地
25、址内部内部 RAM(R0,R1,SP)外部外部 RAM(R0,R1,DPTR)寄存器间接寻址:寄存器间接寻址:指令选定的指令选定的寄存器内容寄存器内容就是实际就是实际的的操作数地址操作数地址Register Indirect Addressing上页上页下页下页回目录回目录MOV R0,A例例1 1:操作码操作码PCPCF6HROMROMR0R030H;累加器传送指令;累加器传送指令内内RAMRAM 30HA MOVX A,DPTR例例2 2:操作码操作码PCPCE0HROMROMDPTRDPTR 2000H外外RAMRAM 2000HA “读读”RD“读读”上页上页下页下页回目录回目录5 5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS51 单片机 指令系统
限制150内