汇编语言程序设计PPT课件
DB 0AH,0BH,20
则 (1000H)=34H (1002H)=41H
(1001H)=49H (1003H)=42H
(1004H)=0AH
(1005H)=0BH
(1006H)=14H
(4) DW 定义字指令 定义程序存储器中存放的若干个字的数据或ASCII 码字符16位常数表 格式 DW<16位数据表>。
常用程序结构: 顺序程序、循环程序、分支程序、查表程序、子程
5.2 顺序与循环程序设计
❖5.2.1 顺序程序设计(又称简单程序) 既无分支,又无循环,按照顺序执行 可完成一定的基本功能,是编写复杂程序的 基础
例1:将一个字节内的两个BCD码拆开并变成ASCII码, 存入两个RAM单元。BCD码放在内RAM的20H, 转换后高半字节放到21H,低字节放22H。
第5章 汇编语言程序设计
教学目的:熟悉80C51系列单片机的汇编语言,能 够熟练编写汇编语言源程序。 教学重点:常用汇编语言程序设计方法。 教学难点: 分支程序、散转程序与子程序的设计
5.1 概 述
5.1.1 程序设计语言 ❖程序设计语言:机器语言、汇编语言、高级语言 ❖机器语言不易识别和记忆,使用不便,很难用它
SWAP A ORL A, #30H MOV 21H, A SJMP $
;BCDH数送A的低4位 21 0011
;完成转换 @R0 ;存数
H22HB0C001D0HBCD 01000L
END
回目录 上页 下页
5.2.2 循环程序
包含多次重复执行的程序段,循环结构使程序紧凑。
各个环节任务: 一.初始化部分(循环初态)
来进行程序设计。 汇编语言
图5-1 源程序、汇编程序、目的程序之间关系示意图
4-1 汇编程序约定
汇编语言程序: 用汇编语言编写的、完成特定功能的指令序列。
汇编程序: 能将汇编语言源程序转换成机器语言目标程序的
系统软件。 汇编语言程序到机器语言程序的转换过程称为汇编。
1.手工汇编:人工查指令表汇编。用于设计短小程序 或调试程序的场合。 2.机器汇编:用汇编程序进行汇编。
2. 80C51汇编程序设计中常用的伪指令
❖ (1)ORG 汇编起始指令
❖ 规定目标程序的起始地址,格式如下: 标号 操作码 操作数
❖
ORG
表达式(exp)必须为16位地址
❖ (2) EQU 赋值指令
❖ 把操作数段中的地址或数据赋值给标号,格式如下:
❖ 标号 操作码
操作数
❖ 字符名称 EQU 数或汇编符号
BCD码0~9对应的ASCII码为30H~39H 转换时,将20H中的BCD码拆开,高四位置为“0011”即可。
即:采用先把20H中低4位 BCD码交换出来加以转换、 存放,然后再把高4位BCD 码交换至低4位加以转换、 存放。
ASCII码
RO 20HBCDMH BCDL
21 0011BCDH H22H0011BCDL
简单循环结构:循环体中不套循环。
定时
例2:试计算下列程序段执行时间。
回目录 上页 下页
程序:
ORG 1000H
MOV R0, #22H ;R0 22H MOV @R0,#0 ; 22H 0 MOV A, 20H ;两个BCD数送A
A
B00C01D01H0BB0CC0D0DHL
XCHD A, @R0 ;BCDL数送22H ORL 22H, #30H ;完成转换
RO 20HBCMDH BCDL
表示程序结构和程序功能
美国国家标准化协会ANSI(American National
Standard Institute)设定了一些常用的流程图符号如图所示:
开始
起止框
或
流程线
输入输出框 判断框
处理框
连接点
图:常用流程图符号
Y
?
N
五. 编制源程序
1.合理分配存储器单元和了解I/O接口地址。
2.按功能设计程序,明确各程序之间的相互关系。 3.用注释行说明程序,便于阅读和修改调试和修改。 1
循环准备工作。如:清结果单元、 设指针、设循环控制变量初值等。
二.循环体
循环工作部分:
循环初始化
循环工作
循环控制 ?
Y
N
循环结束
需多次重复处理的工作。
循环控制部分:
1.修改指针和循环控制变量。
2.检测循环条件:满足循环条件,继续循环,否则退出循环。 三.结束部分
处理和保存循环结果。
允许0次循环的循环结构:在循环工作之前检测循环条件。
BIT
P2.2
❖ 则汇编后,位地址P1.0,P1.2分别赋给变量ABC和Q4。
❖ (6) END 汇编结束指令
(7) DATA定义标号数值为指令
格式: 标号
操作码
操作数
符号名称 DATA
表达式
如 MN DATA 3000H ;MN相当于3000H
DATA与EQU的区别在于前者可以先使用后定义而 后者不行,必须先定义才能使用。
高级语言:一种面向过程且独立于计算机硬 件结构的通用计算机语言
5.1.2 汇编语言规范 汇编语言格式与伪指汇编语句(指令语句) ▪ 伪指令(指示性语句) 2)汇编语句的格式:
标号: 操作码 操作数 ;注释
3) 伪指令:控制汇编用的特殊指令,这些指令不 属于指令系统,不产生机器代码。
❖ 例3
ORG 2200H
❖
DW 1246H,7BH,10
❖
则
(2200H)=12H
(2201H)=46H
❖
(2202H)=00
(2203H)=7BH
❖
(2204H)=00
(2205H)=0AH
❖ (5) BIT 定义位地址指令
❖ 格式 <字符名称>BIT<位地址>
❖ 例4 ABC
BIT
P1.0
❖
Q4
❖ 例1 AA EQU R1
;R1与AA等值
❖ 则 MOV 同。
A, AA 指令与 MOV A,R1指令结果相
(3)DB 从指定单元开始定义(存储)若干个字节的数据 或ASCII码字符,常用于定义8位数据常数表。
格式: 操作码 DB
操作数 字节常数或ASCII字符
例: ORG 1000H
DB 34H,73,’A’,’B’
(8)DS定义存储空间指令
功能:从指定地址开始保留DS之后表达式的值所 规定的存储单元。
格式: 标号 操作数
DS 表达式
例:P105 例7
5.1.3 汇编语言程序设计步骤
一.分析工作任务、确定方案和计算方法
二.了解应用系统的硬件配置、性能指标。
三.建立系统数学模型,确定控制算法和操作步骤。
四.画程序流程图