文档介绍:第四章汇编语言程序设计
4-1 汇编程序的约定
4-2 程序设计步骤
4-3 直线程序
4-4 分支程序
4-5 循环程序
4-6 子程序
4-8 编程举例
4-7 算数运算
4-1 汇编程序约定
汇编语言程序:
用汇编语言编写的、完成特定功能的指令序列。
汇编程序:
能将汇编语言源程序转换成机器语言目标程序的系统软件。
汇编语言程序到机器语言程序的转换过程称为汇编。
:人工查指令表汇编。用于设计短小程序或调试程序的场合。
:用汇编程序进行汇编。
源程序使用机器汇编要考虑汇编程序的约定
1)按指令格式和语法规则编写程序。
常数的表示:
十进制数:20
十六进制数:87H,0F0H
二进制数:01011001B
字符: ‘H’
字符串: “Hello”。
2)使用伪指令提供汇编信息。
汇编的主要任务:
1)确定程序中每条汇编语言指令的指令机器码。
2)确定每条指令在存储器中的存放地址。
3)提供错误信息。
4)提供目标执行文件(*.OBJ/*.HEX)和列表文件(*.LST)。
一. 汇编语言指令类型
:
指令系统中的全部指令,每条指令有对应的机器代码。
2. 伪指令:
汇编控制指令,仅提供汇编信息,没有指令代码。
一. 汇编语言指令类型
3. 宏指令:
宏汇编功能:将需要多次反复执行的程序段定义成一个宏指令名(宏定义),编程时,可在程序中使用宏指令名来替代一段程序(宏调用)。
宏定义过程:
宏指令名 MACRO 形式参数
…;定义程序段
ENDM
宏调用过程:
…
宏指令名实际参数
…
宏指令名实际参数
(伪指令)
伪指令是对汇编起某种控制作用的特殊命令,其格式与通常的操作指令一样,并可加在汇编程序的任何地方,但它们并不产生机器指令
不同汇编程序允许的伪指令并不相同,但一些基本的伪指令在大部份汇编程序中都能使用
汇编控制指令(伪指令) 常用伪指令及其功能:
1. ORG—起始地址指令:指明程序和数据块起始地址。
指令地址机器码源程序
ORG 2000H
2000H 78 30 MAIN:MOV R0,#30H
2002H E6 MOV A,***@R0
…
ORG 3000H
3000H 23 DB 23H,100,‘A’
3001H 64
3002H 41
2. DB —定义字节型常数指令。 例: DB 12H,100,‘A’
例如: ORG 2000H
TAB1:DB 01H,04H,08H,10H
以上伪指令汇编后从2000H单元开始定义(存放)4个字节数据(平方表):
(2000H)=01H,(2001H)=04H,(2002H)=09H,(2003H)=10H。
3. DW —定义字型常数指令。例: DW 1234H,5678H
例如: ORG 2100H
TAB2:DW 1067H, 1000H, 100
汇编后: (2100H)=10H,(2101H)=67H,
(2102H)=10H,(2103H)=00H,
(2104H)=00H,(2105H)=64H。
4. EQU —等值。为标号或标识符赋值。 X1 EQU 2000H X2 EQU 0FH … MAIN: MOV DPTR,#X1 ADD A,#X2
5. END —结束汇编指令。
例:START: …
…
END START
判断框连接点
图:常用流程图符号
美国国家标准化协会ANSI(American National Standard Institute)设定了一些常用的流程图符号如图所示:
起止框或流程线
输入输出框处理框
4-2 汇编语言程序设计步骤
、性能指标。
,确定控制算法和操作步骤。
表示程序结构和程序功能
五. 编制源程序
。
,明确各程序之间的相互关系。
,便于阅读和修改调试和修改。
开始
1
Y
N
?