[工学]第三章 MCS-51单片机指令系统

上传人:油条 文档编号:49636344 上传时间:2018-08-01 格式:PPT 页数:77 大小:490KB
返回 下载 相关 举报
[工学]第三章  MCS-51单片机指令系统_第1页
第1页 / 共77页
[工学]第三章  MCS-51单片机指令系统_第2页
第2页 / 共77页
[工学]第三章  MCS-51单片机指令系统_第3页
第3页 / 共77页
[工学]第三章  MCS-51单片机指令系统_第4页
第4页 / 共77页
[工学]第三章  MCS-51单片机指令系统_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《[工学]第三章 MCS-51单片机指令系统》由会员分享,可在线阅读,更多相关《[工学]第三章 MCS-51单片机指令系统(77页珍藏版)》请在金锄头文库上搜索。

1、第三章 MCS-51单片机指令系统 13-1 汇编语言一、指令系统 指令:是CPU能够识别并指挥计算机执行 某种操作的命令。指令系统:CPU所有指令的集合,称为该计算机的指令系统。2二、汇编语言 (参见P97)编写程序时使用的程序设计语言有3种:机器语言、汇编语言和高级语言。 机器语言:用二进制代码表示,故又称指令代码或机器 代码(机器码),机器语言是计算机本身固有的软件 ,能被主机直接识别并加以分析和执行之。 缺点:不易阅读、不便于记忆、编程烦难且易出错。汇编语言:助记符用以反映指令的功能和主要特征,用它来代替机器指 令,便于人们对指令的理解和记忆。 3n例:要将一个立即数80H送入累加器A

2、,其指令为:机器码: 74H 80H 汇编语言:MOV A,#80Hn汇编:汇编语言机器语言n反汇编:机器语言汇编语言41. 机器码指令(P60) 以8位二进制数(字节)为基础, 分单字节、双字节和三 字节指令。其格式为: 单字节指令:双字节指令: 三字节指令: 2汇编语言格式(P99)标号: 操作码 操作数1,操作数2,操作数3;注释 只有操作码是必须的 操作码码 地址码码操作码码 地址码码数据或地址码码操作码码 数据或地址码码 数据或地址码码5n标号:可无,由用户定义,根据需要设置。以字母开始,后面加0 7个字母或数字,并允许有一个下划线;另外,系统保留使用的字符或字符组不能用作标号。标号

3、代表该指令所在的地址(符号地址), 可作为其它指令的操作数,与操作码之间用“:”分隔。n操作码:决定(命令)主机做何操作。25个字母或数字, 用助记符表示,一般为英语单词的缩写。 n操作数:03个,中间用“,”隔开,是指令操作的对象,分目的操作数和源操作数。操作码和操作数是指令的核心部分,二者之间需用空格分离。n注释: 对指令或程序的解释,可有可无,其作用是便于阅读理解程序。注释必须以“;”开始。63伪指令 (P100)用于提供汇编控制信息,可以定义程序段的首地址 、变量、参数、表格等。不是CPU能执行的指令,为汇编程序所识别并指导 汇编如何进行。 7定位伪指令(起始地址伪指令)n格式:ORG

4、 addr16n作用:指出该伪指令后面的程序编译后的机器码 指令存贮地址的起始值addr16。定义字节常数伪指令n格式:DB X1,X2,X3 ,Xnn作用:定义一个常数表(8bit);Xi为单字节数 据,也可以是单引号括起来的字符串,还可以是 用户定义的数据符号。 8例:ORG 1000H DB 30H,31H,32H, 33H DB 4,5,0011B 结果:地址1000H 1001H 1002H 1003H 1004H 1005H 1006H 数据 30H31H32H33H 34H03H35H 9定义字伪指令n格式:DW Y1,Y2,Y3,Ymn作用:定义一个常数表(16bit),Yi为

5、双字节数据例:ORG 1000H DW1122H,5566H,30H 依出现的先后顺序存,高位 存低地址单元,低位存高地址单元 (先存高八位,后存低八位)结果: 1000H 1001H 1002H 1003H 1004H 1005H 11H00H22H 66H55H30H10位定义伪指令(BIT)格式:X BIT 位地址其中,位地址可以是绝对地址,也可以是符号地址 。例:ABC BIT P0.6 ; 把P0.6位地址赋值给ABC即:在后面的编程中,ABC即可作为位地址 P3.1使用。11等效伪指令格式:X EQU Y作用:将X与Y等效,便于阅读和修改程序。X为代号,以字母开头,18个字符,Y为

6、地址或立即数。n例:定义一个单元 K=35H,则:K EQU 35H1) MOV A, K ;等价于MOV A,35H;实现的功能是A(35H)此处K表示内部RAM中35H字节单元(K代表地址)2)MOV C, K ;等价于MOV C,35H;实现的功能是C(35H位)此处K表示内部RAM中35H位单元(K代表地址)12有些汇编系统定义参数也采用以下 形式: 例: CODE EQU 45HMOV A, #CODE等价于MOV A, #45H(6)汇编结束伪指令n格式:ENDn作用:通知汇编程序需汇编的源程序到此结束,汇 编程序对END后的所有语句均不汇编。汇编语言程 序的最后一句必须是END,

7、一个程序中只允许出现 一条END语句。 13三、数据形式 二进制数:0、1表示,后带字母B, 例:10101100B 十进制数:09组成,后什么都不带或带D,例:37 十六进制数:0F组成,后带字母H,例:2AH立即数: “#”开头,后跟数值,例:23,12H行标号:对应程序空间的16位地址,汇编时翻译成 相应的数据(即:地址),可直接用于程序 中SFR符号:可作为直接地址用于程序 例: MOV A, #01H等价于MOV 0E0H, #01H;因为A的地址是 ;0E0H143-2 寻址方式 (P54)定义:数据、指令代码在存贮器中存放的位置称为地址。存放指令代码的地址称为指令地址。存放数据的

8、地址称为操作数地址。把寻找操作数地址的方式称为寻址方式。寻找操作数地址的过程称为寻址过程。 15一、立即寻址n立即寻址方式是指令直接给出操作数来寻址的。(操 作数包含在指令中,即以指令字节形式存放在程序存 贮器中)n通常紧跟指令操作码之后的一个或二个字节数,就是 寻址所需的操作数。 n“#”为立即数指令符号n例如 : 指令: MOV A,#70H (机器码)双字节: 74H 70H操作码 操作数 另:立即寻址还可用于寻址程序存储器例:LJMP 1000H 即:操作数直接在指令中给出16二、直接寻址 n直接寻址方式是指令直接给出操作数地址。(该地址指出 了参与运算或传送的数据所在的字节或位单元的

9、地址)n直接寻址方式可访问以下三种地址空间: (1)特殊功能寄存器地址空间,这是唯一能访问SFR的 寻址方式。 (2)内部数据存贮器(RAM)的低128字节。 (3)位地址空间(此时也可称为位寻址)。 例: 指令: MOV A, 65H ; A ( 65H ) 机器码: E5H 65H操作码 直接地址执行结果为将内部RAM 65H单元 的内容送A即:操作数在指令给出的地址单元中17三、寄存器寻址 n寄存器寻址是对指定的工作寄存器(R0R7)进行读/ 写,由指令操作码字节的最低3位指明所寻址的工作寄 存器。(对A,B,DPTR,Cy等,也可当作寄存器方 式寻址)n例:INC R0;(R0)+1R

10、0 机器码:08H 0 0 0 0 1 0 0 0B 指明所用寄存器为R0 即:操作数在指定的寄存器中18四、寄存器间接寻址n寄存器间址是把指定的寄存器内容作为地址,由该地址 所指定的单元内容作为操作数。nMCS-51规定可作为间接寻址的寄存器有: 1)R0或R1,用于寻址内部RAM低128字节单元的内容 。(以及外扩RAM的部分单元) 2) 数据指针DPTR,用于寻址外部数据RAM的64K字节 空间 注:不能用本寻址方法寻址特殊功能寄存器。n间址用符号表示。n例:MOV A,R0 机器码: E6H 即:操作数在寄存器中数据(地址)指向的存储单元内19五、相对寻址 n这与典型微计算机的相对寻址

11、相似。n它以PC的当前值为基准,加上指令中给出的相对偏移量 (rel)形成有效转移地址。相对偏移量(rel)是一个带 符号的8位二进制数,常以补码的形式出现。因此,程序 的转移范围为:以PC的当前值为起始地址。相对偏移在 128 +127个字节单元之间。 例:JC rel 设 rel=75H ,Cy=1,本指令地址为2000H则:执行后,PC=2002H+75H=2077H(本条指令的机器码为两个字节)n 偏移量rel:有符号数 128 +127n 相对寻址只适用于对程序存储器的访问,转移指令多采用 这种寻址方式。 20六、基寄存器加变址寄存器间接寻址(又称为变址寻址) n该寻址方式为MCS-

12、51所独特的。n它是以程序计数器PC或数据指针DPTR作为基址寄存 器,以累加器A作为变址寄存器,这二者内容之和为有 效地址(16位)。n共三条:MOVC A,A+PC ; (A)+(PC) AMOVC A, A+DPTR ; (A)+(DPTR) AJMP A+DPTR ; (A)+(DPTR) PCn专用于寻址程序存贮器,都是单字节指令。 21七位寻址 8051有位处理功能,可以对数据位进行操作,因 此就有相应的位寻址方式。 位寻址的寻址范围: (1)片内数据存储器中的位寻址区片内数据存储器中的字节单元地址20H2FH, 16个单元共128位,为位寻址区,位地址是00H7FH 。对这128

13、个位的寻址使用直接位地址表示。 (2) 可位寻址的特殊功能寄存器位可供位寻址的特殊功能寄存器共有11个,有寻址 位83位。22寻址位在指令中有以下4种表示方法:直接使用位地址表示方法。例如12H字节单元地址加位数的表示方法。例如 88H单元的 位5,则表示为88H.5。特殊功能寄存器符号加位的表示方法, 例如 PSW寄 存器的位5,可表示为:为 PSW .5。位名称表示方法,特殊功能寄存器中的一些寻址位 是有名称的,例如 PSW寄存器位5为F0标志位,则可 使用F0表示该位。23说明:指令中多个操作数的寻址方式未必相同7种寻址方式概括起来如下表所列:24表 31 寻址方式与寻址空间 寻 址 方

14、 式 寻 址 空 间1寄存器寻址R0R7、A、B、CY(bit) 、DPTR2直接寻址内部RAM低128字节特殊功能寄存器3寄存器间接 寻址内部RAM:R0,R1, SP(仅PUSH、POP) 外部RAM(R0,R1,DPTR)4立即寻址程序存储器5变址寻址程序存储器(A+PC,A+DPTR)6相对寻址程序存储器(PC偏移量)7位寻址内部数据存储器中有128个可寻址位 特殊功能寄存器中可位寻址的位25注: 1.对程序存储器,只有3种寻址方式、1种操作,即:n1)立即寻址; 2)相对寻址3)变址寻址:MOVC A,A+PC; MOVC A,A+DPTRn读操作 2.外部RAM 00H0FFHn只能用R0,R1,DPTR间接寻址n有两种操作,读:MOVX A, R0/R1/DPTR写:MOVX R0/R1/DPTR, A 3.外部RAM 0100HFFFFH 多数用DPTR寻址 有两种操作:读、写263-3 指令系统(P61) nMCS-51指令系统共111条。49条单字节 64条1个机器周期(即12个振荡周期)45条双字节 45条2个机器周期17条三字节 2条4个机器周期(乘、除法)n7种寻址方式。

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

当前位置:首页 > 行业资料 > 其它行业文档

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