文档库 最新最全的文档下载
当前位置:文档库 › 第4章 汇编语言程序设计(讲义)

第4章 汇编语言程序设计(讲义)

1

第4章 汇编语言程序设计

(Assembly Language Programming)

汇编语言概述4.1汇编语言源程序格式4.2汇编语言程序设计4.3DOS 功能调用

4.42

4.1 汇编语言概述

机器指令:用二进制编码的指令如:1000 1001 1101 1000

机器语言编写程序烦琐,难记忆,易出错。

符号指令:由助记符、符号组成,与机器指令一一对应MOV AX ,BX

1000 1001 1101 1000

汇编:机器只能识别机器指令,所以需要将符号指令翻译成机器指令,翻译的过程称作汇编。汇编程序:完成汇编任务的程序。

34.1 汇编语言概述(续)

汇编语言源程序:用符号指令书写的程序。

1E PUSH DS 2B C0SUB AX ,AX 50

PUSH AX

B8 34 12MOV AX ,12348E D8

MOV DS ,AX

汇编语言源程序

汇编程序

目标文件

4

图4.1 汇编语言程序的建立、汇编和连接过程

编辑程序Prog.asm 文件

汇编程序Prog.obj 文件

连接程序Prog.exe 文件

Edit.exe

Masm.exe

Link.exe

54.2 汇编语言源程序格式

汇编语言源程序采用分段式结构。

一个汇编语言源程序由若干段组成,一般有数据段、代码段、扩展段和堆栈段四种类型,源程序可以根据实际需要来确定段的数目。

汇编语言的语句格式4.2.1伪指令

4.2.2汇编语言源程序的结构

4.2.36

4.2.1 汇编语言的语句格式

汇编语言的语句分类1汇编语言语句的格式

2

11

3)操作数

根据不同的指令,可能是单操作数或双操作数,也可能不带操作数。

伪指令语句中的操作数可以是一个或多个,操作数之间用逗号隔开。

操作数可以是:常量

★变量★标号★寄存器★表达式

19④分析运算符

取地址偏移量运算符OFFSET ★取段基址运算符SEG ★取类型运算符TYPE

★取变量元数个数运算符LENGTH ★取变量字节数运算符 SIZE

25⑤合成运算符

可对变量、标号或存储器操作数的类型属性进行修改。

类型设置运算符PTR

★27

4.2.2 伪指令

伪指令是给汇编程序的控制命令,在汇编过程中由汇编程序进行处理。

翻译成目标程序后,这些伪指令就不存在了。

符号定义伪指令1数据定义伪指令2段定义伪指令3过程定义伪指令4源程序结束伪指令

5

28

1.符号定义伪指令

符号定义伪指令用来给一个符号重新命名,或定义新的类型属性等。

这些符号包括汇编语言中所用的变量名、标号名、过程名、寄存器名以及指令的助记符等。

符号定义伪指令有:

等价伪指令★等号伪指令

38

3.段定义伪指令

一个汇编语言源程序由若干个逻辑段组成,所有的指令、变量分别存放在各个逻辑段中。

段定义伪指令用来定义汇编语言源程序的逻辑段。

常用的段定义伪指令有:

SEGMENT/ENDS ★ASSUME ★ORG

63

4.3 汇编语言程序设计

程序设计的基本步骤4.3.1顺序结构4.3.2分支结构4.3.3循环结构4.3.4子程序结构

4.3.5

来实现的。

70

图4.4

循环结构图

72

例4.17流程图

75例4.18

流程图

编写子程序的注意事项

81

4.4 DOS 功能调用

DOS(Disk Operation System) 和BIOS(Basic Input and Output System)为用户提供两组系统服务程序。用户程序可以调用这些系统服务程序。

DOS 提供若干功能调用。包括基本输入/输出管理、内存储器读/写管理、磁盘文件的读/写管理、时间和日期的设置功能。

BIOS 在较低层次上为用户提供一组I/O 程序,要求用户对硬件有一定的了解,但也不要求用户直接控制外设。BIOS 驻留在ROM 中,独立于操作系统。

用户通过软中断指令INT n 去调用DOS 和BIOS 中的服务程序来访问系统。

系统功能调用的方法4.4.1常用的系统功能调用

4.4.282

4.4.1 系统功能调用的方法

INT 21H 是一个具有多个子功能的中断服务程序,这些子功能的编号称为功能号。INT 21H 一般称为系统功能调用。

调用步骤:

置入口参数

功能号→AH INT 21H 执行分析出口参数

视具体情况而定

83

4.4.2 常用的系统功能调用

返回操作系统(4CH 功能)

6

在屏幕上输出字符串(09H 功能)4字符串输入(0AH 功能)5在打印装置上输出单个字符(05H 功能)3在屏幕上输出单个字符(02H 功能)2读取键盘单个字符并回显(01H 功能)

1

相关文档
相关文档 最新文档