2008_gcs微机原理ch03指令

上传人:j****9 文档编号:54828375 上传时间:2018-09-20 格式:PPT 页数:193 大小:2.10MB
返回 下载 相关 举报
2008_gcs微机原理ch03指令_第1页
第1页 / 共193页
2008_gcs微机原理ch03指令_第2页
第2页 / 共193页
2008_gcs微机原理ch03指令_第3页
第3页 / 共193页
2008_gcs微机原理ch03指令_第4页
第4页 / 共193页
2008_gcs微机原理ch03指令_第5页
第5页 / 共193页
点击查看更多>>
资源描述

《2008_gcs微机原理ch03指令》由会员分享,可在线阅读,更多相关《2008_gcs微机原理ch03指令(193页珍藏版)》请在金锄头文库上搜索。

1、第3章 MCS-51的指令系统,2,本章是全书的重点之一,是汇编语言程序设计的基础。,学习指令系统重点要掌握以下几点:1、指令功能2、寻址方式3、操作数的位数和存储结构4、对PSW的影响5、指令与存储区的对应关系6、各类指针及其指向的地址范围7、转移指令的转移范围8、指令字节数和机器周期数,3,本章主要介绍单片机的寻址方式及指令系统,是必须掌握的内容。一台计算机所有指令的集合,称为该计算机的指令系统。各种计算机都有专用的指令系统。,4,第三章 基本内容:,3.1 指令系统概述,3.2 指令格式,3.3 指令系统的寻址方式,3.4 MCS-51指令系统分类介绍,3.1 指令系统概述 MCS-51

2、的基本指令共111条,按指令所占的字节来分:(1) 单字节指令49条;(2) 双字节指令45条;(3) 三字节指令17条。 按指令的执行时间来分:(1) 1个机器周期(12个时钟振荡周期)指令64条(2) 2个机器周期(24个时钟振荡周期)指令45条(3) 只有乘、除两条指令的执行时间为4个机器周期(48个时钟振荡周期)。 12MHz晶振:机器周期为1s。,6,第三章 基本内容:,3.1 指令系统概述,3.2 指令格式,3.3 指令系统的寻址方式,3.4 MCS-51指令系统分类介绍,7,一条用助记符表示的汇编语言指令,操作码,操作数,指令的功能,指令的操作对象,ADD A , #10H ;A

3、DD为操作码,A及#10H为操作数,汇编语言指令格式,8,汇编语言指令格式,标号:操作码助记符 目的操作数,源操作数;注释例如:Loop:MOV A,R0; (R0) -(A),9,3.2 指令格式 有单字节指令、双字节指令、三字节不同长度的指令,格式不同:(1)单字节指令:指令只有一个字节,操作码和操作数同在一个字节中。(2)双字节指令:一个字节为操作码,另一个字节是操作数。(3)三字节指令:操作码占一个字节,操作数占二个字节。其中操作数既可能是数据,也可能是地址。,10,机器语言指令格式,双字节:,单字节:,操作码,操作码 操作数或寻址方式,操作码,操作数或寻址方式,例:ADD A , #

4、10H,或,11,指令字长有三种:单字节 RET双字节 MOV A,#68H三字节 MOV 30H,46H,指令字长和指令周期,指令周期是指执行一条指令所需要的时间1 机器周期指令 2 机器周期指令4 机器周期指令,P61-64 表3-2,3-6,12,指令分类,按指令功能分类,按指令字长分类,按指令执行时间分类,45,17,13,第三章 基本内容:,3.1 指令系统概述,3.2 指令格式,3.3 指令系统的寻址方式,3.4 MCS-51指令系统分类介绍,14,3.3 指令系统的寻址方式,寻址方式:7种 寄存器寻址 直接寻址 寄存器间接寻址 立即寻址 变址间接寻址 相对寻址 位寻址 寻址方式与

5、寻址空间 MCS-51单片机的两个突出特点,寻址:1、寻找操作数2、为PC指针寻找目标地址,15,寻址方式就是在指令中说明操作数所在地址的方法。 共7种寻址方式。1寄存器寻址方式操作数在寄存器中 MOV A,Rn ;(Rn)A,n=07 表示把寄存器Rn的内容传送给累加器A 寻址范围包括: (1)4组通用工作寄存区共32个工作寄存器。 (2)部分特殊功能寄存器,例如A、B 以及数据指针寄存器DPTR等。,寄存器寻址操作数存放在寄存器中,MOV A,R0 MOV R0,#01001111B,工作寄存器(00H1FH)RS1 RS0 寄存器组 片内RAM地址 寄存器0 0 第0组 00H07H R

6、0R70 1 第1组 08H0FH R0R71 0 第2组 10H17H R0R71 1 第3组 18H1FH R0R7,SETB RS0 MOV R3,#56H,寄存器为 R0R7,A,DPTR,C,例如:MOV A , R3 ;机器码为 0EBH 指令功能是把当前R3中的操作数送累加器A。指令执行示意图如图33所示。设(R3)=12H,18,2直接寻址方式 操作数直接以单元地址的形式给出:MOV A,40H 寻址范围:(1) 内部RAM的128个单元(2) 特殊功能寄存器。除了以单元地址的形式外,还可用寄存器符号的形式给出。例如:MOV A,80H 与 MOV A,P0是等价的。,直接寻址

7、指令中直接给出操作数的地址,功能最强,可访问种地址空间 内部数据存储器地址空间(): MOV A,00HMOV 30H,20H 特殊功能寄存器地址空间,唯一方式 MOV A,90H MOV A,B 位地址空间 MOV C,00H,例: MOV A ,30H;机器码为E530H指令功能是把直接地址30H单元的内容送累加器A,即(30H) (A)如图31所示。,34H,34H,21,3. 寄存器间接寻址方式 寄存器中存放的是操作数的地址在寄存器的名称前面加前缀标志“” 访问内部RAM或外部数据存储器的低256个字节时,只能采用R0或R1作为间址寄存器。例如:MOV A,Ri ;i=0或1 其中Ri

8、中的内容为40H,把内部RAM40H单元内容送A。 寻址范围: (1)访问内部RAM低128个单元,其通用形式为Ri (2)对片外数据存储器的64K字节的间接寻址,例如: MOVX A,DPTR,22,(3)片外数据存储器的低256字节例如:MOVX A,Ri (4)堆栈区 堆栈操作指令PUSH(压栈)和POP(出栈)使用堆栈指针(SP)作间址寄存器,寄存器间接寻址,将指定的寄存器的内容为地址,由该地址所指定的单元内容作为操作数。mov A, R0,(R0)=31H,(R0)=(31H),(A)=02H,指针,例如: MOV A ,R1 ;机器码 E7H设(R1)=60H , (60H)=50

9、H , 执行结果(A)=50H,该指令执行过程如图34所示。,25,4立即寻址方式操作数在指令中直接给出,需在操作数前面加前缀 “#”。例如: MOV A,#40H,立即寻址在指令中直接给出操作数,例: MOV A,#7AH; 747AH 把立即数7AH送累加器A,指令执行示意图如下图所示。,例: MOV DPTR,#1234h(DPH)=12H (DPL)=34H,注意:立即数前加“ # ”号,以区别直接地址。 例如: MOV A,#30H ;(A) 30HMOV A, 30H ; (A) (30H),28,5基址寄存器加变址寄存器间址寻址方式本寻址方式是以DPTR或PC作基址寄存器,以累加

10、器A作为变址寄存器。,29,例如:指令 MOVC A,A+DPTR 其中A的原有内容为05H,DPTR的内容为0400H,该指令执行的结果是把程序存储器0405H单元的内容传送给A。 说明: (1)本寻址方式是专门针对程序存储器的寻址方式,寻址范围可达到64KB。 (2)本寻址方式的指令只有3条:MOVC A,A+DPTRMOVC A,A+PCJMP A+DPTR,变址间接寻址,基址寄存器变址寄存器的间接寻址方式DPTR/PC AMOVC A, A+DPTR(A) (DPTR) + (A)MOVC A, A+PC(A) (PC) + (A) )JMP A+DPTR(PC)=(A)+(DPTR)

11、,MOVC A ,A+PC ;83H 设执行指令之前(A)= 50H 指令功能是把该指令当前地址PC值与A累加器内容相加形成操作码地址3F51H,3F51H中的内容37H送A累加器。,PC 当前值,32,6位寻址方式 MCS-51有位处理功能,可以对数据位进行操作,例如: MOV C,40H 是把位40H的值送到进位位C。 寻址范围包括: (1)内部RAM中的位寻址区。位有两种表示方法,例如,40H;另一种是单元地址加上位,例如,(28H).0,指的是28H单元中的最低位。它们是等价的。 (2)特殊功能寄存器中的可寻址位 可寻址位在指令中有如下4种的表示方法:a. 直接使用位地址。例如PSW.

12、5的位地址为0D5H。,33,b.位名称的表示方法。例如:PSW.5是F0标志位,可使用F0表示该位。 c.单元地址加位数的表示方法。例如 :(0D0H).5。 d.特殊功能寄存器符号加位数的表示方法。例如:PSW.5。,位寻址 bit,位寻址范围:1、内部RAM的位寻址区,共16个单元的128位,字节地址为20H2FH,位地址为00H7FH。可用直接位地址或字节地址加位的表示方法。,例如: MOV C , 7AH 或 MOV C , 2FH2,2、特殊功能寄存器SFR可供位寻址的专用寄存器共11个,实有位地址位83位。位地址有4种表达方式 。以对程序状态寄存器PSW辅助进位位AC进行操作为例

13、: PSW Cy AC F0 RS1 RS0 OV P D0HD7H D6H D0H,1)直接使用位地址 3)单元地址加位的表示法MOV C ,0D6H MOV C ,0D0H.6 2)位名称表示法 4)专用寄存器符号加位的表示法MOV C , AC MOV C , PSW.6,36,7相对寻址方式 在相对寻址的转移指令中,给出了地址偏移量,以“rel”表示,即把PC的当前值加上偏移量就构成了程序转移的目的地址: 目的地址=转移指令所在的地址 + 转移指令的字节数+ rel 偏移量rel是一带符号的8位二进制数补码数 。 范围是:128 +127 向地址增加方向最大可转移(127+转移指令字节

14、)个单元地址,向地址减少方向最大可转移(128-转移指令字节)个单元地址。,相对寻址,以当前的PC值为基准,加上指令中给出的相对偏移量(rel)形成有效的转移地址。JC Loop;,rel,补码 -128,127,JC rel; 4085H 设rel=85H ,Cy=1,目标地址,PC当前值,39,问:为什么要有这么多的寻址方式?,寻找操作数的灵活性;指令的多样性;,40,回顾:MCS-51存储器结构?,41,存储器的结构,MCS-51单片机在系统结构上采用了哈佛型,其存储器在物理结构上分程序存储器(ROM) 和数据存储器(RAM)。有四个物理上相互独立的存储空间 :其配置如图2-6所示。(P

15、26),片内ROM,片外ROM,片内RAM,片外RAM/I/O口,60KB,4KB,64KB,128B RAM,128B SFR,42,寻址方式与寻址空间,43,1、内部数据存储器的寻址方式1) 00H1FH 寄存器寻址 4组R0 R7 Rn直接寻址 direct寄存器间接寻址 R0,R1例:(01H) (02H)MOV 02H,01H ;源寻址和目的寻址均为直接寻址MOV R2,01H ;源寻址为直接寻址,目的寻址为寄存器寻址MOV R0,#01HMOV 02H,R0;源寻址为寄存器间接寻址,目的寻址为直接寻址,内部数据存储器与内部I/O口统一编址,T1,44,2) 20H 2FH 可位寻址区的寻址方式字节寻址方式: 直接寻址 direct寄存器间接寻址R0,R1位寻址: bit 直接寻址 例: MOV 26H,C ; 位寻址 (26H)1位MOV 26H,A ;字节寻址(26H)8位,

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

当前位置:首页 > 生活休闲 > 科普知识

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