单片机应用技术 (C语言版) 第3章MCS-51指令系统及 汇编程序设计 2021/130
2021/1/30 1 单片机应用技术 (C语言版) 第3章 MCS-51指令系统及 汇编程序设计
第3章MCS-51指令系统 及汇编程序设计 目录 31基本概念 32MCS-51单片机指令系统 3.3汇编语言程序格式及伪指令 34汇编语言程序设计方法 2021/130 2
2021/1/30 2 第3章 MCS-51指令系统 及汇编程序设计 目 录 3.1 基本概念 3.2 MCS-51单片机指令系统 3.3 汇编语言程序格式及伪指令 3.4 汇编语言程序设计方法
31基本概念 主要内容 31.1汇编语言格式 312指令中常用符号 313寻址方式 2021/130
2021/1/30 3 3.1 基本概念 主要内容 3.1.1 汇编语言格式 3.1.2 指令中常用符号 3.1.3 寻址方式
311汇编语言格式 指令和指令系统 指令:是计算机中CPU根据人的意图来 执行某种操作的命令。 指令系统:是一台计算机(cPU)所能 执行的全部指令的集合。 2021/130
2021/1/30 4 3.1.1 汇编语言格式 一、指令和指令系统 指令:是计算机中CPU根据人的意图来 执行某种操作的命令。 指令系统:是一台计算机(CPU)所能 执行的全部指令的集合
、程序和程序设计语言 程序:人们编写的、使计算机完成某项 工作的指令序列,称为程序。 程序设计语言:编写程序的一整套规则、 方法。 程序设计语言分类:分为机器语言、汇 编语言和高级语言等。 2021/130
2021/1/30 5 二、程序和程序设计语言 程序:人们编写的、使计算机完成某项 工作的指令序列,称为程序。 程序设计语言:编写程序的一整套规则、 方法。 程序设计语言分类:分为机器语言、汇 编语言和高级语言等
三、机器语言 机器语言:用二进制编码表示每条指令,是 计算机能够直接识别和执行的语言。 目标程序:用机器语言编写的程序。 例如“13+25″,在MCS51中的机器码为 0111010000001101 0010010000011001 2021/130 6
2021/1/30 6 三、机器语言 机器语言:用二进制编码表示每条指令,是 计算机能够直接识别和执行的语言。 目标程序:用机器语言编写的程序。 例如“13+25” ,在MCS-51中的机器码为 0 1 1 1 0 1 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 1
四、汇编语言:用助记符、符号、数字 等表示指令的程序语言。 例如,上面的“13+25”的例子可写成 汇编语言程序机器语言代码 MOVA#ODH 74H0D 01110100 00001101 ADD A#19H 24H19 00100100 00011001 相对于机器语言来说,汇编语言容易理 解和记忆。 汇编语言和机器语言都属于低级语言。 2021/130
2021/1/30 7 四、汇编语言:用助记符、符号、数字 等表示指令的程序语言。 例如,上面的“13+25”的例子可写成: 汇编语言程序 机器语言代码 MOV A,#0DH 74H 0DH ADD A,#19H 24H 19H 相对于机器语言来说,汇编语言容易理 解和记忆。 汇编语言和机器语言都属于低级语言
五、MCS-51汇编语言指令格式 其一般格式如下: [标号:]操作码[目的操作数][,源操作数][;注释] 方括号中的内容可以没有,即可以没有 标号、操作数和注释,至少要有操作码。 2021/130
2021/1/30 8 五、MCS-51汇编语言指令格式 其一般格式如下: [标号:] 操作码 [目的操作数] [,源操作数] [;注释] 方括号中的内容可以没有,即可以没有 标号、操作数和注释,至少要有操作码
例如 START MOV A#23H. 23H A “ START”为标号 Mov”为操作码 A,#23H”为操作数 “23H→A”为注释 2021/130
2021/1/30 9 例如: START: MOV A,#23H ;23H → A “START”为标号 “MOV”为操作码 “ A,#23H”为操作数 “23H → A”为注释
312指令中常用符号 Rn:n=0~7。当前选中的工作寄 存器R0~R7。 Ri:i=0、1。当前选中的工作寄存器组 中可作为地址指针的R0和R1。 #data:8位立即数。 #data16:16位立即数。 direct:8位片内RAM单元地址,含 SFR。 addr16:程序存储空间的16位地 址 2021/130
2021/1/30 10 3.1.2 指令中常用符号 Rn: n=0~7。当前选中的工作寄 存器R0~R7。 Ri: i=0、1。当前选中的工作寄存器组 中可作为地址指针的R0和R1。 #data: 8位立即数。 #data16:16位立即数。 direct: 8位片内RAM单元地址,含 SFR。 addr16: 程序存储空间的16位地 址