单片微机原理 第三章A0 单片微机指令系统及程序设计.ppt_第1页
单片微机原理 第三章A0 单片微机指令系统及程序设计.ppt_第2页
单片微机原理 第三章A0 单片微机指令系统及程序设计.ppt_第3页
单片微机原理 第三章A0 单片微机指令系统及程序设计.ppt_第4页
单片微机原理 第三章A0 单片微机指令系统及程序设计.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章 单片微机指令系统及程序设计,主讲人:吴雪,3.1 指令系统简介, 数据传送指令(28条) 算术运算指令(24条) 逻辑运算指令(25条) 控制转移类指令(17条) 位操作指令(布尔指令)17条), 单字节指令;(49条) E6H 双字节指令;(45条) 7430H 三字节指令。(17条) 852000H,一、MCS-51指令分类:,1、按功能分类:,2、按字节分类:,3、 按寻址方式分:, 立即寻址; 直接寻址; 寄存器寻址; 寄存器间接寻址; 变址寻址; 相对寻址; 位寻址。,51系列按寻址方式可分成七类:,按每条指令所需的周期时间可分为:,4.按执行速度,时钟周期=1/f晶振(振荡周期) 机器周期=12*时钟周期 设晶振f=12M 时钟周期=1/(12*10-6) 机器周期=12*1/(12* 10-6 )s=1 s,单周期指令 双周期指令 四周期指令,二、指令格式,标号:以字母开始的l8个字符串组成,是符号地址,标号后必用冒号。 操作码:表示指令的性质和功能,用助记符表示。 操作数:表示参加运算的数据或数据有效的地址, 分为目的操作数和源操作数。 源操作数表示操作数的来源, 目的操作数表示操作结果。 注释:便于阅读程序,对指令的解释说明。注释前加分号。,MCS51单片微机采用汇编语言指令,(1)格式:,标号: 操作码 目的操作数,源操作数 ;注释,在MCS-51指令中,一般指令主要由操作码、操作数组成。 指令应具有以下功能: (1)操作码指明执行什么性质和类型的操作。例如,数的传送、加法、减法等。 (2)操作数指明操作的数本身或者是操作数所在的地址。 (3)指定操作结果存放的地址。,例如 LP: MOV A, #30H ; 立即数30HA 标号 操作码 目的操作数 源操作数 注释,(2)机器码 7430H (MOV A, #30H),三、 MCS-51 系列指令寻址方式,Rn:当前选中的寄存器区中的8个工作寄存器 R0R7(n=07) Ri:当前选中的寄存器区中的2个工作寄存器R0、R1 #data 表示8位常数(立即数)。 #datal6 表示16位常数。,(1) 寻址: 寻找操作数的单元地址。,(2)常用符号说明,add16 表示16位地址。 add11 表示11位地址。 direct 表示片内RAM(包括SFR)中8位直接地址。 bit 代表位地址。 rel 地址偏移量(指偏移字节数)。 间接寻址符号 A累加器。 B专用寄存器,用于乘法和除法指令中。 C进位标志或进位位,或布尔处理机中的累加器,常用符号说明,(3)寻址方式,例 MOV A,#30H ;#30H 表示常数30H。 功能: 把常数30H送入累加器A中,程序执行结果是A=30H。 注意: 立即数30H的地址在程序区。 设该指令地址为2000H,其指令的机器代码为74 30,是两字节指令。 程序存储区 2000H 74H 2001H 30H,30H,一、立即寻址,特点: 源操作数是常数,直接参与操作。,ACC,二、直接寻址方式,例如: MOV A,30H ;30H(无#号) 是内存的一个单元地址。 功能:把30H地址单元中的内容送累加器A。 设 30H单元中存放着一个数FFH,程序执行结果A=FFH。 机器码:E530H 程序存储区 片内RAM ACC 2000H E5H 30H FFH FFH 2001H 30H 注意:直接地址只能表示专用寄存器、内部存储器及位地址空间,特点: 源操作数是存放数据的一个单元地址。,三、 寄存器寻址方式,例如 MOV A, Rn MOV P1, A N=0,机器码为:1110 1000 E8H N=1,机器码为:1110 1001 E9H N=2,机器码为:1110 1010 EAH N=7,机器码为:1110 1111 EFH,特点:源操作数在一个寄存器中即寄存器内容直接参与操作。,功能:把寄存器Rn中的内容送入累加器A中。,四、 寄存器间接寻址,特点:源操作数通过寄存器间接得到,即寄存器中存放的是操作数的地址。 例如 MOV A,R0 ; ( R0) A 机器码: E6H(11100110) MOVX A, R0 功能 : Rn中存放的是一个地址,把该地址所指向的地址单元中的数据送入累加器A中。 例: 程序存储区 片内RAM ACC 2000H E6H R0 30H 30H 80H 80H 2001H,注意:间址单元可在片内低128B,也可在片外64KB中,若 MOVX A, R0 程序存储区 片外RAM ACC 2000H E2H R0 30H 30H ABH ABH 2001H,注意:在访问片内RAM低128B和片外RAM低256B时,用R0或R1作地址指针,在访问全部64K片外RAM时,用DPTR作地址指针。,例R1=5AH,(5AH)=20H 若 MOV A, R1 学生练习!,五、变址寻址方式(基址寄存器+变址寄存器间接寻址),特点:以DPTR或PC作基址寄存器,累加器A作为变址寄存器(存放地址偏移量),这两个寄存器相加,形成了16位的操作地址。 操作数地址=基址+变址 DPTR(PC) A 例如 MOVC A,A+DPTR 功能 : 把A+DPTR 形成的16位的新地址中的数据送入累加器A中。 设 (A)=EFH,(DPTR)=2000H,该指令执行结果是把20EFH地址单元中的数据送入A中。 在8051中,用变址寻址方式只能访问程序存储器,访问的范围为64KB。,ROM DPTR DPH 20H 1000H 93H DPL 00H ACC EFH ALU 20EFH 47H,特点:把当前的PC值和偏移量值相加,形成了相对转移地址。 转移的目的地址是相对PC而言的。 例如 SJMP 08H 若该指令在2000H处,执行该指令后,(PC)=2002H(该指令是两字节指令), 转移的目的地址为: 2002H+08H=200AH 例如 JC 03H 机器码:40H 03H 若该指令在1000H处,当C=1时,跳转3个字节。执行该指令后,(PC)=1002H(该指令是两字节指令),转移的目的地址为: 1002H+03H=1005H,六、 相对寻址方式,注意: PC是执行该指令后的PC; 转移范围 -128B+127B,即以PC 为中心, 向前最大可转127字节,向后最远可转128字节。,七、 位寻址方式,特点:操作数直接给出某位的地址 (与字节操作时直接寻址方式类似) 例如 MOV C,08H SETB 07H 功

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论