宏汇编语言程序设计(nxpowerlite)ppt培训课件

上传人:aa****6 文档编号:54229461 上传时间:2018-09-09 格式:PPT 页数:75 大小:332KB
返回 下载 相关 举报
宏汇编语言程序设计(nxpowerlite)ppt培训课件_第1页
第1页 / 共75页
宏汇编语言程序设计(nxpowerlite)ppt培训课件_第2页
第2页 / 共75页
宏汇编语言程序设计(nxpowerlite)ppt培训课件_第3页
第3页 / 共75页
宏汇编语言程序设计(nxpowerlite)ppt培训课件_第4页
第4页 / 共75页
宏汇编语言程序设计(nxpowerlite)ppt培训课件_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《宏汇编语言程序设计(nxpowerlite)ppt培训课件》由会员分享,可在线阅读,更多相关《宏汇编语言程序设计(nxpowerlite)ppt培训课件(75页珍藏版)》请在金锄头文库上搜索。

1、,414:57,宏汇编语言程序设计内 容 提 要一、汇编语言程序格式二、MASM中的表达式三、伪指令语句四、DOS系统功能调用和BIOS中断调用,汇编程序翻译成二进制的浮动目标程序,连接程序将目标文件与库,文件相连,形成可执行程序,可执行的程序在机器上直接运行,高级语言:可读性好,编程简单;汇编语言:实时性能好,程序效率高,节省内存,运行速度快,,概 述汇编语言(Assembly Language)指令的助记符 +符号地址+标号是机器语言的符号表示,是较低级的语言。源程序利用汇编语言编写的程序,称源程序。不能被机器识别。源程序的运行,4,宏汇编语言程序设计,例 在屏幕上显示并打印字符串“Thi

2、s is a sample program”。一个完整的用汇编 语言编写程序的格式:,DATA,SEGMENT,;数据段,DB DB,This is a sample program. 0DH,0AH, $,DATA,DA1ENDS,STACK SEGMENT,;堆栈段,DB,100 DUB(?),ST1 STACK ENDS,CODE,SEGMENT,;代码段,MAIN,PROC,FAR,ASSUME CS:CODE, DS:DATA, SS:STACK,ORG,1000,START: PUSH,DS,;正常返回所需段地址及偏移地址,MOV PUSH,AX, 0 AX,4,宏汇编语言程序设计

3、,;送数据段段地址;送堆栈段地址;DOS 9号功能调用,显示字符串,AX, DATADS, AXAX, STACKSS, AXAH, 9DX, OFFSET DA121H,MAINCODE,MOVMOVMOVMOVMOVMOVINTRETENDPENDS,END,START,4,宏汇编语言程序设计,4-1 汇编语言程序格式宏汇编使用的语句分两类指令性语句伪指令语句,【宏汇编语言程序设计】,语句格式:标号: 指令助记符 操作数,操作数,;注释,标号:指令语句的符号地址,后面必须紧跟冒号“:”。标号可使用的字符为字母(AZ,az)、数字(o9)或某些特殊字符(、一、?)等。第一个字符必须为字母或某

4、些特殊字符,最大有效字符长度为31个字符(汇编程序仅识别前面31个字符)。标号可以省略,它经常作为表示转移的地址。指令助记符:指令名称的代表符号,指出指令的操作类型。可译成机器码;不可省略,是关键字。,一、指令性语句指令性语句:机器指令相对应,可译成目标代码(机器指令代码)。,4-1 汇编语言程序格式,【宏汇编语言程序设计】,4-1 汇编语言程序格式,【指令性语句】,操作数:参与指令运算的数据。可以有一个、多个操作数或无操作数;多个操作数之间用逗号“,”隔开,操作数与指令助记符之间用“空格”隔开。操作数可以是常数、变量、标号、寄存器名或表达式。注释:说明指令或程序的功能,可省略。注释前加分号“

5、;”。,标号: 指令助记符 操作数,操作数,;注释,语句的格式:名字,伪指令指示符,操作数,操作数,;注释,名字:用符号地址表示,名字后不允许带冒号“:”,但名字可以省略。通常是变量名、段名、过程名、符号名等。伪指令指示符:汇编程序MASM规定的符号。常用的有变量定义语句(DB、DW),符号定义语句(EQU、),段定义语句(SEGMENTEND),段分配语句(ASSUME),过程定义语句(PROCENDP)等。 操作数:不同伪指令有不同要求。操作数可以是常数、变量、字符串、表达式等。,4-1 汇编语言程序格式,【伪指令语句】,二、伪指令语句伪指令语句:无对应的机器指令,汇编时对伪指令进行处理,

6、可完成数据定义、存储区分配、段定义、段分配、指示程序结束等功能。,4-1 汇编语言程序格式二、数据项汇编语言中的操作数,可以是常数、寄存器、存储器、变量、标号或表达式。其中,常数、变量、标号是三种基本数据项。1常数是固定值,没有属性,是确定的数据。二进制:字母“B”结尾,例00110100B;八进制:字母“Q”或“O”结尾,例1037O、2370Q;十进制:字母“D”结尾或省略,或科学表示法,例1234D、5678、2.735E-2;十六进制:字母“H”结尾,“AF”开头时,前面加0,例56H、0A7F2H;字符串:用单引号 括起来,机内存放的是各字符的ASCII码。例ABC。,4-1 汇编语

7、言程序格式,【数据项】,2变量变量通常指存放在存储单元中的值,程序运行中可以修改。所有的变量都具有三个属性。段值(SEGMENT):变量所在段的段基址。段内偏移地址(OFFSET):指变量所在地址与所在段首地址之间的地址偏移字节数。类型(TYPE):指变量中每个元素所包含的字节数,类型有字节变量(BYTE)、字变量(WORD)、双字变量(DWORD)等。,4-1 汇编语言程序格式,【指令性语句】,3.标号标号是可执行指令语句的地址的符号表示,可作为程序转向的目标地址。具有三个属性。(1) 段值(SEGMENT):标号所在段的段基址。(2) 段内偏移地址(OFFSET):标号所在地址与所在段的段

8、首址之间的偏移地址字节数。(3) 类型(TYPE):指在转移指令中标号可转移的距离,也称距离属性。类型NEAR,表示此标号为近标号,只能实现段内转移或调用;类型FAR,表示此标号为远标号,可以实现段间转移或调用。注意:若标号后面紧跟冒号,表示隐含此标号距离属性为NEAR,也可用伪指令将此属性改为FAR。,一、汇编语言程序格式,二、MASM中的表达式,三、伪指令语句,四、DOS系统功能调用和BIOS中断调用,4,宏汇编语言程序设计内容提要,4-1-3 MASM中的表达式概述表达式:运算对象 + 运算符。在汇编时进行运算,运算结果作为语句中的操作数。运算对象:常数、变量、标号。得到的运算结果可以是

9、一个常数字,也可以是一个存储器的地址。MASM中6类运算符:算术运算符(Arithmetic Operators)逻辑运算符(Logical Operators)关系运算符(Relational Operators)数值返回运算符(Value-Returning Operators)修改属性运算符(Modifing attribute Operators)其它运算符(other Operators),4,宏汇编语言程序设计,4-1,MASM中的表达式,【概述】,MASM的表达式中的运算符(1),MASM的表达式中的运算符(2),4-1,MASM中的表达式,【概述】,MASM的表达式中的运算符(

10、3),4-1,MASM中的表达式,【概述】,ARRAYTRY,DBDB,1,2,3,4,5,6,7,820,指令为:,MOV,AX,,30*5,MOV,CX,(TRYARRAY),汇编时,计算表达式形成如下指令:,MOVMOV,AX,150 CX,8,一、算术运算符包括7种:十、一、(除,只取除法运算结果之商)、MOD(模,只取除法运算结果之余数)、SHL(左移,左移1位相当于乘2)、SHR(右移,右移1位相当于除2)。注意:所有的算术运算符均可以对数据进行运算,运算对象与运算结果都是整数。若对地址运算,通常是在标号上加减某一个数字量。例 数组ARRAY定义如下,4-1,MASM中的表达式,【

11、算术运算符】,4-1例,MASM中的表达式汇编程序指令格式如下:,DA,EQUMOVMOVMOVMOV,300AX,DA80 BX,DA MOD 100 CX,DA/100 DH,0110 0100B SHR 2,汇编时,计算表达式形成指令为:,DA,EQU,300,MOVMOVMOVMOV,AX,220 BX,0 CX,3 DH,19H,例,MOV MOV MOV MOV,AL,NOT 0FFH BL,8CH AND 73H AH, 8CH OR 73H CH,0110 0100B SHR 2,汇编时,计算表达式形成指令为:,MOVMOVMOVMOV,AL,0 BL,0 AH,0FFH CH

12、,0FFH,例,INANDOUT,PORTDX, PORT AND 0FEHDX, AX,;PORT为输入端口号;DX为输出端口号,二、逻辑运算符包括4种:AND(与)、OR(或)、NOT(非)、XOR(异或)注意:按位运算的,只能对常数进行运算,得到结果也是常数。,4-1,MASM中的表达式,例,MOVMOVMOVMOV,AL,NOT 0FFH BL,8CH AND 73H AH, 8CH OR 73H DH,0110 0100B SHR 2,汇编时,计算表达式形成指令为:,MOVMOVMOVMOV,AL,0 BL,0 AH,0FFH CH,0FFH,例,INANDOUT,PORTDX, P

13、ORT AND 0FEHDX, AX,;PORT为输入端口号;DX为输出端口号,4-1,MASM中的表达式,【逻辑运算符】,ADD,BL,6 EQ 0110B,MOV CX,(PORT LT 5) AND 100) OR (PORT GE 5) AND 200)汇编时,计算表达式形成指令为:,MOVADD,AX,0BL,0FFH,MOV,CX,100,;当端口 5时,三、关系运算符包括6种:EQ(相等)、NE(不等)、LT(小于)、GT(大于)、LE(小于或等于)、GE(大于或等于) 。注意:关系运算符的两个操作数必须是数据,或是同一段内的两个存储单元的地址;若结果为真,输出全是1,即0FFH

14、或0FFFFH;若结果为假,输出全是0。例 MOV AX,10H GT 16,4-1,MASM中的表达式,例,若DA1为数据段中一个变量名,MOV,BX,OFFSET DA1,;等价于LEA BX,DA1,四、数值返回运算符数值返回运算符也称作分析运算符(Analytic opertors)。包括5种:OFFSET、SEG、TYPE、LENGTH、SIZE 。【功能】加在变量或标号前,返回运算对象的某个参数值。例如偏移地址值、段地址值、类型属性、变量包含的单元数等。1OFFSET【格式】OFFSET 变量或标号【功能】返回标号或变量的偏移地址值。,4-1,MASM中的表达式,例 MOVMOV,

15、AX,SEG M1DS,AX,设 : M1 是 段 名 为 DATA 的 数 据 段 中 的 一 个 变 量 名 ;如 DATA 段 从0500H开始,上述指令把0500H作为立即数在连接时插入指令,汇 编后指令变为:,MOVMOV,AX, 0500HDX, AX,4-1,MASM中的表达式,【数值返回运算符】,2SEG【格式】SEG 变量或标号【功能】取变量或标号的段基值。,3TYPE【格式】TYPE 变量或标号【功能】加在变量前,返回变量的类型属性;加在标号前,返回标号的距离属性。TYPE 运算符返回值,4-1,MASM中的表达式,【数值返回运算符】,例,A1A2A3,DB 20H, 30

16、HDW 0438HDD ?,L1:,MOVMOVADDMOV,AH,TYPE A1 BH,TYPE A2 AL, TYPE A3 BL, TYPE L1,汇编时,计算表达式形成指令为:,MOVMOVADDMOV,AH,1 BH,2 AL,4 BL,0FFH,4-1,MASM中的表达式,【数值返回运算符】,4LENGTH【格式】LENGTH 变量【功能】当变量中使用DUP时,LENGTH返回此变量所包含的单元数,对其它变量则返回1。,例,M1 M2 M3,DW 100 DUP(?) DW 1, 2, 3 DB A, B, C, D ,MOV MOV MOV,CX,LENGTH BL,LENGTH AL,LENGTH,M1 M2 M3,汇编时,计算表达式形成指令为:,MOV,CX,100,;返回变量所包含的100个字单元,MOV MOV,BL,1 AL,1,4-1,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号