《汇编语言入门介绍.ppt》由会员分享,可在线阅读,更多相关《汇编语言入门介绍.ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本次课要点:本次课要点:第第8 8章章 汇编语言基础汇编语言基础1 1、掌握汇编语言中常用的各类运算符。、掌握汇编语言中常用的各类运算符。2 2、掌握汇编语言中常用的数据操作伪指、掌握汇编语言中常用的数据操作伪指令。令。运算符运算符EQNELTLEGTGE运算格式运算格式运算功能运算功能表达式表达式1 EQ 表达式表达式2表达式表达式1 NE 表达式表达式2表达式表达式1 LT 表达式表达式2表达式表达式1 LE 表达式表达式2表达式表达式1 GT 表达式表达式2表达式表达式1 GE 表达式表达式2两个表达式相等为真两个表达式相等为真两个表达式不相等为真两个表达式不相等为真表达式表达式1 1
2、表达式表达式2 2为真为真表达式表达式1=1 1 表达式表达式2 2为真为真表达式表达式1=1=表达式表达式2 2为真为真3.3.关系运算符关系运算符注:若真设为全注:若真设为全1 1,假设为全,假设为全0 0。比较时,若为常数按无符号数比较,如果是比较时,若为常数按无符号数比较,如果是变量按偏移量比较。变量按偏移量比较。第第8 8章章 汇编语言基础汇编语言基础例例8:MOV AX,0FH EQ 1111BMOV DX,05H GE 1111B等价于:等价于:MOV AX,0FFFFH MOV DX,0 第第8 8章章 汇编语言基础汇编语言基础格式:格式:运算对象是存储器操作数,由变量名或标号
3、组成地运算对象是存储器操作数,由变量名或标号组成地址表达式址表达式nSEG:SEG:返回变量所在的段值返回变量所在的段值nOFFSET:OFFSET:返回变量所在偏移量返回变量所在偏移量nTYPE:TYPE:返回变量的类型返回变量的类型nLENGTH:LENGTH:返回数组变量的元素个数返回数组变量的元素个数nSIZE:SIZE:返回数组变量所占的总字节数返回数组变量所占的总字节数 SIZE=TYPE*LENGTHSIZE=TYPE*LENGTH4.4.数值返回运算符数值返回运算符第第8 8章章 汇编语言基础汇编语言基础例例10:假设:假设DATA的段基值是的段基值是7A4EHDATASEGM
4、ENTORG 30HDA1DB20HDUP(12H)DA2DWDA1.DATAENDS.MOV AX,SEGDA1MOV BX,SEGDA2MOV SI,OFFSETDA1MOV DI,OFFSET DA2MOV DX,OFFSET DA1+4MOV AX,7A4EHMOV BX,7A4EHMOV SI,30HMOV DI,50HMOV DX,34H第第8 8章章 汇编语言基础汇编语言基础 TYPE 运算符运算符变量变量标号标号类型属性类型属性运算结果运算结果BYTEWORDDWORD124NEARFAR-1-2用数字形式表示变量和标号的类型属性用数字形式表示变量和标号的类型属性4.4.数值返
5、回运算符(续)数值返回运算符(续)第第8 8章章 汇编语言基础汇编语言基础例例11:DA_BYTE DB 12HDA_WORD DW 3456HDA_DWORD DD789AH.MOVAL,TYPE DA_BYTEMOVBL,TYPE DA_WORDMOVCL,TYPE DA_DWORD.MOVAL,1MOVBL,2MOVCL,4第第8 8章章 汇编语言基础汇编语言基础LENGTH与与SIZE运算符运算符pLENGTHLENGTH运算符运算符返回数组变量的元素个数。返回数组变量的元素个数。如果变量用如果变量用DUPDUP定义,定义,LengthLength为外层为外层DUPDUP的值。的值。如
6、果没有如果没有DUPDUP定义,结果为定义,结果为1 1。pSIZESIZE运算符运算符数组变量所占的总字节数。数组变量所占的总字节数。SIZESIZE是是LENGTHLENGTH和和TYPETYPE的乘积。的乘积。4.4.数值返回运算符(续)数值返回运算符(续)第第8 8章章 汇编语言基础汇编语言基础例例12:DATASEGMENTVAR1DB10HDUP(0)VAR2DB10H,20H,30H,40HVAR3DW10HDUP(A,4 DUP(3)VAR4DBCOMPUTERDATAENDS.MOV AL,LENGTHVAR1;MOV AH,SIZEVAR1;MOV BL,LENGTHVAR
7、2;MOV BH,SIZEVAR2;MOV CL,LENGTHVAR3;MOV CH,SIZEVAR3;MOV DL,LENGTHVAR4;MOV DH,SIZEVAR4;(AL)=10H(AH)=10H(BL)=1(BH)=1(CL)=10H(CH)=20H(DL)=1(DH)=1第第8 8章章 汇编语言基础汇编语言基础5.5.属性运算符属性运算符PTR:PTR:类型类型 PTR PTR 地址表达式地址表达式类型可以是:类型可以是:BYTE,WORD,DWORD BYTE,WORD,DWORD 或或NEAR,FARNEAR,FAR仅在当前语句中有效,是一种临时设置。仅在当前语句中有效,是一种
8、临时设置。DA_BYTE DB 20H DUP(0)DA_WORD DW 10H DUP(0)MOV WORD PTR DA_BYTE 10H,AX ADD BYTE PTR DA_WORD DI,BL INC BYTE PTR SI SUB WORD PTR BX,30H JMP FAR PTR SUB1第第8 8章章 汇编语言基础汇编语言基础5.5.属性运算符(续)属性运算符(续)第第8 8章章 汇编语言基础汇编语言基础 THIS:THIS 类型类型 THISTHIS常与等值语句常与等值语句EQUEQU一起用,形成新变量名或一起用,形成新变量名或标号,使它们具有标号,使它们具有THISTH
9、IS后所指的类型,而段基值后所指的类型,而段基值和偏移量与紧接的变量名或标号相同和偏移量与紧接的变量名或标号相同。例例14:DATA _BYTE EQU THIS BYTE DATA _WORD DW 20H DUP(0)JUMP_FAR EQU THIS FAR JUMP_NEAR:XOR AX,AX6.6.分离字节运算符分离字节运算符第第8 8章章 汇编语言基础汇编语言基础 HIGH 表达式表达式 LOW 表达式表达式 分离运算对象的高字节和低字节部分。分离运算对象的高字节和低字节部分。表达式必须具有常量值,如常数、地址表达式,表达式必须具有常量值,如常数、地址表达式,不能是存储器操作数或
10、寄存器内容。不能是存储器操作数或寄存器内容。例例14:DATASEGMENTORG 20HCONSTEQU0ABCDHDATA1DB10HDUP(?)DATA2DW20HDUP(?).DATAENDS.MOV AH,HIGHCONSTMOV AL,LOWCONSTMOV BH,HIGH(OFFSETDATA1)MOV BL,LOW(OFFSETDATA2)MOV CL,LOW(CONSTSHL3)MOV AH,0ABHMOV AL,0CDHMOV BH,0MOV BL,30HMOV CL,68H第第8 8章章 汇编语言基础汇编语言基础7.7.运算符的优先级运算符的优先级第第8 8章章 汇编语言
11、基础汇编语言基础优先级别优先级别(最高最高)123456789(最低最低)10运算符运算符LENGTH,SIZEPTR,OFFSET,SEG,TYPE,THISHIGH,LOW+,(单项运算符单项运算符)*,/,MOD,SHR,SHL+,EQ,NE,LT,LE,GT,GENOTANDOR,XOR 符号定义语句符号定义语句第第8 8章章 汇编语言基础汇编语言基础8.4 8.4 伪指令语句伪指令语句1.1.等值语句等值语句格式:格式:符号符号 EQU EQU 表达式表达式 表达式:常数或数值表达式表达式:常数或数值表达式 地址表达式地址表达式 变量或标号变量或标号CONST EQU 10CONST
12、 EQU 10ADR1 EQU DS:BP+14HADR1 EQU DS:BP+14HADR2 EQU CONST+10ADR2 EQU CONST+10COUN EQU VAR COUN EQU VAR 为变量名为变量名VARVAR另定义一个别名另定义一个别名p 同一符号不能用同一符号不能用EQUEQU重新定义。重新定义。p 汇编时,作为替代符号用,不产生目标代码,不占汇编时,作为替代符号用,不产生目标代码,不占 有存储单元。有存储单元。符号定义语句(续)符号定义语句(续)第第8 8章章 汇编语言基础汇编语言基础2.等号语句等号语句格式:格式:符号符号=表达式表达式 CONT=5CONT=5
13、 NUM=10H NUM=10H NUM=NUM+20H NUM=NUM+20H COUNT=VAR COUNT=VAR ;COUNT ;COUNT是变量是变量VARVAR的别名的别名 COUNT=NUM ;COUNT COUNT=NUM ;COUNT是常数是常数NUMNUM的别名的别名表达式形式同上,但可多次重新定义同一符号。表达式形式同上,但可多次重新定义同一符号。数据定义语句数据定义语句第第8 8章章 汇编语言基础汇编语言基础保留存储空间,并可以完成数据的初始化。保留存储空间,并可以完成数据的初始化。字节字节BYTEBYTE 1 1字字WORDWORD 2 2双字双字DWORDDWORD
14、 4 4四字四字QWORDQWORD 8 8十字节十字节TBYTETBYTE 10 10DBDWDDDQDT格式:格式:变量名变量名 DB/DW/DD DB/DW/DD 表达式表达式1,1,表达式表达式2,.2,.例例15:DATASEGMENT DA1DB9AH DA2DW5678H DA3DD12345678HDATAENDS变量的属性:变量的属性:段属性段属性 偏移属性偏移属性 类型属性类型属性第第8 8章章 汇编语言基础汇编语言基础表达式:表达式:数值数值DA_BYTE1DB50HDA_BYTE2DB10H,20H,30H,40HDA_WORD1DW0A34HDA_WORD2DW123
15、4H,5678H,9ABCHDA_DWORDDD12345678H,9ABCDEFH格式:格式:变量名变量名 DB/DW/DD DB/DW/DD 表达式表达式1,1,表达式表达式2,.2,.数据定义语句(续)数据定义语句(续)第第8 8章章 汇编语言基础汇编语言基础格式:格式:变量名变量名 DB/DW/DD DB/DW/DD 表达式表达式1,1,表达式表达式2,.2,.数据定义语句(续)数据定义语句(续)第第8 8章章 汇编语言基础汇编语言基础表达式:表达式:字符字符/字符串字符串p字符串必须用引号括起来字符串必须用引号括起来pDBDB时一个字符串可以连续书写小于时一个字符串可以连续书写小于2
16、55255个字;个字;pDWDW、DDDD时每一个字符串表达式由时每一个字符串表达式由1-21-2个字符构成;个字符构成;STRING1DBSTRINGSTRING2DWST,RI,NGSTRING3DDST,RI,NG格式:格式:变量名变量名 DB/DW/DD DB/DW/DD 表达式表达式1,1,表达式表达式2,.2,.数据定义语句(续)数据定义语句(续)第第8 8章章 汇编语言基础汇编语言基础表达式:表达式:?表达式:分配相应数量的存储单元,但不初表达式:分配相应数量的存储单元,但不初始化。始化。DA_BYTE3DA_BYTE3DBDB?,?,?DA_WORD3DA_WORD3DWDW?
17、,?,?格式:格式:变量名变量名 DB/DW/DD DB/DW/DD 表达式表达式1,1,表达式表达式2,.2,.数据定义语句(续)数据定义语句(续)第第8 8章章 汇编语言基础汇编语言基础表达式:表达式:带带DUPDUP的表达式的表达式DA_B1DB10H DUP(?)DA_B2DB20H DUP(ABCD)DA_W1DW10DUP(4)DA_W2DW10DUP(-1,1)操作符操作符DUPDUP可以嵌套使用:可以嵌套使用:DA_B3 DB 10H DUP(4 DUP(3),8)作业:作业:1 1、定义一个数组,类型为字节,其中存放、定义一个数组,类型为字节,其中存放“ABCDEFGH”ABCDEFGH”。2 2、定义一个字节区域,第一个字节为、定义一个字节区域,第一个字节为1010,其,其后连续存放后连续存放1010各初值为各初值为0 0的连续字节。的连续字节。第第8 8章章 汇编语言基础汇编语言基础
限制150内