
第4章MCS-51系列单片机的指令系统与汇编语言程序设计
第4章 MCS-51系列单片机的指令系统 与汇编语言程序设计

4. 1MCS-51系列单片机的指令系统概述指令概述4.1.11. 指令计算机能够识别的、能够完成预先设定功能的一组二进制命令代码。2. 指令系统一台计算机所有机器指令的集合。与硬件相关。MCS-51指令系统共有111条指令3.指令的表示形式二进制、十六进制、助记符
4.1 MCS-51系列单片机的指令系统概述 1.指令 计算机能够识别的、能够完成预先设定功能的一组二进 制命令代码。 2.指令系统 一台计算机所有机器指令的集合。 与硬件相关。MCS-51指令系统共有111条指令。 3.指令的表示形式 二进制、十六进制、助记符 4.1.1 指令概述

4.MCS-51指令的长度单字节(49条)双字节(46条)三字节(16条)5.MCS-51指令的分类数据传送类(29条)算术运算类(24条)逻辑操作和移位类(24条)控制转移类(17条)位操作类(17条)
4.MCS-51指令的长度 单字节(49条) 双字节(46条) 三字节(16条) 5.MCS-51指令的分类 数据传送类(29条) 算术运算类(24条) 逻辑操作和移位类(24条) 控制转移类(17条) 位操作类(17条)

4.1.2汇编语言指令格式MCS-51汇编指令的格式注释标号:操作码操作数:标号代表该条指令在程序存储器中的地址,由1~8个字符构成,第一个字符必须是字母,标号后要有(西文)冒号操作码告诉单片机做什么事情操作数要操作的数据,可以有1个或多个,中间用(西文)逗号隔开。注释对程序的运行没有意义,仅是对程序的辅助说明
4.1.2 汇编语言指令格式 MCS-51汇编指令的格式 标号: 操作码 操作数; 注释 标 号 代表该条指令在程序存储器中的地址,由1~8个字符构 成,第一个字符必须是字母,标号后要有(西文)冒号。 操作码 告诉单片机做什么事情。 操作数 要操作的数据,可以有1个或多个,中间用(西文)逗号 隔开。 注 释 对程序的运行没有意义,仅是对程序的辅助说明

4. 1. 3操作数的类型(指操作数的存放地)·立即操作数操作数存放在指令中。寄存器操作数操作数存放在寄存器中,存储器操作数操作数存放在存储器中这个存储器是片内或片外RAM
4.1.3 操作数的类型(指操作数的存放地) 立即操作数 操作数存放在指令中。 寄存器操作数 操作数存放在寄存器中。 存储器操作数 操作数存放在存储器中。 这个存储器是片内或片外RAM

4. 2寻址方式概述4. 2. 1寻址方式寻找操作数地址或指令地址的方式每种计算机都有多种寻址方式寻址方式越多,编程越灵活
4.2 寻址方式 4.2.1 概述 寻址方式 寻找 操作数地址或指令地址的方式。 每种计算机都有多种寻址方式 寻址方式越多,编程越灵活

51系列单片机的寻址方式4. 2.2·七种寻址方式立即寻址直接寻址寄存器(直接)寻址寄存器间接寻址变址寻址寻址相对寻址位寻址
4.2.2 51系列单片机的寻址方式 七种寻址方式 立即寻址 直接寻址 寄存器(直接)寻址 寄存器间接寻址 变址寻址寻址 相对寻址 位寻址

·1.立即寻址操作数在指令中。2.直接寻址操作数的地址(片内RAM地址)在指令中3.寄存器(直接)寻址操作数在寄存器中。即指令中给出的是操作数所在寄存器的名字,如RO~R7、A、B、DPTR等
1.立即寻址 操作数在指令中。 2.直接寻址 操作数的地址(片内RAM地址)在指令中。 3.寄存器(直接)寻址 操作数在寄存器中。 即指令中给出的是操作数所在寄存器的名字,如 R0~R7、A、B、DPTR等

4.寄存器间接寻址操作数的地址在寄存器中,即指令中给出的“寄存器”(作为指针)。寻址片内RAM时,使用RO、R1作为指针。寻址片外RAM时,使用RO、R1、DPTR作为指针。5.变址寻址操作数的地址=基址+偏移量。变址值存放在DPTR或PC中,偏移量存放在A中即指令中给出的是“@A+DPTR”或“@A+PC”。此种方式适用于访问程序存储器中的常用数据表格
4.寄存器间接寻址 操作数的地址在寄存器中,即指令中给出的“寄存 器”(作为指针)。 寻址片内RAM时,使用R0、R1作为指针。寻址片外RAM时, 使用R0、R1、DPTR作为指针。 5.变址寻址 操作数的地址 = 基址+偏移量。 变址值存放在DPTR或PC中,偏移量存放在A中。 即指令中给出的是“@A+DPTR”或“@A+PC”。此种方式 适用于访问程序存储器中的常用数据表格

·6.相对寻址仅在相对转移指令中使用。转移的地址为PC当前值与偏移地址之和。偏移地址是一个带符号的8位二进制数,取值范围是-128~+127。·7.位寻址操作数是片内RAM位寻址区或可位寻址的特殊功能寄存器中的某一位。指令中可以直接给出位地址或名称
6.相对寻址 仅在相对转移指令中使用。转移的地址为PC当 前值与偏移地址之和。 偏移地址是一个带符号的8位二进制数,取值范 围是-128~+127。 7.位寻址 操作数是片内RAM位寻址区或可位寻址的特殊功 能寄存器中的某一位。指令中可以直接给出位地址 或名称