第4章汇编语言程序格式
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如高级语言那样具有很好的通用性和可移植性。
精品课件
4
❖
由于汇编语言具有执行速度快和易于实现对硬件
的控制等独特的优点,所以至今它仍然是用户使用得较多的
程序设计语言。特别是在对于程序的空间和时间要求很高
的场合,以及需要直接控制设备的应用场合,汇编语言更是必
不可少了。
❖
但随着计算机技术和计算机软件技术的发展用汇编
;定义堆栈段结束
CODE SEGMENT
;定义代码段
ASSUME DS:DATA,SS:STACK,C ;由ASSUM伪指令定义各
S:CODE
精品课件
段寄存器的内容
11
START: NEXT:
CODE
MOV MOV MOV MOV MOV ADD INC INC DEC JNE MOV
MOV
INT ENDS END
5.3 汇编语言程序格式
主要教学内容
l 汇编语言和汇编程序的基本概念 l 汇编语言源程序书写规则、语句格式及程序分段 l 伪指令语句的格式、功能及应用 l 汇编语言源程序的建立、汇编、连接、调试及运行
教学目的及要求
l 理解汇编语言和汇编程序的概念、特点及其应用。 l 掌握汇编语言源程序的书写规则、语句的基本格式、
程序的分段结构。 l 熟悉汇编语言的基本表达、指令语句、伪指令、及
其应用。 l 熟悉汇编语言程序的上机运行、调试过程,掌握基
本操作技能。
5.3 汇编语言程序格式
1 汇编语言与汇编程序 2 汇编语言程序格式 3 伪指令语句
4 常用DOS系统功能调用和BIOS 5 汇编语言程序上机过程
1 汇编语言和汇编程序
DB 200 DUP(0)
;定义数据段,DATA为段 名
;由符号(叫变量名)SUM 指定的内存单元类型定义 为一个字,初 值为0
;定义数据段结束
;定义堆栈段,这是组合类 型伪指令,它规 定在伪指 令后须跟STACK类型名
;定义堆栈段为200个字节 的连续存储区, 且每个字 节的值为0
STACK ENDS
语言编写大量代码的日子一去不复返了,汇编语言的学习目
的,转向了
❖ (1)获得底层编程的体验;
❖ (2)理解计算机的运行机理.
❖ 用汇编语言编写的程序称为汇编语言源程序
精品课件
5
1.2 汇编程序
用汇编语言编写的源程序在输入计算机后,需要 将其翻译成目标程序,计算机才能执行相应指令,这 个翻译过程称为汇编,完成汇编任务的程序称为汇编 程序。
息,以使汇编程序能将其转换成一条机器指令的操作
码字段及由操作数寻址方式指定的操作数字段。
1.1 汇编语言(Assembly Language)
汇编语言是面向CPU指令系统的,用一个助记符表
示一条机器指令。是用指令的助记符、符号地址、标
号等来书写指令的程序设计语言,简称符号语言。 特点:
易读、易写、易记; 能够直接利用硬件系统,执 行速度快且节省存储空间等。
缺点:
不能像机器语言那样为计算机所直接识别,也不
法规则之前,下面先举一个具有完整段定义格
式的汇编源程序(即MASM程序)实例, 以便
对汇编语言的有关规定和格式有个初步了解。
❖
例:求从1开始连续50个奇数之和,并
将结果存放在名字为SUM的字存储单元中。
精品课件
10
DATA SEGMENT SUM DW 0
DATA ENDS STACK SEGMENT STACK
;累加和送存SUM单元 ;DOS功能调用语句,机器将结 ;束本
21H START
;程序的运行,并返回DOS状态
;代码段结束
精品课件 ;整个程序汇编结束
12
2.2 段
❖
汇编源程序一般由若干段组
成,每个段都有一个名字(叫段名),以
SEGMENT作为段的开始,以ENDS
作为段的结束,这两者(伪指令)前面
*. asm *.obj
精品课件
Biblioteka Baidu
8
汇编语言程序设计与执行过程
❖ (EDIT)输入汇编语言源程序
源文件 .ASM
❖ (MASM)汇编(编译)
目标文件 .OBJ
❖ (LINK)链接 件 .EXE
可执行文
❖ (DEBUG)调试
最终程序
2 汇编语言源程序格式
2.1汇编源程序实例
❖
在具体讨论8086汇编语言的繁琐语
(1)汇编语言语句的种类和格式
❖ 语句的种类 在8086汇编语言中,有3种基本语句: ❖ 指令语句 ❖ 伪指令语句 ❖ 宏指令语句
精品课件
16
指令语句
❖
是一种执行性语句,它在汇编时,汇编
程序将为之产生一一对应的机器目标代码。
汇编指令
❖
机器码
MOV
8E D8
DS,AX
03 C3
条指指令令必AA语DX须句,D包B主X括要一由个8指08令6助指记令符系,统以中及的充指分令的组寻成址,信一
AX,DATA DS,AX CX,50 AX,0 BX,1 AX,BX BX
;将DS初始化为数据段首址 ;的段值DATA ;CX置入循环计数值 ;清AX累加器 ;BX置常量1 ;累加奇数和,计50次 ;求下一个奇数
BX
CX
;循环计数器作减1计数
NEXT
;未计完50次时,转至NEXT循环
SUM,AX AH,4CH
都要冠以相同的名字。
精品课件
13
❖
段从性质上可以分为代码段、堆栈段、数
据段和附加段4种,但代码段是不可少的, 堆栈段、 数据段与附加段可根据需要设置。
❖ 每个段由若干条语句组成,可完成某一个具体的 功能。
❖
在上面这个例子中,一共定义了3个段:
❖
1个数据段
❖
1个堆栈段
❖
1个代码段
精品课件
14
2.3 汇编语言语句
有 基 本 汇 编 ASM ( Assembler ) 和 宏 汇 编 MASM(MacroAssembler)两种。
精品课件
6
基本汇编ASM (Assembler) :将汇编语言源程序 翻译成机器语言程序,并根据用户的要求自动分配存 储区域,包括程序区、数据区、暂存区等;自动把各 种进制数转换成二进制数,把字符转换成ASCII码, 计算表达式的值等;自动对源程序进行检查,给出错 误信息,如非法格式、未定义的助记符、标号、漏掉 操作数等。
宏汇编MASM( MacroAssembler) :在基本汇编 的基础上,进一步允许在源程序中把一段指令序列定 义为一条宏指令,并允许包含有大量伪指令;它还增 加了结构、记录等高级汇编语言功能。
精品课件
7
❖ 汇编程序以汇编语言源程序文件作为输入, 并由它产生输出文件:目标程序文件。
❖ 目标程序文件经连接定位后可形成运行文 件(.exe文件)。