下载此文档

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


文档分类:IT计算机 | 页数:约137页 举报非法文档有奖
1/137
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/137 下载此文档
文档列表 文档介绍
第五章汇编语言程序设计
汇编语言语句的类型和组成
伪操作命令
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收尾。源程序的一般格式为:

第5章汇编语言程序设计 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数137
  • 收藏数0 收藏
  • 顶次数0
  • 上传人中国课件站
  • 文件大小0 KB
  • 时间2011-09-06
最近更新