汇编语言运算符_第1页
汇编语言运算符_第2页
汇编语言运算符_第3页
汇编语言运算符_第4页
汇编语言运算符_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

汇编语言运算符第一页,共二十六页,编辑于2023年,星期日运算符EQNELTLEGTGE运算格式运算功能表达式1EQ表达式2表达式1NE表达式2表达式1LT表达式2表达式1LE表达式2表达式1GT表达式2表达式1GE表达式2两个表达式相等为真两个表达式不相等为真表达式1<表达式2为真表达式1<=表达式2为真表达式1>表达式2为真表达式1>=表达式2为真3.关系运算符注:若真设为全1,假设为全0。比较时,若为常数按无符号数比较,如果是变量按偏移量比较。第8章汇编语言基础第二页,共二十六页,编辑于2023年,星期日例8: MOV AX,0FHEQ1111B MOV DX,05HGE1111B等价于:

MOVAX,0FFFFHMOVDX,0

第8章汇编语言基础第三页,共二十六页,编辑于2023年,星期日例9:DATASEGMENTORG10HNUM1=1234NUM2=1234HDA_BYTEDB 10H DUP(0)DA_WORD DW 10H DUP(0)

DA_VAR1 DWNUM2+DA_BYTE GTNUM1+DA_WORDDA_VAR2 DB NUM1LENUM2DATAENDS ...

MOV AX,NUM1LTNUM2 MOV BL,NUM1GENUM2 MOV CX,DA_WORDGTDA_BYTE第8章汇编语言基础第四页,共二十六页,编辑于2023年,星期日格式:<运算符><地址表达式>运算对象是存储器操作数,由变量名或标号组成地址表达式SEG:返回变量所在的段值 OFFSET:返回变量所在偏移量TYPE:返回变量的类型 LENGTH:返回数组变量的元素个数 SIZE:返回数组变量所占的总字节数

SIZE=TYPE*LENGTH4.数值返回运算符第8章汇编语言基础第五页,共二十六页,编辑于2023年,星期日例10:假设DATA的段基值是7A4EHDATA SEGMENT ORG 30HDA1 DB 20H DUP(12H)DA2 DW DA1 ...DATA ENDS ... MOV AX,SEG DA1 MOV BX,SEG DA2 MOV SI,OFFSET DA1 MOV CX,DA2 MOV DI,OFFSET DA2 MOV DX,OFFSETDA1+4MOV AX,7A4EHMOV BX,7A4EHMOV SI,30HMOV CX,7A9EHMOV DI,50HMOV DX,34H第8章汇编语言基础第六页,共二十六页,编辑于2023年,星期日

TYPE运算符变量标号类型属性运算结果BYTEWORDDWORD124NEARFAR-1-2用数字形式表示变量和标号的类型属性4.数值返回运算符(续)第8章汇编语言基础第七页,共二十六页,编辑于2023年,星期日例11:DA_BYTE DB 12HDA_WORDDW 3456HDA_DWORDDD 789AH ...

MOV AL,TYPE DA_BYTE MOV BL,TYPE DA_WORD MOV CL,TYPE DA_DWORD ... MOV AL,1 MOV BL,2 MOV CL,4第8章汇编语言基础第八页,共二十六页,编辑于2023年,星期日LENGTH与SIZE运算符LENGTH运算符返回数组变量的元素个数。如果变量用DUP定义,Length为外层DUP的值。如果没有DUP定义,结果为1。SIZE运算符数组变量所占的总字节数。SIZE是LENGTH和TYPE的乘积。4.数值返回运算符(续)第8章汇编语言基础第九页,共二十六页,编辑于2023年,星期日例12:DATA SEGMENTVAR1 DB 10H DUP(0)VAR2 DB 10H, 20H, 30H, 40HVAR3 DW 10H DUP(‘A’,4DUP(3))VAR4 DB ‘COMPUTER’DATA ENDS ... MOV AL,LENGTH VAR1 ; MOV AH,SIZE VAR1 ; MOV BL,LENGTH VAR2 ; MOV BH,SIZE VAR2 ; MOV CL,LENGTH VAR3 ; MOV CH,SIZE VAR3; MOV DL,LENGTH VAR4 ; MOV DH,SIZE VAR4 ;(AL)=10H(AH)=10H(BL)=1(BH)=1(CL)=10H(CH)=20H(DL)=1(DH)=1第8章汇编语言基础第十页,共二十六页,编辑于2023年,星期日求数组ARRAY的各数据项的累加和,从数组最后一个数据项开始进行累加。ARRAY DW 06H DUP(4) ... XOR AX,AX MOV SI,OFFSETARRAY ADD SI,SIZEARRAY-TYPEARRAY MOV CX,LENGTHARRAYLOP: ADD AX,[SI] SUB SI,TYPEARRAY LOOP LOP例13:第8章汇编语言基础第十一页,共二十六页,编辑于2023年,星期日5.属性运算符PTR: 类型PTR地址表达式类型可以是:BYTE,WORD,DWORD或NEAR,FAR仅在当前语句中有效,是一种临时设置。DA_BYTEDB20HDUP(0)DA_WORDDW10HDUP(0)…MOVWORDPTRDA_BYTE[10H],AXADDBYTEPTRDA_WORD[DI],BLINCBYTEPTR[SI]SUBWORDPTR[BX],30HJMPFARPTRSUB1第8章汇编语言基础第十二页,共二十六页,编辑于2023年,星期日5.属性运算符(续)第8章汇编语言基础THIS:THIS类型

THIS常与等值语句EQU一起用,形成新变量名或标号,使它们具有THIS后所指的类型,而段基值和偏移量与紧接的变量名或标号相同。例14:DATA_BYTEEQUTHISBYTEDATA_WORDDW20HDUP(0)JUMP_FAREQUTHISFARJUMP_NEAR:XORAX,AX第十三页,共二十六页,编辑于2023年,星期日6.分离字节运算符第8章汇编语言基础

HIGH表达式

LOW

表达式分离运算对象的高字节和低字节部分。表达式必须具有常量值,如常数、地址表达式,不能是存储器操作数或寄存器内容。第十四页,共二十六页,编辑于2023年,星期日例14:DATA SEGMENT ORG 20HCONST EQU 0ABCDHDATA1 DB 10H DUP(?)DATA2 DW 20H DUP(?) ...DATA ENDS ... MOV AH,HIGH CONST MOV AL,LOW CONST MOV BH,HIGH (OFFSET DATA1) MOV BL,LOW (OFFSET DATA2) MOV CL,LOW (CONST SHL 3)MOV AH,0ABHMOV AL,0CDHMOV BH,0MOV BL,30HMOV CL,68H第8章汇编语言基础第十五页,共二十六页,编辑于2023年,星期日7.运算符的优先级第8章汇编语言基础优先级别(最高)1 2 3 4 5 6 7 8 9(最低) 10运算符LENGTH,SIZEPTR,OFFSET,SEG,TYPE,THISHIGH,LOW+,–(单项运算符)*,/,MOD,SHR,SHL+,–EQ,NE,LT,LE,GT,GENOTANDOR,XOR第十六页,共二十六页,编辑于2023年,星期日8.4.1

符号定义语句第8章汇编语言基础8.4伪指令语句1.等值语句格式:符号EQU表达式表达式:常数或数值表达式 地址表达式 变量或标号CONSTEQU10ADR1EQUDS:[BP+14H]ADR2EQUCONST+10COUNEQUVAR为变量名VAR另定义一个别名同一符号不能用EQU重新定义。汇编时,作为替代符号用,不产生目标代码,不占有存储单元。第十七页,共二十六页,编辑于2023年,星期日8.4.1

符号定义语句(续)第8章汇编语言基础2.等号语句格式:符号=表达式

CONT=5NUM=10HNUM=NUM+20HCOUNT=VAR ;COUNT是变量VAR的别名COUNT=NUM;COUNT是常数NUM的别名表达式形式同上,但可多次重新定义同一符号。第十八页,共二十六页,编辑于2023年,星期日8.4.2

数据定义语句第8章汇编语言基础保留存储空间,并可以完成数据的初始化。字节 BYTE 1字 WORD 2双字 DWORD 4四字 QWORD 8十字节 TBYTE 10DBDWDDDQDT格式:变量名DB/DW/DD表达式1,表达式2,...第十九页,共二十六页,编辑于2023年,星期日例15:DATA SEGMENTDA1 DB 9AHDA2 DW 5678HDA3 DD 12345678HDATA ENDS变量的属性:段属性 偏移属性 类型属性第8章汇编语言基础第二十页,共二十六页,编辑于2023年,星期日表达式:数值

DA_BYTE1 DB 50HDA_BYTE2 DB 10H,20H,30H,40HDA_WORD1 DW 0A34HDA_WORD2 DW 1234H,5678H,9ABCHDA_DWORD DD 12345678H,9ABCDEFH格式:变量名DB/DW/DD表达式1,表达式2,...8.4.2

数据定义语句(续)第8章汇编语言基础第二十一页,共二十六页,编辑于2023年,星期日格式:变量名DB/DW/DD表达式1,表达式2,...8.4.2

数据定义语句(续)第8章汇编语言基础表达式:字符/字符串

字符串必须用引号括起来DB时一个字符串可以连续书写小于255个字;DW、DD时每一个字符串表达式由1-2个字符构成;STRING1 DB ‘STRING’STRING2 DW ‘ST’,‘RI’,‘NG’STRING3 DD ‘ST’,‘RI’,‘NG’第二十二页,共二十六页,编辑于2023年,星期日STRING1535452494E47545352494E47STRING2545352494E47STRING3000000000000STRING1DB‘STRING’STRING2DW‘ST’,‘RI’,‘NG’STRING

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论