《汇编语言语法》PPT课件.ppt

上传人:wuy****n92 文档编号:71795355 上传时间:2023-02-06 格式:PPT 页数:54 大小:279.99KB
返回 下载 相关 举报
《汇编语言语法》PPT课件.ppt_第1页
第1页 / 共54页
《汇编语言语法》PPT课件.ppt_第2页
第2页 / 共54页
点击查看更多>>
资源描述

《《汇编语言语法》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《汇编语言语法》PPT课件.ppt(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、汇编语言语法dataSEGMENT;数据段数据段varDB?dataENDScodeSEGMENT;代码段代码段ASSUMECS:code,DS:datastart:MOVAX,dataMOVDS,AXMOVvar,CLMOVAH,4CHINT21H;返回返回DOScodeENDSENDstart例:例:一、汇编语言程序格式一、汇编语言程序格式段结构段结构整个源程序由段组成,段名通过伪指令进行定义整个源程序由段组成,段名通过伪指令进行定义每个段由若干语句组成每个段由若干语句组成整个源程序以整个源程序以END结束结束dataSEGMENT;数据段数据段varDB?dataENDScodeSEGM

2、ENT;代码段代码段ASSUMECS:code,DS:datastart:MOVAX,dataMOVDS,AXMOVvar,CLMOVAH,4CHINT21H;返回返回DOScodeENDSENDstart例:例:一、汇编语言程序格式一、汇编语言程序格式语句结构语句结构1.名字项名字项l据语句功能的不同,据语句功能的不同,名字项可用来表示名字项可用来表示:段段名名、变变量量名名、标标号号、过过程程名名以以及常量名及常量名等。等。当当为为指指令令性性语语句句,该该项项为为标标号号,必必须加须加“:”当当为为伪伪指指令令语语句句时时,该该项项为为名名字字,没有没有“:”dataSEGMENT;数据

3、段数据段varDB?dataENDScodeSEGMENT;代码段代码段ASSUMECS:code,DS:datastart:MOVAX,dataMOVDS,AXMOVvar,CLMOVAH,4CHINT21H;返回返回DOScodeENDSENDstartl名字项用一个符号表示。名字项用一个符号表示。对符号的规定对符号的规定:由字符由字符AZ,az,09及特殊符号(及特殊符号(,$,_,.,?),?)等组成,最长等组成,最长31个字符,超出部分忽略。个字符,超出部分忽略。不能用数字打头,以免与十六进制数相混。不能用数字打头,以免与十六进制数相混。不使用汇编程序中的保留字。不使用汇编程序中的保

4、留字。(如指令的助记符等如指令的助记符等)对定义的符号不区分大小写。对定义的符号不区分大小写。2.助记符项助记符项助记符可以是指令、伪操作中的助记符。助记符可以是指令、伪操作中的助记符。对于指令对于指令,汇编程序将其翻译成机器语言指令。,汇编程序将其翻译成机器语言指令。MOVAX,100B80001对于伪操作对于伪操作,汇编程序据其要求的功能进行处理。,汇编程序据其要求的功能进行处理。dataSEGMENTdata与一段值对应与一段值对应stringDBTsinghuastring与一内存地址对应与一内存地址对应3操作数项操作数项l操作数给出参与操作的数或数所在的地方。操作数给出参与操作的数或

5、数所在的地方。l操作数多于一个时,用逗号分开。操作数多于一个时,用逗号分开。l操作数可以是操作数可以是常数常数、寄存器、存储器操作数、寄存器、存储器操作数、标号名、过程名或标号名、过程名或表达式表达式等。等。4注释项注释项l由分号引出,用来说明语句或程序的功能。由分号引出,用来说明语句或程序的功能。汇编程序对分号后的内容不做处理。汇编程序对分号后的内容不做处理。l作用:作用:注释程序,增强程序可读性。注释程序,增强程序可读性。可放在语句最前,暂时注释某语句,调试程序用。可放在语句最前,暂时注释某语句,调试程序用。例例 、;MOVAH,2;显示提示信息显示提示信息;MOVDL,A;INT21H

6、、常量常量二进制二进制xxxxxxxxBxxxxxxxxB01000101B01000101B八进制八进制xxxOxxxO 或或xxxQxxxQ721O721O或或721Q721Q十进制十进制xxxxxxxx或或xxxxDxxxxD19911991或或1991D1991D十六进制十六进制xxxxHxxxxH0F1D4H0F1D4H字符串字符串xxxxxx或或“xxx”“xxx”ABAB数值常量数值常量符号常量(用符号常量(用EQUEQU或或=定义)定义)二、基本数据常量、变量、标号二、基本数据常量、变量、标号l字符常量,用单引号表示。字符常量,用单引号表示。如如1234lA、B、C、D、E、F

7、开头的十六进制数前面加开头的十六进制数前面加0,与与H结尾的标识符区别。结尾的标识符区别。如如寄存器名寄存器名AH、BH、CH、DH变量名变量名abcdH等等例例 movAL,0AHmovAL,AHmovBX,0abcdH注意注意:3个及其以上的字符,个及其以上的字符,只能用只能用DB定义定义str1DWabcdstr2DDabcd内存单元的名字内存单元的名字,由由DB/DW/DD/DQ/DTDB/DW/DD/DQ/DT定义定义BUF DB?BUF DB?MOV BUF,ALMOV BUF,AL变量的三种属性:变量的三种属性:段值段值 SEG SEG偏移量偏移量 OFFSET OFFSET类型

8、类型 BYTE/WORD/.BYTE/WORD/.变量变量指令存放单元的符号地址指令存放单元的符号地址,是转移是转移/调用调用/循环指令循环指令的操作数的操作数标号的三种属性:标号的三种属性:段值段值 SEG SEG偏移量偏移量 OFFSET OFFSET类型类型 NEAR/FAR NEAR/FAR标号标号伪指令语句没有对应的机器代码,经汇编后不伪指令语句没有对应的机器代码,经汇编后不产生目标代码产生目标代码主要完成变量的定义、存储器的分配、段的定主要完成变量的定义、存储器的分配、段的定义和分配、过程的定义、程序开始和结束指示等义和分配、过程的定义、程序开始和结束指示等三、伪指令语句三、伪指令

9、语句定义变量、分配存储单元等定义变量、分配存储单元等变量名变量名 DB/DW/DD/DQ/DT DB/DW/DD/DQ/DT 操作数,操作数,操作数,操作数功能:把操作数存入以变量名所指示的存储单功能:把操作数存入以变量名所指示的存储单元为首地址的存储区中元为首地址的存储区中操作数可以是:常数、字符串、变量、数值表达操作数可以是:常数、字符串、变量、数值表达式、?、式、?、N DUPN DUP表达式等表达式等VAR1DW1234HVAR2DB12H,23H,34HVAR3DBThisisastringVAR4DW?表示未初始化的数表示未初始化的数1、数据定义伪指令、数据定义伪指令1、数据定义伪

10、指令、数据定义伪指令注意注意:3个及其以上的字符,个及其以上的字符,只能用只能用DB定义定义str1DWabcdstr2DDabcdDBDB定义字节,表示每个操作数占用一个字节定义字节,表示每个操作数占用一个字节DWDW定义字,表示每个操作数占用定义字,表示每个操作数占用2 2个字节个字节DDDD定义双字,表示每个操作数占用定义双字,表示每个操作数占用4 4个字节个字节DQDQ定义四个字,表示每个操作数占用定义四个字,表示每个操作数占用8 8个字节个字节DTDT定义定义1010个字节,表示每个操作数占用个字节,表示每个操作数占用1010个字节个字节(1)赋值伪指令)赋值伪指令EQU标识符标识符

11、EQU操作数操作数ABC EQU2000HXYZ EQUBP+5新标号新标号EQU老标号老标号AADEQUPAR_3COUNTEQUCX赋值伪指令赋值伪指令EQU定义后的标识符不能重复定义定义后的标识符不能重复定义(2)等号伪指令)等号伪指令“=”标识符标识符=操作数操作数与与EQU执行过程类似执行过程类似允许标识符重复定义允许标识符重复定义2 2、标识符赋值与解除伪指令、标识符赋值与解除伪指令(3)解除伪指令)解除伪指令PURGEPURGE标识符标识符1,标识符,标识符2,标识符,标识符3,对对EQU定义过的标识符进行解除,可重新定义定义过的标识符进行解除,可重新定义(4)别名定义伪指令)别

12、名定义伪指令LABEL格式格式:别名别名LABEL类型属性类型属性例如例如BYTE-ARRAYLABELBYTEWORD-ARRAYDW100DUP(?)MOVWORD-ARRAY,0把第一个字置把第一个字置0MOVBYTE-ARRAY,0把第一个字节置把第一个字节置02 2、标识符赋值与解除伪指令、标识符赋值与解除伪指令段名段名SEGMENT定位类型定位类型组合类型组合类型分类名分类名段体段体段名段名ENDSSEGMENT/ENDS总是成对使用总是成对使用,以指定段的名以指定段的名称和范围称和范围通常用通常用DATA作为数据段的段名,作为数据段的段名,CODE作为代作为代码段的段名,码段的段

13、名,STACK作为堆栈段的段名作为堆栈段的段名.3、段定义伪指令、段定义伪指令(1)SEGMENT/ENDS伪指令伪指令定位类型(定位方式):给出了实际段起点的类型。缺定位类型(定位方式):给出了实际段起点的类型。缺省为省为PARAPAGE指定起始地址低指定起始地址低8位是位是0,即值可以被,即值可以被256整除(页边界)整除(页边界)PARA指定起始地址低指定起始地址低4位是位是0,即值可以被,即值可以被16整除(段边界)整除(段边界)WORD指定起始地址最低位是指定起始地址最低位是0,即值可以被,即值可以被2整除(字边界)整除(字边界)BYTE指定起始地址是任意值指定起始地址是任意值000

14、00000PAGE0000PARA0WORDBYTE定位类型定位类型确定各个逻辑段的组合方式。缺省时为确定各个逻辑段的组合方式。缺省时为NONE,认为该段不准备,认为该段不准备与其他同名段相连接的与其他同名段相连接的PUBLIC:告诉连接程序将本段与其他同名段连接起来,公用告诉连接程序将本段与其他同名段连接起来,公用一个起点地址,形成一个物理段一个起点地址,形成一个物理段COMMON:本段与同名同类别的段公用同一段起始地址,即同:本段与同名同类别的段公用同一段起始地址,即同名同类段相重叠,段长度即为最长段的长度名同类段相重叠,段长度即为最长段的长度AT表达式:表达式:本段定位在表达式指定的段地

15、址处本段定位在表达式指定的段地址处STACK:表明本段是堆栈段,连接方式同表明本段是堆栈段,连接方式同PUBLIC,连接后,连接后段起始地址在段起始地址在SS寄存器中寄存器中MEMORY:本段在连接时定位在所有段之上,即最高地址处本段在连接时定位在所有段之上,即最高地址处分类名分类名:使用时须用单引号括起来使用时须用单引号括起来凡分类名相同的段在连接时均按照先后顺序连接起来凡分类名相同的段在连接时均按照先后顺序连接起来组合类型组合类型ASSUME段寄存器:段名,段寄存器:段名,段寄存器:段名,段寄存器:段名功能:定义当前有效的四个逻辑段,指明段与段寄存功能:定义当前有效的四个逻辑段,指明段与段

16、寄存器的关系;器的关系;ASSUME语句通常作为代码段的第一条语句,一般语句通常作为代码段的第一条语句,一般数据段和代码段是必须的数据段和代码段是必须的(2)段分配伪指令段分配伪指令ASSUMEq代码段寄存器代码段寄存器CS的值由系统在初始化时自动设置的值由系统在初始化时自动设置q其他段寄存器的初始化一般在程序开始,将段基址装入其他段寄存器的初始化一般在程序开始,将段基址装入例例:ASSUMECS:CSEG,DS:DSEGASSUME是伪指令,段寄存器实际地址值的装入必是伪指令,段寄存器实际地址值的装入必须通过指令语句须通过指令语句CSEGSEGMENTASSUMECS:CSEG,DS:DSE

17、GMOVAX,DSEGMOVDS,AXCSEGENDS4、过程定义伪指令、过程定义伪指令格式:过程名格式:过程名 PROC PROC 属性属性(NEAR(NEAR 或或FAR)FAR)RET RET 过程名过程名 ENDP ENDP调用格式为:调用格式为:CALL CALL 过程名过程名PROC,ENDP,NEAR,FAR功能:定义一个主程序可以用功能:定义一个主程序可以用CALL调用的过程调用的过程5、程序开始与结束伪指令、程序开始与结束伪指令格式:格式:NAME NAME 程序名程序名 TITLE TITLE 文本名文本名(1)目标模块命名)目标模块命名NAME、TITLE功能:为源程序目

18、标模块赋一个功能:为源程序目标模块赋一个程序名程序名格式:格式:ORG表达式表达式作用:给出该定位指令下一条指令的起始偏移地址。即把下作用:给出该定位指令下一条指令的起始偏移地址。即把下一条语句定义的内存数据或是程序从表达式的起点(偏移地一条语句定义的内存数据或是程序从表达式的起点(偏移地址)开始连续存放,直至遇到新的址)开始连续存放,直至遇到新的ORG指令。表达式的值为指令。表达式的值为无符号数无符号数ORG2000H(IP=2400H)ORG2464H在在2400H和和2464H间空出间空出100个字节的存储空间个字节的存储空间(2)定位伪指令)定位伪指令ORG(3)程序结束指令)程序结束

19、指令END格式格式:END标号标号说明源文件结束说明源文件结束,并给出执行程序的入口地址(标号)并给出执行程序的入口地址(标号)6、方式定义伪指令、方式定义伪指令功能:确定汇编程序的操作方式功能:确定汇编程序的操作方式.8086默认操作方式默认操作方式.386运行于运行于386方式下方式下,可使用可使用32位寄存器位寄存器7、结构定义伪指令、结构定义伪指令(1)(1)结构定义结构定义格式格式:结构名结构名 STRUC STRUC 数据定义语句数据定义语句结构名结构名 ENDS ENDS 结构定义不真正为结构分配存储空间结构定义不真正为结构分配存储空间,他是在汇编时进行他是在汇编时进行结构说明的

20、结构说明的(2)(2)结构存储单元分配及赋值结构存储单元分配及赋值格式格式:结构变量名结构变量名 结构名结构名 (3)(3)结构引用结构引用格式格式:结构变量名结构变量名.字段名字段名8、分组伪指令、分组伪指令GROUP格式:格式:组名组名GROUP段段1,段,段2,功能:将各个逻辑段放在同一个功能:将各个逻辑段放在同一个64K的物理段内,的物理段内,并给它取个新的名字,即组名并给它取个新的名字,即组名9、其他伪指令、其他伪指令公用符号伪指令公用符号伪指令格式格式:PUBLIC标识符标识符指出可被其他模块引用的符号名指出可被其他模块引用的符号名,可以是变量名、标可以是变量名、标号、过程名或符号

21、常量号、过程名或符号常量引用符号伪指令引用符号伪指令格式:格式:EXTRN标识符标识符:类型类型指出所要访问的其他模块定义的标识符。若标识符为指出所要访问的其他模块定义的标识符。若标识符为标号,类型为标号,类型为NEAR/FAR;若标识符为变量,则类型;若标识符为变量,则类型为为BYTE/WORD/DWORD(1)访问外部标识符的伪指令)访问外部标识符的伪指令EXTRN,PUBLIC(2)对准伪指令)对准伪指令EVEN格式:格式:EVEN功能:使下一条语句的地址调整为偶地址功能:使下一条语句的地址调整为偶地址(3)条件编译伪指令()条件编译伪指令(MASM提供)提供)格式格式:IF;如果条件成

22、立如果条件成立ELSE;否则否则ENDIF;结束条件汇编语句结束条件汇编语句data1SEGMENT;数据段数据段1,(可据需要设定可据需要设定,也可无也可无);变量定义变量定义data1ENDSdata2SEGMENT;数据段数据段2(可据需要设定可据需要设定,也可无也可无)data2ENDScodeSEGMENT;程序段程序段ASSUMECS:code,DS:data1,ES:data2start:MOVAX,data1;程序主体部分程序主体部分MOVDS,AX、MOVAH,4CH;返回返回DOSINT21HcodeENDSENDstart完整汇编语言程序框架:完整汇编语言程序框架:DAT

23、ASEGMENTMESSAGEDBHelloworld!“,0DH,0AHDBThisismyfirstasmprogram.$DATAENDSSSEGSEGMENTSTACKDB100DUP(?)SSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DATA,SS:SSEGSTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETMESSAGEMOVAH,9INT21HMOVAH,4CHINT21HCSEGENDSENDSTART完整的段定义完整的段定义由操作数和运算符组成的序列由操作数和运算符组成的序列操作数可以是寄存器、常量(数值常量、符操作数可以是寄存器

24、、常量(数值常量、符号常量)、存储器操作数(标号、变量)号常量)、存储器操作数(标号、变量)运算符包括:算术运算符、逻辑运算符、关运算符包括:算术运算符、逻辑运算符、关系运算符、数值返回运算符和属性运算符系运算符、数值返回运算符和属性运算符四、表达式四、表达式l由常量、标号、变量和一些操作符构成。由常量、标号、变量和一些操作符构成。l汇汇编编程程序序对对表表达达式式进进行行运运算算后后,得得到到一一个个确确定定的的数数值值,再再把这个数值汇编到指令中。把这个数值汇编到指令中。l据表达式所表示的内容分:据表达式所表示的内容分:数字表达式、地址表达式数字表达式、地址表达式。l表达式是指令或伪操作的

25、操作数表达式是指令或伪操作的操作数;表达式中的操作符由汇编程序完成。表达式中的操作符由汇编程序完成。例例 MOVAX,12-4;MOVAX,8;数字表达式数字表达式LEABX,SI+4;地址表达式地址表达式表达式表达式(1 1)算术运算符)算术运算符+、-、*、/、MODMOD、SHLSHL、SHRSHR(2 2)逻辑运算符)逻辑运算符ANDAND、OROR、NOTNOT、XORXOR(3 3)关系运算符)关系运算符EQEQ、NENE、LTLT、GTGT、LELE、GEGEANDAX,(NLT5)AND30)OR(NGE5)AND20)当当N=5时,指令为时,指令为ANDAX,20运算符运算符

26、SEGSEG 变量变量/标号标号返回段基址返回段基址OFFSETOFFSET 变量变量/标号标号返回偏移量返回偏移量TYPETYPE 变量变量/标号标号返回类型返回类型变量返回类型:变量返回类型:1 1 字节、字节、2 2 字、字、4 4双字双字标号返回类型:标号返回类型:-1 NEAR-1 NEAR、-2 FAR-2 FARLENGTHLENGTH 变量变量返回数据项总数(针对返回数据项总数(针对DUPDUP表达式)表达式)SIZESIZE 变量变量返回字节总数返回字节总数(4)分析运算符(数值返回运算符)分析运算符(数值返回运算符)YY YY DW 6 DUP(?)DW 6 DUP(?)则

27、:则:LENGTH YY=6LENGTH YY=6SIZE YY=12SIZE YY=12TYPE YY=2TYPE YY=2 SEGSEG 取符号地址的段地址取符号地址的段地址OFFSETOFFSET 取符号地址的偏移地取符号地址的偏移地址址例例 MOV AX,SEG YY MOV AX,SEG YY MOV BX,OFFSET YY MOV BX,OFFSET YYDATASEGMENTXXDBHello!DATA ENDSEXTRASEGMENTYYDW6dup(?)EXTRAENDSCODESEGMENT ASSUMECS:CODE,DS:DATA,ES:EXTRASTART:CLDM

28、OVAX,SEGYYMOVES,AXMOVDI,OFFSETYYMOVCX,6.CODE ENDSENDSTART注意注意:SEGSEG、OFFSETOFFSET只能对变量或标号(符号地址)操作只能对变量或标号(符号地址)操作MOV AX,MOV AX,SEG SEG BX BXMOV BX,MOV BX,OFFSET OFFSET SI SI(5 5)合成运算符(属性运算符)合成运算符(属性运算符)(1 1)段操作符)段操作符 格式:格式:段前缀:变量或地址表达式段前缀:变量或地址表达式用来表示某个变量或地址被修改到哪个段寄用来表示某个变量或地址被修改到哪个段寄存器提供的段基址中存器提供的段

29、基址中MOV AXMOV AX,ESES:SISI(2 2)PTRPTR定义符号名为新类型定义符号名为新类型格式:类型格式:类型 PTRPTR 表达式表达式MOV WORD PTR 1000,0MOV WORD PTR 1000,0MOV WORD PTR 1000,0MOV WORD PTR 1000,0可以重新定义已定义过的变量或是标号可以重新定义已定义过的变量或是标号若已若已 定义定义DATA3DATA3为字变量,可以有为字变量,可以有MOV BYTE PTR DATA3,ALMOV BYTE PTR DATA3,AL(3 3)THISTHIS 与与PTRPTR类似,为某个符号名建立新类

30、型,常与类似,为某个符号名建立新类型,常与EQUEQU联用联用格式:格式:THISTHIS 类型类型XYZ EQU THIS BYTEXYZ EQU THIS BYTE相当于相当于BYTE PTR XYZBYTE PTR XYZLABC EQU THIS BYTE LABC EQU THIS BYTE LABD DW 4321H,2255HLABD DW 4321H,2255HMOV AL,LABCMOV AL,LABC;AL=21H;AL=21HMOV AX,LABDMOV AX,LABD;AX=4321H;AX=4321H(4 4)SHORTSHORT 格式:格式:SHORTSHORT 标

31、号标号功能:用来指出转移类指令中目的地址的属性功能:用来指出转移类指令中目的地址的属性(5 5)HIGHHIGH、LOWLOW格式:格式:HIGHHIGH 标号或变量标号或变量 LOWLOW 标号或变量标号或变量功能:对一个数或地址,功能:对一个数或地址,HIGHHIGH从中分离出高位字从中分离出高位字节,节,LOWLOW从中分离出低位字节从中分离出低位字节指令语句又叫可执行语句,每一条指令语句对指令语句又叫可执行语句,每一条指令语句对应应CPU的一种特定操作,在汇编时将产生一个的一种特定操作,在汇编时将产生一个可供机器执行的机器目标代码可供机器执行的机器目标代码指令语句中必须包含一个指令助记

32、符和充分的指令语句中必须包含一个指令助记符和充分的寻址信息寻址信息五、指令语句五、指令语句dataSEGMENT;数据段数据段varDB?dataENDScodeSEGMENT;代码段代码段ASSUMECS:code,DS:datastart:MOVAX,dataMOVDS,AXMOVvar,CLMOVAH,4CHINT21H;返回返回DOScodeENDSENDstart例:例:指令语句结构指令语句结构宏指令是源程序中具有独立功能的一段程宏指令是源程序中具有独立功能的一段程序代码序代码只需定义一次,可重复调用只需定义一次,可重复调用六、宏指令语句六、宏指令语句宏指令定义语句宏指令定义语句宏指

33、令名宏指令名MACRO宏体宏体ENDMPUSHREGMACROPUSHAXPUSHBXPUSHCXPUSHDXENDM(1)宏定义)宏定义宏指令名宏指令名MACRO参数参数1,参数参数2,参数参数n宏体宏体ENDMLOADW MACRO PR,VAR MOV PR,VAR MOV AX,PR ENDMLOADW SI,WVAR*MOVSI,WVARMOV AX,SI带参数的宏指令带参数的宏指令宏指令名宏指令名参数列表参数列表(2)宏调用)宏调用LOADW MACRO PR,VAR MOV PR,VAR MOV AX,PR ENDMLOADW SI,WVAR*MOVSI,WVARMOV AX,S

34、I(3)宏展开)宏展开宏展开是用宏定义时设计的宏体去代替相应的宏展开是用宏定义时设计的宏体去代替相应的宏指令名,并且用实际参数一一取代形式参数宏指令名,并且用实际参数一一取代形式参数宏展开由汇编软件宏展开由汇编软件MASM进行进行(4)宏嵌套)宏嵌套宏嵌套是指宏定义中使用宏调用或宏定义中包宏嵌套是指宏定义中使用宏调用或宏定义中包括宏定义括宏定义使用宏时,可能会导致变量、标号重定义的问题,使用宏时,可能会导致变量、标号重定义的问题,使用使用LOCALLOCAL伪指令可以解决这一问题。在宏展开时伪指令可以解决这一问题。在宏展开时将用将用?0000?0000,?0001?0001,来依次代替各标号,

35、来依次代替各标号格式:格式:LOCAL LOCAL 变量变量/标号列表标号列表SOMEMACRO SOMEMACRO MACROMACROLOCAL L1,L2LOCAL L1,L2L1:L1:.L2:L2:.ENDMENDM(5)宏定义中的标号)宏定义中的标号宏指令调用比子程序调用快宏指令调用比子程序调用快子程序调用由微处理器完成,用子程序调用由微处理器完成,用CALLCALL实现实现宏指令调用在汇编过程中由汇编程序完成宏指令调用在汇编过程中由汇编程序完成子程序调用可以减小目标程序的大小,节子程序调用可以减小目标程序的大小,节约内存空间;宏指令调用不能约内存空间;宏指令调用不能宏指令比子程序灵活宏指令比子程序灵活宏指令与子程序的区别宏指令与子程序的区别

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁