1 / 137
文档名称:

第5章汇编语言程序设计.ppt

格式:ppt   页数:137页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第5章汇编语言程序设计.ppt

上传人:中国课件站 2011/9/6 文件大小:0 KB

下载得到文件列表

第5章汇编语言程序设计.ppt

文档介绍

文档介绍:第五章汇编语言程序设计
汇编语言语句的类型和组成
伪操作命令
DOS系统功能调用和BIOS中断调用
汇编语言程序设计
汇编语言语句的类型和组成
汇编语言语句的类型
在汇编语言中我们不仅要知道指令系统,而且还必须了解汇编语言语句的组成和类型,了解汇编语言中的编写程序的格式以及格式中各个部分的意义,以便我们能够编写出正确的源程序。
汇编语言有自身的语法规则,汇编语言源程序中有3种基本语句:
①指令性语句(由CPU指令组成);
②指示性语句(伪指令语句)和宏指令语句。
指令性语句和指示性语句是最基本的语句,也是最常用的语句。
①指令性指令是给CPU的命令,它是由汇编程序翻译成机器语言指令,在程序运行时由CPU来执行,每条指令都对应CPU一种特定的操作,例如:算术运算、逻辑运算、串操作等;而伪指令是给汇编程序的命令,伪指令不汇编成机器语言,仅仅在汇编过程中告诉汇编程序应如何汇编。在汇编中由汇编程序进行处理,例如:定义数据分配,定义过程等。
②指令性指令汇编以后,每条指令都产生其对应的机器代码;而伪指令则不产生与之对应的机器代码。
③宏指令是使用者利用上述基本语句自己定义的新的指令。
二者的区别是:
宏定义伪指令
如果需要多次使用同一个程序段,可以将这个程序段定义为一个”宏指令”,然后在需要时,可简单地用宏指令名来代替这个程序段。
指令的格式为:
<宏指令名> MACRO [形参表]
<宏定义体>
ENDM
例:两个数之和的宏定义和宏调用。
宏定义为:
DADD MACRO X,Y,Z
MOV AX,X
ADD AX,Y
MOV Z,AX
ENDM
X、Y、Z是形式参数。调用宏DADD时可写为:
DADD DATA1,DATA2,SUM
DATA1,DATA2,SUM是实际参数,由它们替换定义中的X、Y、Z。
宏调用与过程(子程序)调用都是一次定义,多次调用。它们之间的差别是:
①执行形式:宏命令伪指令由宏汇编程序在汇编过理中进行处理,而CALL、RET则是由CPU执行的指令。
②汇编结果:宏命令伪指令汇编后被展开。
③执行速度:宏命令执行速度较快(因无调用转移)
④占用内存:宏指令简化了源程序,但不能简化目标程序,并不节省内存单元。使用过程可以节省代码占用的内存空间。
宏展开:汇编程序会把宏调用按宏定义展开。
例如:宏定义为:
Display MACRO string
LEA DX,string
MOV AH,9
INT 21H
ENDM
程序中宏调用:
……
DISPLAY ERROR_MESSAGE
DISPLAY EXIT_MESSAGE
……
汇编后的结果:(带有+号的指令为宏展开后的结果)
……
+ LEA DX,ERROR_MESSAGE
+ MOV AH,9
+ INT 21H
+ LEA DX,EXIT_MESSAGE
+ MOV AH,9
+ INT 21H
……
例:5个连续字节单元的累加
DATA SEGMENT ;定义数据段
D1 DB 5 DUP(?) ; EQU 20 ;定义一个常数
SUM DW 0 ;为结果保留一个字
DATA ENDS ;数据段定义结束
STACK SEGMENT ;定义堆栈段
DB 100 DUP (?) ;100字节的栈空间
STACK ENDS ;堆栈段定义结束
CODE SEGMENT ;定义代码段
ASSUME DS:DATA,SS:STACK,CS:CODE ;对各段进行说明
BEGIN:MOV AX,DATA ;DS初始化为DATA
MOV DS,AX ;MOV AX,SEG DATA
LEA SI,D1 ;预置源数据的指针
汇编语言程序结构特点
定义存储单元的数据
伪指令
定义堆栈
段定义语句
作堆栈用的存储单元
指令
MOV +1 ;预置次数
CLD ; (DF)=0,串指针自动增量
LODS BYTE PTR [SI];取一个数并修改指针,存入AL/AX
DEC CX ;修改次数
MOV AH,0 ;清AX的高字节
CLC ;清CF位
AGAN:ADC SUM,AX ;累加
LODS BYTE PTR [SI] ;再取数并修改指针
LOOP AGAN ;控制循环
MOV AH,4CH ;完成,返回DOS
INT 21H
CODE ENDS ;代码段结束
END BEGIN ;整个程序结束
段定义
汇编程序结束
源程序的一般格式
代码段是必需的。每段必须有且仅有一个名字,以SEGMENT定义段的起始,以ENDS定义段的结束,整个程序结束后需以END收尾。源程序的一般格式为:

最近更新

工厂企业安保人员劳务派遣及安全巡查服务合同.. 3页

会议策划与城市品牌建设-洞察阐释 43页

带专职司机大巴车租赁及旅游包车服务合同 3页

2025年春节的初三作文700字 5页

常设中国建设工程法律论坛建筑行业常年法律顾.. 3页

贵州省2025年中考语文试卷真题及答案 11页

应收账款抵押担保合同范本 3页

建筑安全施工责任合作协议 2页

建筑材料研发与生产合作协议书 3页

熔化极气体保护电弧焊用高碳钢实心焊丝 6页

彩钢板隔墙工程安全质量保障合同 3页

房屋赠与子女协议书范本 7页

德佑最新版2025年房屋租赁合同Word模板下载 3页

户外广告保洁托管服务合同标准 3页

2025年春天的风景小学生五年级作文 7页

房屋抵押贷款合同范本-@-1 2页

2025年春天的叙景叙事初一作文 6页

拆迁房买卖合同范本包含环保设施要求 3页

拌合站场地租赁与环保技术研发合同 3页

企业用户手册中小企业信息统计管理系统 7页

教育机构场地借用及教学支持协议 2页

教育贷款担保专项合同 2页

数据中心设备采购定制合同范本 3页

文化产业园区场地租赁合作协议范本 3页

2025年延安宜川县招聘城镇公益性岗位人员考试.. 22页

汽车刹车抱死的利与弊 5页

汇总 - 39种行业废水处理工艺流程图 4页

书包质检报告 22页

风力发电施工安全培训课件 35页

发电厂电气主接线及厂用电 120页