《宏汇编语言》PPT课件.ppt
《《宏汇编语言》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《宏汇编语言》PPT课件.ppt(68页珍藏版)》请在三一办公上搜索。
1、第5章 宏汇编语言,5.1 汇编源程序的语句类型 一个完整的汇编程序至少应包含两类语句:一类是指令性语句;另一类是指示性语句。指令性语句的书写格式如下:标号:符号指令;注释变量名 伪 指 令;注释,返回本章首页,LEA bx,bufabc:MOV al,0MOV dl,bxSUB al,dlCLCROL al,1JZ rrrMOV NOT0,dlJMP qqqINC bxrrr:MOV minus,dlqqq:JMP abc,指令语句的一般格式如下:标号:指令助记符 操作数;注释1标号:标号是机器指令语句存放地址的符号表示,代表该指令目标代码的第一个字节地址,后面必须紧跟冒号“:”。2指令助记
2、符:指令助记符为语句的核心成分,表示了该语句的操作类型。3操作数:操作数表示指令助记符的操作对象。4注释:注释均以分号开始,它可占一行或多行,一般放在一条语句的后面。,返回本节,伪指令语句格式,伪指令语句格式如下:符号名 伪指令符 操作数;注释1符号名:符号名是伪指令语句的一个可选项。2伪指令符:伪指令符指定汇编程序要完成的具体操作,如数据定义伪指令DB、DW、DD,段定义伪指令SEGMENT,假定伪指令ASSUME等。3操作数:伪指令后面的操作数可以是常数、字符串、变量、表达式等,其个数由具体的伪指令决定,各个操作数之间必须以“逗号”分隔。4注释:伪指令的注释必须以“;”开始,其作用同指令语
3、句中的注释部分。,返回本节,返回本章首页,5.2 宏汇编基本语法5.2.1 标号、变量和常数1 标号和变量2 常量:立即数,字符串常数,符号常数5.2.2 运算符1 数值运算符(1)算术运算符(2)逻辑运算符(3)关系运算符2 修改属性的运算符3 返回属性或数值的运算符(1)SEG运算符(2)OFFSET运算符,(3)TYPE运算符(4)$运算符4 方括号运算符和地址表达式5.3 数据定义伪指令1 等值伪指令(EQU)2 等号伪指令()3 字节定义伪指令4 字定义伪指令5 双字定义伪指令6 多字节定义伪指令5.4 宏汇编语言基本语法1 方式选择伪指令2 段定义伪指令,3 段约定语句4 过程定义
4、语句5 定位语句6 汇编结束语句,字符串常量,字符串常量是用单引号或双引号引起来的一个或多个字符。字符串常量是以各字符的ASC码表示的。如A用41H 表示,字符串A1B2用41H,31H,42H,32H表示。,返回本节,变量,1变量2变量的定义,(1)段属性(2)偏移地址属性(3)类型属性,1变量,表达式项是给变量或指定存储单元赋予初值,它有以下几种形式:(1)数值表达式(2)字符串表达式(3)地址表达式(只适用DW和DD两个伪指令)(4)?表达式(5)带DUP的表达式,2变量的定义,数据定义伪指令可以为一个或连续的存储单元设置数值初值。【例3.1】为数据段分配存储单元。DATA SEGMEN
5、TA DB11H,12H,13HB DW1122H,3344HC DD12345678HDATA ENDS上述变量的存储单元分配及初始化情况如下图3.1所示。,(1)数值表达式,图3.1 数据段中数据存储分配图,字符串表达式中的字符串必须用引号引起来。DB、DW、DD伪指令将字符串中的各字符均以ASC码形式存放在相应的存储单元,但表示形式各不相同。【例3.2】为字符串分配存储单元。DATASEGMENTSTR1DB1234STR2DWAB,CD,ASTR3DDABDATAENDS其存储单元分配如下图3.2所示。,(2)字符串表达式,图3.2 数据段存储分配图,(3)地址表达式(只适用DW和DD
6、两个伪指令)如果该地址表达式为一变量(或标号)名,用DW伪指令则是取它的偏移地址来初始化变量,用DD伪指令则是取它的段首址和偏移地址来初始化变量。例如:BUF1DWA BUF2DDB,在表达式中使用重复数据操作符DUP,可以为连续的存储单元提供重复数据,其格式为:N DUP(表达式)其中N为重复因子,只能取正整数,表示定义了N个重复数据存储单元,其类型由它前面的数据定义伪指令确定,而每个数据存储单元中的初值由DUP后面圆括号中的表达式给定。例如:BUF DB 100 DUP(0)以上语句定义了以BUF为首址,大小为100个字节,初值为0的数据存储单元。,(5)带DUP的表达式,返回本节,标号,
7、标号是一条指令语句的符号地址。在汇编源程序中,只有在需要转向一条指令语句时,才为该指令语句设置标号,以便在转移类指令(含子程序调用指令)中直接引用这个标号。因此,标号可作为转移类指令的操作数,即转移地址。【例3.3】符号地址表示。NEXT:MOV AL,SI;带标号NEXT的指令 DEC CX JNE NEXT;标号NEXT作转移指令的操作数,1段属性2偏移地址属性3类型属性,标号也具有三种属性,返回本节,4 表达式,1操作数2.算术运算符3逻辑运算符4关系运算符5属性运算符6数值返回运算符,算术运算符包括:(加)、(减)、*(乘)、(除)、MOD(求模)、SHL(左移)、SHR(右移)几种,
8、它既可以用于数值表达式又可用于地址表达式。,2算术运算符,1操作数,NUM1EQU25*4 50;NUM1=50NUM2EQUNUM1/7;NUM2=7NUM3DBNUM1 MOD 7;NUM3=1VAR1DB1,2,3,4,5VAR2DB12345NUM4EQUVAR2-VAR1;NUM4=5NUM5EQU0FH MOVAL,NUM5 SHL 4;(AL)=11110000BMOVBL,NUM5 SHR 4;(BL)=00000000B,【例3.4】用算术运算符进行数值表达式运算。,逻辑运算符包括:逻辑乘(AND)、逻辑加(OR)、按位加(XOR)、逻辑非(NOT)四种运算。由于逻辑运算是按
9、位操作,且在汇编过程中完成,因而运算的结果仍为整数常量。【例3.5】用逻辑运算符进行运算。MOVAL,34H AND 0FH;04HALMOVBL,05H OR 30H;35HBLMOVCX,NOT 00FFH;0FF00HCXMOVDX,789AH XOR 000FH;7895HDX,3逻辑运算符,关系运算符包括:相等(EQ),不等(NE),小于(LT),大于(GT),小于等于(LE)及大于等于(GE)。【例3.6】用关系运算符进行数值表达式运算。NUM1 DB 10 LT 5;NUM1=0NUM2 DB0AAAAH GT 7FFFH;NUM2=0FFFFH MOV AX,A EQ 41H;
10、0FFFFHAXMOVBX,NUM2 LT NUM1;0BX,4关系运算符,(1)PTR运算符格式:类型 PTR 地址表达式 PTR与EQU连用,可定义与PTR右边地址表达式类型不同的新变量名或新标号,但不另分配存储单元。,5属性运算符,(1)SEG 运算符(2)OFFSET运算符(3)TYPE运算符(4)SIZE运算符(5)字节分离运算符,6数值返回运算符,(1)SEG 运算符格式:SEG 变量或标号功能:分离出其后变量或标号所在段的段首址。例如:MOVAX,SEGARRMOVDS,AX(2)OFFSET运算符格式:OFFSET 变量或标号功能:分离出其后变量或标号的偏移地址。例如:MOV
11、BX,OFFSET BUF,(3)TYPE运算符格式:TYPE 变量或标号功能:分离出其后变量或标号的类型。如果是变量,将返回该变量的类型对应字节数;如果是标号,则返回代表标号类型的数值。它们之间的关系见表3.2所示。,(4)SIZE运算符格式:SIZE 变量功能:取出变量所含的数据存储区大小。其返回值为:LENGTH 变量*TYPE 变量例如:上例中A、B、C三变量:SIZE A=LENGTH A*TYPE A=1SIZE B=LENGTH B*TYPE B=20SIZE C=LENGTH C*TYPE C=1,(5)字节分离运算符字节分离运算符包括:HIGH和LOW。格式:HIGH 常量或
12、地址表达式LOW 常量或地址表达式功能:HIGH 用来分离出其后16位常量或地址表达式的偏移量的高字节;LOW用来分离出其后16位常量或地址表达式偏移量的低字节。,返回本节,5.4 宏汇编语言基本语句,1 方式选择伪指令(1).8086;只汇编8086、8088指令(2).286或.286C;只汇编8086、8088及80286实模式指令(3).286P;只汇编8086、8088及80286全部指令(4).386或.386C;同.286,且汇编80386实模式指令(5).386P;同.286P,且汇编80386全部指令(6).486或.486C;同.386,且汇编80486实模式指令(7).4
13、86P;同.386P,且汇编80486全部指令。,返回本章首页,数据定义伪指令,常用的数据定义伪指令有DB,DW,DD,DQ,DT。格式:变量名 数据定义伪指令表达式,功能:定义数据存储区,类型由数据定义伪指令确定,初值由表达式给定。,返回本节,符号定义伪指令,1等价伪指令2等号伪指令3定义符号名伪指令,1等价伪指令,格式:符号名 EQ 表达式功能:为常量、表达式及其他各种符号定义一个等价的符号名,但它不申请存储单元。用途:用符号表示常量、数值表达式,即定义符号常量。使用符号常量可使程序简单明了,增强程序的可读性和通用性。EQU与属性运算符TR或THIS联合使用,可以给变量或标号定义新的类型属
14、性并重新命名,但保持其段偏移地址属性不变。利用EQU可以用一个符号名替代一个复杂的地址表达式和其他一些符号,如指令助记符、变量名、标号、段名、寄存器名、宏定义名等。,2等号伪指令,格式:符号名=表达式功能:为常量、表达式及其他各种符号定义一个等价的符号名,并能对所定义的符号多次重复定义,且以最后一次定义的值为准。【例3.17】定义等价符号名。COST=20M=MOVLOST=LOST+10;30LOSTM=ADD;M=ADD,3 段定义伪指令SEGMENT/ENDS,段名 SEGMENT 定位参数 连接参数 分类名 段长度段体段名 ENDS1定位参数2连接参数3分类名4段长度,1定位参数(1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 宏汇编语言 汇编语言 PPT 课件
链接地址:https://www.31ppt.com/p-5493504.html