一、汇编语言的语句格式:[名字]操作码/伪操作[操作数][;注释]2.汇编语言的语句指令性语句指示性语句(一)、名字、标号、变量标号的三种属性:段、偏移量和类型变量的三种属性:段、偏移量和类型(二)、操作码和伪操作(三)、语句中的操作数1)、常数2)、寄存器3)、标号4)、变量5)、表达式(四)、注释二、表达式中的运算符合操作符(一)、算术运算符:+、-、*、/、MOD(二)、逻辑运算符:AND、OR、XOR、NOT(不要混同与指令)(三)、关系运算符:EQ(等于)、NE(不等于)、LT(小于)、GT(大于)、LE(小于或等于)、GE(大于或等于)当关系式成立时(真),结果为0FFFFH当关系式不成立时(假),结果为0(四)、分析运算符和合成运算符:1)、OFFSET取标号或变量的偏移量2)、SEG取标号或变量的段值3)、TYPE得到一与存储器操作数类型有关的数值TYPE返回值存储器操作数类型1BYTE2WORD4DWORD-1NEAR-2FAR4)、LENGTH5)、SIZE6)、PTR7)、THIS8)、SHORT(五)、其他运算符1)、方括号[]2)、段超越“:”3)、HIGH和LOW(五)、运算符的优先级优先级运算符优先级运算符(高)123456LENHTH,SIZE,(),[],:(段超越运算符)PTR,OFFSET,SEG,TYPE,THISHIGHT,LOW+,—(一元运算符)*,/,MOD,SHL,SHR789101112(低)十,—(二元运算符)EQ,NE,LT,LE,GT,GENOTANDOR,XORSHORT2.伪指令符号定义伪指令数据定义伪指令段定义伪指令过程定义伪指令定位定义伪指令一、符号定义伪指令用途:给一个符号重命名,或定义新的类型属性等。1)EQU等值伪指令格式:名字EQU表达式2)=等号伪指令格式:名字=表达式二、数据定义伪指令格式:[名字]伪指令助记符数据项表1)DB定义字节2)DW定义字3)DD定义双字重复操作符nDUP(初值)三、段定义伪指令1)SEGMENT/ENDS格式:段名SEGMENT[定位类型][组合类型][‘类别’]...段名ENDS定位类型①PARA(默认)②BYTE③WORD④PAGE例:STACKSEGMENTSTACK;定义STACK堆栈段,无定位类型DW30DUP(?);长度为30个字节STACKENDS;STACK段结束DATA1SEGMENTBYTE;定义DATA1段,定位类型BYTESTRINGDB“Thisisanexample!”;长度为19个字节DATA1ENDS;DATA1段结束DATA2SEGMENTWORD;定义DATA2段,定位类型WORDBUFFERDW40DUP(0);长度为40字,80个字节DATA2ENDS;DATA2段结束CODESEGMENTPAGE;定义CODE代码段,定位类型PAGE…CODEENDS;CODE代码段结束组合类型①NONE(默认)②PUBLIC③STACK④COMMON⑤MEMORY⑥AT类别名2)ASSUME格式:ASSUME段寄存器名:段名[,段寄存器名:段名[,…]]本章回顾:1、汇编语言分段结构2、语句组成3、表达式和运算符4、指令与伪指令问题回答:A1DB‘AB’A2DW‘AB’A3DD‘AB’A4DWA1四、过程定义伪指令格式:过程名PROC[NEAR/FAR]...RET过程名ENDP五、定位定义伪指令ORG表达式例:DATASEGMENTORG20HD1DB12H,13HORG$+01HD261H,62H,63HDATAENDSCODESEGMENTASSUMECS:CODE,…ORG100HSTART:……CODEENDSENDSTART