单片机原理及其接口技术胡汉口第3版第3章-指令系统

上传人:飞*** 文档编号:46151085 上传时间:2018-06-23 格式:PPT 页数:135 大小:2.47MB
返回 下载 相关 举报
单片机原理及其接口技术胡汉口第3版第3章-指令系统_第1页
第1页 / 共135页
单片机原理及其接口技术胡汉口第3版第3章-指令系统_第2页
第2页 / 共135页
单片机原理及其接口技术胡汉口第3版第3章-指令系统_第3页
第3页 / 共135页
单片机原理及其接口技术胡汉口第3版第3章-指令系统_第4页
第4页 / 共135页
单片机原理及其接口技术胡汉口第3版第3章-指令系统_第5页
第5页 / 共135页
点击查看更多>>
资源描述

《单片机原理及其接口技术胡汉口第3版第3章-指令系统》由会员分享,可在线阅读,更多相关《单片机原理及其接口技术胡汉口第3版第3章-指令系统(135页珍藏版)》请在金锄头文库上搜索。

1、第3章:51单片机指令系统本章基本要求: 指令的概念 51-单片机的寻址方式* 51-单片机指令系统*(概念3-1) 一台计算机所能执行的全部的指令集合 成称指令系统3.1 3.1 指令系统概述指令系统概述(概念3-2)指令是一种可供计算机执行的控制代码 (指令码),指令码分为操作码和操作数(概念3-3)程序:采用指令系统中的指令根据题目要求排列起来的有序指令集和。 (概念3-4)程序的编制称为程序设计 指令系统 设计一种CPU,一般从设计指令系统开始因而,一种机 器的指令系统是机器本身固有的用户无法改变,必须继 承、学习、掌握、应用决定了机器的性能机器语言,二进制代码,是机器唯一能直接识别、

2、执行的语言 。为了记忆和阅读方便,制造商对指令系统每一条指令,都给 出了指令助记符。(概念3-5)助记符:有英文单词或缩写字母形象表征指令功能(概念3-6)用助记符,操作数,标号编写的程序称为汇编语言源程序。一、汇编语言汇编语言必须翻译成机器语言才能被机器执行 程序设计语言汇编语言;高级语言 完成由汇编语言到机器代码的过程叫汇编 汇编的方法有两种:自动汇编、手工汇编 由机器代码到汇编语言的过程叫反汇编汇编语言 源程序机器语言 汇编反汇编交叉 汇编二、汇编语言的格式 标号: 操作码 操作数 ;注释START: MOV A , #00H ; 0-A其中除操作码部分是必须的,括号内的区段是任选项。1

3、、标号 标号是该指令的符号地址,可根据需要设定 必须以字母开始,以“ :”结束,长度不超过8个字 符 系统中的保留字符不能作标号, 如: SFR名、ADD等 标号可被其他语句的操作数直接引用 源程序中,一个标号只能定义一个语句,不能相重名字保持一义性一个汇编语句分为四个区段2、操作码 由指令系统的助记符、伪指令助记符组成。 操作码是每一句汇编语言所必须的 操作码和操作数之间用空格分开 3、操作数 可为二进制数 (B) , 十进制数 (D) ,十六进制数 (H)数字大于9,则数字应以“0”开头 可以是操作数地址、立即数、标号、表达式如 M+3 目的操作数和源操作数之间用“,”分开可以是寄存器名如

4、A、B、R、DPTRM标号被定义过的BinaryDecimalHexadecimal指出该语句的操作性质4、注释 以“ ;”开头,是程序员对指令操作的解释, 以帮助阅读、理解程序的意义 可有可无 汇编时对这部分不予处理,不译成任何机器代码 可用英语或某种简洁的方式解释指令,或打印 程序清单3.1概述3.1.1 指令格式指令由操作码和操作数两部分组成。 操作码:描述指令的功能。 操作数:描述指令操作的对象,这个对象有时用直接数据,有时用操作数的地址来给出。 有些指令是单操作数。有些指令是双操作数,取名为源操作数和目的操作数。操作码操作数或操作数地址3.1概述3.1.2 指令的三种表示形式 三种形

5、式为:二进制形式、十六进制形式、 助记符形式。 二进制形式:可以直接为CPU识别和执行的 形式。 十六进制形式:为二进制形式的压缩形式。 助记符形式:也叫汇编语句形式,是用英文缩写描述指令功能的形式。其特点是:便于记忆 和使用,在执行时必须翻译成二进制形式。3.1概述3.1.3 指令的长度 51单片机的指令(111条)分为单字节、双字 节、三字节三种长度。 1、单字节指令:有49条,可进一步分为无操作 数、有操作数两种。 2、双字节指令:有46条,前一字节存放操作码 ,后一字节存放操作数。 3、三字节指令:有16条,前一字节存放操作码 ,后两字节存放操作数。 一般讲,指令长度越短,执行速度越快

6、。3.1.4通常指令是按照功能来分类的:51单片机指令分5类1、数据传送指令:28条,用于片内RAM间、片内RAM与片 外RAM数据传送。2、算术运算指令:24条,用于对两个操作数进行加、减、 乘、除运算3、逻辑操作和移位指令:25条,对指定操作数进行逻辑运 算和移位运算。4、控制转移指令:17条,用于控制程序的流程和执行的方向。其操作是以改变PC的值来实现。5、位操作指令:17条,也叫布尔操作指令。分为位传送、位置位、位复位、位运算、位控制转移等等。这类指令的操作数是以位为对象。3.1概述3.1.5 指令系统综述指令系统:某种CPU的指令的集合。他与CPU的 硬件电路密切相关,学习指令时必须

7、注意到这 一背景。不同的CPU具有不同的指令系统。掌握指令的三要素:指令功能、指令状态、指 令长度。1、指令系统中常用符号(附录C)(基础知识) Rn:工作寄存器,可以是R0R7之一。 #data:8位立即数,是00HFFH之一。3.1概述 #data16:16位立即数,是0000HFFFFH之一。 direct:8位直接地址,是00HFFH之一,也可 以是SFR中的一个,对于SFR可直接用其名称来 代替其直接地址。 Ri:表示寄存器间接寻址。 DPTR:使用16位DPTR间接寻址,用于对外部 RAM/ROM寻址。 bit:位地址 addr11/16:11/16位目标地址。 rel:8位带符号

8、地址偏移量。 $:当前指令地址。3.1概述2、指令对标志位的影响:指令系统中的算术类指令,位移类指令、逻辑运算类指令等的运算会对标志寄存器PSW中的某些位有影响。这些对标志位的影响是这类指令的重要特征,也是使用条件转移指令的依据。需要仔细掌握应用。3.2 寻址方式(概念3-7)所谓寻址方式:是指指令寻找操作数的方法。51单片机有7种寻址方式:寄存器寻址、直接寻址、立即寻址、寄存器间接寻址、(寄存器)变址寻址、相对寻址、位寻址。3.2 MCS-513.2 MCS-51指令的寻址方式指令的寻址方式用何种方式寻找指令的操作数或指令的执行地址 1、立即寻址寻址空间:指令形式:操作码 立即数v程序存储器

9、v指令的操作数存放在程序存储器中v操作数紧跟操作码后面立即寻址:在 哪 里 ?用何种方式寻找OP #data指令的寻址方式:指令的寻址方式:MOV A,# 30H;A #30H 例1:操作码立即数PCPC PC74H 30HROM A 30HMOV DPTR,# 8000H;DPTR #8000H 例2:操作码PCPC PC立即数的高8位 立即数的低8位DPHDPLPC80H00H 90H 80HROM00H 2、直接寻址寻址空间:指令的三种形式:操作码 操作数地址v在指令中直接给出操作数的真实地址v操作码后面紧跟一个实际操作数地 址操作码 操作数地址 立即数操作码 源操作数地址 目的操作数地

10、址 内RAM的低128字节 特殊功能寄存器SFR区直接寻址直接寻址是访问 SFR 的唯一方法00H7FH80HFFHCPU内部直接 间接注意事项:累加器A,ACC,0E0H直接寻址 当直接寻址的地址是SFR中的一个时,直接地 址可使用SPR物理地址也可以是名称 MOV A,SP MOV A,81H INC A ;寄存器寻址 INC ACC INC 0E0H MOV A,20H MOVC,20H ;位寻址“与 ”MOV A, 30H;A (30H) 例1:操作码 操作数地址PCPC PC74H 30HROM A 内RAM 30H ANL 30H,#30H;30H (30H) #30H 例2:操作

11、码PCPC PC直接地址 立即数 PC53H 30HROM30H 内RAM 30H ALU“结果”3、寄存器寻址:指令码中含有该操作数的寄存器号寻址空间:指令的三种形式:操作码当前选定的寄存器内容就是实际操作数操作码 立即数操作码 直接地址R0R7,(由RS0、RS1确定寄存器区/4)A、B、CY(位),DPTR、ABMOV A,R311101XXX;A (R3) 例1:ADD A,R3;A (A)+(R3)例2:寄存器寻址:操作数隐含 操作数显然4、寄存器间接寻址寻址空间:指令的三种形式:操作码操作码 立即数操作码 直接地址内部 RAM(R0, R1, SP)外部 RAM(R0, R1,DP

12、TR)寄存器间接寻址: 指令选定的寄存器内容就是实际的操作数地址MOV R0,A例1:操作码PCPCF6HROMR030H;累加器传送指令内RAM 30HA MOVX A,DPTR例2:操作码PCPCE0HROMDPTR 2000H外RAM 2000HA “读”RD“读”5、基址寄存器加变址寄存器间接寻址基址寄存器加变址寄存器间接寻址:以DPTR或PC作基址寄存器,A作变址寄存器两者相加形成操作数地址。寻址空间:程序存储器(A+DPTR、A+PC)指令形式:操作码MOVC A,A+DPTR例:操作码PCPCDPTR 2400HA0FH93HROM 240FH设(A)= 0FH (DPTR)=

13、2400H ALU“读”PSEN“读”MOVC A,A+DPTR6、相对寻址程序存储器寻址空间:指令的三种形式:操作码rel操作码直接地址rel操作码立即数rel相对寻址以当前PC值为基准地址,加上指令的偏移量“rel”,结果为目标地址。rel为有符号补码数,范围:-128+127一般为双字节或三字节指令寻址指令 执行地址 目标地址JNZ rel例:; 累加器A不等零则转移设:rel=23H2025H2002H2001H2000HROM70H 23H下一条指令.操作码PCPC PC(PC)=2002Hrel=23H修正后转移 目标地址D (PC) = 2025HPCALU偏移量(PC) = 2

14、 0 0 2 H Rel = 2 3 H)00 5202HD =2025H2112H2111H2110HROMDFH F2H下一条指令.操作码PCPC PC(PC)=2112Hrel=F2H修正后转移 目标地址 D (PC) = 2104HALU偏移量例:DJNZ R7,rel ;(R7) 1不为“0”则转PC2104H指 令(PC) = 2 1 1 2 H Rel = F 2 H)FF 4012HD =7、位寻址寻址空间:片内RAM的20H2FH字节地址位地址:00H7FH 共128位SFR中12个能被8整除的字节地址位地址 共93位MOV C,7FH MOV C,2FH.7以访问触发器的方

15、式,对内部RAM、SFR的位地址空间进行访问,称为位寻址。位地址用于布尔指令。共221位寻址方式与相应的寻址空间小结:寄存器R0R7,A,B CY,DPTR片内内RAM的低128字节 特殊功能寄存器SFR直接寻址direct寄存器间址R0, R1, SPR0, R1 ,DPTR片内RAM、 片外RAM与I/O口立即数#data 程序存储器程序存储器基址加变址A+DPTR,A+PC程序存储器相对寻址PC+rel位寻址片内RAM 20H2FH 部分SFRbit利用的变量 使用的空间方 式3.3数据传送指令数据传送类指令共29条,它是指令系统中最活 跃、使用最多的一类指令。这类指令的操作是把源操作数传送到目的操作 数,即指令执行后目的操作数改为源操作数, 而 源操作数保持不变。若要求在进行数据传送时, 不丢失目的操作数,则可以用交换型传送指令。数据传送类指令不影响进位标志CY、半进位标 志AC和溢出标志OV,但当传送或交换数据后影响 累加器A的值时,奇偶标志P的值则按A的值重新 设定。数据传送类(29条)用到的指令助记符有5种:片内传送

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 其它考试类文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号