【大学课件】MCS51单片机指令系统

合集下载

MCS51指令系统.ppt

MCS51指令系统.ppt
MOV A, @R0 MOV @R0,A 访问外部RAM只
能用(寄存器) “间接”寻址 MOVX A,@R0 MOVX @R0,A MOVX A,@DPTR MOVX @DPRT,A
11
寄存器间接寻址(外部RAM)
• MCS-51对片内RAM和片外RAM采用不同传送 指令
• MOVX @R1,A;以R1(或R0)中数据为地 址,将A中数据送外部RAM单元。限定为8位 地址。
不一定是在累加器中。 ANL direct,#data
4.求反与清除指令 CPL A 字节操作只有这一种形式 CLR A 字节操作只有这一种形式
22
逻辑运算类指令
• MCS-51单片机的移位指令只能对累加器A进行,并 且一次只能移一位。共有循环右移、循环左移、带进 位循环右移和带进位循环左移4种。
• 由于程序存储器是只读的,因此变址寻址 只有读操作而无写操作,指令符号为 MOVC。 MOVC A,@ A+DPTR;A←(A+DPTR) MOVC A,@ A+PC ;A←(A+PC)
13
查表程序
• mov r0,#0h • l1: • INC R0 • call table • nop • jmp l1 • TABLE: • MOV A, R0 • MOVC A, @A+PC • RET • DB 31H,32H……
例如:MOV A,# 60H ;A←#60H
MOV DPTR,# 3400H
;DPTR←#3400H
MOV 30H,# 40H ;30H单元←#40H
• 由于MCS-51只有DPTR为16为,因此,也只有上 一条16位立即数指令正确。
MOV 0E0H,#0E0H (=MOV A, #0E0H)

第三章 MCS51单片机指令系统PPT课件

第三章 MCS51单片机指令系统PPT课件
机器语言又称为机器码,由“0”和“1”组成。其因CPU的不同而不同(现已达百 种以上)。一条指令的长度有8位(单字节)到最大的32位(4字节)等多种。如 “累加器A加1”,用机器码表示为“”,占用一个字节。因二进制难以记忆,因 而用十六进制表示为04H。而04H也不好记,因而改为助记符INC A,此即为汇编 语言。汇编语言与机器语言是一一对应的,但在应用时应将汇编语言编译为机 器语言。
MOV C, 37H ;(CY) (3FH)
§3-3 指令系统
符号约定:
Rn (n=0~7),指当前存储器区的8个工作寄存器R0~R7;
Ri (i=0,1) ,指当前寄存器区可作为地址寄存器的两个工作寄存器;
direct , 8位内部RAM的地址及SFR的地址;
#data , 表示8位数字;
#data16 , 表示16位数字;
,表示数据交换。
数据传送类指令
3.3.1 通用传送指令
格式: MOV 目的操作数,源操作数 功能:把第二操作数的字节内容传送到第一操作数指定的单元中,不影响源
操作数内容,不影响别的寄存器,但有时会改变PSW中P的标志位。
根据目的操作数的不同,通用传送指令又分为以下几种: 以累加器A为目的的操作数的传送类指令 以Rn为目的操作数的传送类指令 以直接地址directX为目的的操作数的传送类指令 以寄存器间接地址@Ri为目的的操作数的传送类指令 16位目标地址传送指令
数据传送类指令
3.3.1 通用传送指令
以寄存器间接地址@Ri为目的操作数的传送类
MOV MOV MOV
目的操作数
@Ri , @Ri , @Ri,
源操作数
A direct #data
功能说明
源操作数寻址方式

单片机课件第3章-MCS-51系列单片机的指令系统

单片机课件第3章-MCS-51系列单片机的指令系统
操作数分为目的操作数和源操作数,常用符 号(如寄存器、标号)、常量(如立即数、地址值等) 来表示。操作码和操作数之间用若干空格分隔, 而目的操作数和源操作数之间用逗号“,”分隔。
注释是对该指令作用或功能的说明,以便于 阅读,不参与编译(可有可无,不是必备的)。注 释部分前一定要用分号“;”隔开。
3.2.2 指令的三种表达形式
3.2 指令系统
本节主要论述指令格式、指令的三 种表示形式、指令字节数、指令分类和 指令系统综述等五个问题。
3.2.1 指令格式
指令格式是指令码的结构形式。表达形式为:
[标号]: 操作码 [操作数] ;[注释]
标号又称为指令地址符号,一般由1-6 个符组成,以字母开头的字母数字串。
操作码用MCS-51单片机所规定的助记符来 表示,它命令CPU作何种操作。
通常,指令有二进制,十六制和助记符等三 种表示形式
1) 指令的二进制形式
具有难读、难写、难记忆和难修改等缺点,因 此人们通常不用它来编写程序。
2) 指令的十六进制形式
虽然读写方便,但仍不易为人们识别和修改, 通常也不被用来编写程序,
3) 指令的助记符形式
又称为指令的汇编符或汇编语句形式,是一种
由英文单词或缩写字母形象表征指令功能的形式。
单字节指令只有一个字节。通常又可分为两类: 1)无操作数单节指令
这类指令的指令码光有操作码字段,操作数 是隐含在操作码中的。
2)含有操作数寄存器号的单字节指令
这类指令的指令码有操作码字段和专门用来 指示操作数所在寄存器号的字段组成。
执行第一条时先使当前PC值加1,然后把这 个加1后的PC值和累加器A中的偏移量相加, 作为操作数地址,从该地址中取出操作数送入 A中。第二条过程与第一条指令类似,例如:

第3章MCS51单片机指令系统1PPT课件

第3章MCS51单片机指令系统1PPT课件

返回目录
43.1 指令系统简介------指令的两种格式
要让计算机工作,就得向计算机发出指令。
指令的格式是机器码指令格式, 如:75905B ,即数字格式。
另一种指令格式,即汇编指令格式, 如:MOV P1, #5BH
2020/9/26
张兴忠制作:
返回目录
5
3.1 指令系统简介
-----MCS-51汇编语言指令格式
地址的存储单元的内容。 →:表示数据传送方向。
2020/9/26
张兴忠制作:
返回目录
15
3.1.4 寻址方式
如何找到参与运算的操作数据或数据所在的 地址称为寻址方式。所以寻址方式是在地址范围 内如何找到所需要的操作数的地址。
MCS-51指令系统的寻址方式主要有立即寻址、 直接寻址、寄存器寻址、寄存器间接寻址、基址 加变址寻址、相对寻址和位寻址等七种。
单片机原理与接口技术
第3章 MCS-51单片机 指令系统
2020/9/26
张兴忠制作:
返回目录
1
本章教学要求
第3章 MCS-51单片机指令系统
熟悉MCS-51单片机指令系统的分类、格式; 熟悉MCS-51指令系统的七种寻址方式; 掌握MCS-51指令系统的数据传送、算术运算、逻
辑运算、转移操作、布尔运算等指令的功能;
1) 指令执行时间短。只需1个机器周期的指令有64 条,2个机器周期的指令有45条,而4个机器周 期的指令仅有2条(既乘法和除法指令)。
2) 指令字节少。单字节指令有49条,双字节指令 有46条,三字节指令有16条。
3) 位操作指令极为丰富,这体现了MCS-51单片机 具有面向控制的特点。
2020/9/26
Rn:表示当前工作寄存器R0~R7中的一个。 @Ri:表示寄存器间接寻址,常作间接寻址的地

单片机_04(10)-第四章 MCS-51单片机指令系统ppt

单片机_04(10)-第四章 MCS-51单片机指令系统ppt

SP-1

出栈指令的功能是将栈指针SP寻址的
内部RAM单元的内容(nèiróng)送入直接地址
所指的字节单元中去,同时栈指针减1。
精品文档
7、累加器(ACC)与外部(wàibù)数据I/O空间 传送
MOVX MOVX MOVX MOVX MOVX MOVX
A, @Ri; (A)<-((Ri))
@Ri, A;
MOV DPTR,#2000H
精品文档
6、栈操作(cāozuò)指令
• PUSH
direct; (SP)<-SP+1, ((SP))<-

(direct)

进栈指令的功能是先将SP的指针加1,然后把直接地址指出的内容
传送到栈指针SP寻址的内部(nèibù)RAM单元中。
精品文档
• POP direct; (direct)<-((SP)), (SP)<-
DEC
@Ri
用途:把指定的内容减1,结果仍然(réngrán) 存在原单元中。
精品文档
7、乘法(chéngfǎ)指令
MUL AB; 此指令的功能是将A和B中的
两个8位无符号数相乘,两数相 乘结果一般(yībān)比较大,因 此最终结果用1个16位数来表达, 其中高8位放在B中,低8位放在 A中。在乘积大于FFFFH(65535) 时,0V置1(溢出),否则OV为 0,而CY总是0。2、算术指令1不带进位(jìnwèi)位的加法
• ADD A, #data;
(A)<-(A)+#data
• ADD A, direct;
(A)<-(A)+(direct)
• ADD A, Rn;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EQU 10
;A10 = 10
EQU 07EBH ;DELY = 07EBH
MOV A,A10
LCALL DELY ;转向入口地址 07EBH
使用EQU指令,须先赋值后使用,不能反之
ppt课件
回目录 上页14 下页
7、数据地址赋值等值命令 DATA
格式: 字符名称 DATA 数据或表达式 功能:此命令把数据/代码地址赋予标号段所规定的
ppt课件
按顺序存放!
回目录 上页11 下页
5、定义空间命令 DS
格式: 标号:DS 数据或字符及表达式
功能: 从指定单元地址开始,由数据或字符及
定义 空间
表达式的值来定义应保留的单元数,备用
例:
ORG 8000H DS 08H DB 30H,8AH
即:8000H~8007H单元保留备用
(8008H)=30H
字节依次存入标号开始的存储单元
有定义的内存单元地址
ppt课件
回目录 上页9 下页
例:
ORG 8000H
TAB:DB 45H,73,‘5’,‘A’
TAB1:DB 101B
伪指令ORG 定义了数据块TAB的起始地址为8000H
伪指令DB定义了8000H~8003单元的内容依次为:
TAB (8000H)= 45H (8001H)= 49H (8002H)= 35H
汇编语言必须翻译成机器语言才能被机器执行
ppt课件
回目录 上页3 下页
➢完成由汇编语言到机器代码的过程叫汇编 ➢汇编的方法有两种:自动汇编、手工汇编
➢由机器代码到汇编语言的过程叫反汇编
汇编语言 源程序
MCS-51 交叉 汇汇编编
反汇编
机器语言
(二进制代码)
ppt课件
回目录 上页4 下页
二、汇编语言的格式 一个汇编语句分为四个区段
(1) 由 ORG定义
(8003H)= 41H
TAB1(8004H)= 05H
(2) 跟在其他源程序之后
ppt课件
10
回目录 上页 下页
4、定义字命令DW
格式: 标号:DW 字或字表 功能: 定义若干个字(双字节)
例: ORG 8000H
TAB:DW 7234H,8AH,10
汇编后: (8000H)= 72H (8001H)= 34H (8002H)= 00H (8003H)= 8AH (8004H)= 00H (8005H)= 0AH
§3.1 指令系统概述 §3.2 MCS-51指令的寻址方式 §3.3 MCS-51指令系统介绍
ppt课件
1 下页
§3.1 指令系统概述
● 一台计算机所能执行的全部的指令集合 指令是计算机中具有特定功能的操作命令
● 程序与程序设计 按预定要求编排的指令序列称为程序。编排的过程称 为程序设计
● 指令系统 决定了机器的性能 设计一种CPU,一般从设计指令系统开始 因而,一种机器的指令系统是机器本身固有的 用户无法改变,必须继承、学习、掌握、应用
ppt课件
回目录 上页7 下页
三、伪指令 伪指令仅在汇编过程中起控制作用不产生可执行 目标代码,又称为软指令
1、起点指令 ORG 格式: ORG ××××H 功能:给程序起首始地地址址或数据块的起首始地地址址赋值 用法: 一般出现在每段源程序或数据块的开始
一个源程序可多次出现ORG指令
例:
ORG 8000H ;源程序的起始地址
字符名称。定义的字符名称可先使用后定义
例:INDEXJ DATA 8389H
;INDEXJ这个字符名称的地址为8389H
ORG 8000H

INDEXJ DATA 8096H 价 LJMP INDEXJ 于
END
ORG 8000H LJMP 8096H END
ppt课件
回目录 上页15 下页
EQU与 DATA的区别
ppt课件
回目录 上页2 下页
● 程序设计语言
机器语言: 汇编语言: 高级语言:
二进制代码,是机器唯一能直接识别、执行的语言。
一、汇编语言
如P55,图3-1所示。全是机器码
汇编语言: 为了记忆和阅读方便,制造商对指令系 符号语言: 统每一条指令,都给出了指令助记符。
用助记符,操作数,标号编写的程序称 为汇编语言源程序。
[ 标号:] 操操作作码码[操作数] [;注释]
其中除操作码部分是必须的,括号内的区段是任选项。
1、标号 名字
➢标号是该指令的符号地址,可根据需要设定
➢必须以字母开始,以“ :”结束,长度不超过8个字符 ➢系统中的保留字符不能作标号, 如: SFR名、ADD等 ➢标号可被其他语句的操作数直接引用
➢源程序中,一个标号只能定义一个语句,不能相重
保持一义性
ppt课件
回目录 上页5 下页
2、操作码 ➢由指令系统的助记符、伪指令助记符组成。
➢操作码是每一句汇编语言所必须的
➢操作码和操作数之间用空格分开 3、操作数
➢可为二进制数 (B) , 十进制数 (D) ,十六进制数 (H) 数字大于9,则数字应以“0”开头,如:#0AFH
➢可以是操作数地址、立即数、标号、表达式如 M+3
(8009H)=8AH
ppt课件
回目录 上页12 下页
6、等值命令 EQU
格式: 字符名称 EQU 数据或汇编符号 功能: 将一个数据或汇编符号赋予标号段规定
的字符名称
例:
ORG 8000HAA EQ Nhomakorabea R6;AA与R6等值
MOV A,AA ;A (R6)
ppt课件
回目录 上页13 下页
例: A10 DELY
START:MOV A,#74H 为8000H
┇ ppt课件
回目录 上页8 下页
2、结束命令 END 格式:END 功能:汇编程序结束标志 用法: 附在一个源程序的结尾 一个源程序只能出现一次END指令
3、定义字节命令 DB
项或项表
格式:标号:DB 字节常数或字符串 (8位)
功能:定义字节的内容,汇编程序把DB定义的
被定义过的
可以是寄存器名如A、B、R、DPTR
➢目的操作数和源操作数之间用“,”分开
ppt课件
回目录 上页6 下页
4、注释
➢以“ ;”开头,是程序员对指令操作的解释, 以帮助阅读、理解程序的意义 ➢可用英语或某种简洁的方式解释指令,或打印 程序清单
➢汇编时对这部分不予处理,不译成任何机器代码 ➢可有可无
(1) DATA与EQU相似,但DATA定义的字符名称,
可先使用后定义 ,EQU则不能
(2) EQU指令可把汇编符号赋给字符名称,
DATA则不能
(3) DATA可把表达式的值赋给字符名称,
相关文档
最新文档