汇编语言程序格式.ppt

汇编语言程序格式.ppt

ID:39873970

大小:566.00 KB

页数:63页

时间:2019-07-13

汇编语言程序格式.ppt_第1页
汇编语言程序格式.ppt_第2页
汇编语言程序格式.ppt_第3页
汇编语言程序格式.ppt_第4页
汇编语言程序格式.ppt_第5页
资源描述:

《汇编语言程序格式.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章汇编语言程序格式4.1汇编语言程序功能1、汇编语言程序的建立及汇编过程用编辑程序建立ASM源程序用ASM程序把ASM文件转换为OBJ文件用LINK程序把OBJ文件转换为EXE文件用DOS命令直接键入文件名就可以执行该程序2、汇编程序的主要功能检查源程序策出源程序中的语法错误,并给出出错信息产生源程序的目标程序,并可给出列表文件(同时列出汇编语言和机器语言的文件,称为LST文件)展开宏命令4.2伪操作汇编语句由指令、伪指令、宏指令构成指令:每条指令语句都生成机器代码,各对应一种CPU操作,在程序运行时执行。伪指令:在汇编程序对源程序汇编期间由

2、汇编程序处理的操作,可以完成如数据定义、分配存储区、指示程序结束等功能,不生成目标代码。宏指令:用户按照宏定义格式编写的一段程序,可以包含指令、伪指令、甚至其他宏指令。伪指令与机器无关,取决于汇编程序的版本,版本越高,提供的伪指令数目增加,功能增强;如MASM6.0提供了.IF/.ENDIF等语句,使汇编语言程序设计类似高级语言的形式。4.2.2段定义伪操作存储器的物理地址是由段地址和偏移地址组合而成的,汇编程序在把源程序转换为目标程序时,必须确定标号和变量的偏移地址,并且需要把有关信息通过目标模块传送给连接程序,以便连接程序把不同的段和模块连接

3、在一起形成一个可执行程序。为此,需要用段定义伪操作。段定义伪操作格式为:段名SEGMENT[定位][组合][段字][‘类别’]………段名ENDS说明:段名由用户自己起,要符合汇编语句对名字的要求。SEGMENT定义一个段的开始,ENDS定义该段的结束。删节部分,对于数据段、附加段和堆栈段来说,一般是存储单元的定义、分配等伪操作;对于代码段则是指令及伪操作定位属性:指定逻辑段的起始地址BYTE:为下一个可用的字节地址(xxxxxxxxB)WORD:为下一个可用的偶数地址(xxxxxxx0B)DWORD:下一个可被4整除的地址(xxxxxx00B)P

4、ARA:下一个可被16整除的地址(xxxx0000B)PAGE:下一个可被256整除的地址(00000000B)默认的定位属性为PARA。简化段定义中,代码段和数据段默认的定位属性为WORD,堆栈段为PARA。组合属性:指定段与段之间的关系。通常在多模块设计时使用,单模块下,除堆栈段必须使用组合属性STACK外,其它段使用默认值即可。完整段定义时,默认的组合属性为PRIVATE,意思是各段相互独立,不与其它段合并,各段都有自己的段地址;简化段定义时,默认的组合属性为PUBLIC,意思是告诉连接程序把本段与所有同名的其它段相邻地连接在一起,并合并为

5、同一个段,共用一个段地址。段字属性(use16use32):MASM5.0以后版本增加。对8086使用默认值(16位段),对32位CPU默认采用32位段,当然,也可以设置成16位段。类别属性:‘类别名’。类别名相同的段相邻连接但各有各的段地址。通常使用‘code’,’date’和‘stack’等类别名,以保持所有代码和数据的连续。1.完整的段定义伪操作2.存储模式与简化段定义伪操作存储模式伪指令.model存储模式[,语言类型][,系统类型][,堆栈选项]使用简化段定义格式时,必须使用。必须位于所有段定义语句之前。7种不同的存储模式:tiny,

6、small.medium,compact,large,huge,flat简化段定义标准格式:.modelsmall.stack.data.code.startup.exit0end存储模式伪指令;子程序代码;程序代码;数据定义程序开始伪指令程序结束伪指令汇编结束伪指令.stack[大小]:创建堆栈段,段名:STACK.STACK512;创建512字节的堆栈段。.STACK;创建1024字节(默认)的堆栈段。.DATA;创建数据段,段名:_DATA.DATA?;数据段,无初值变量专用(_BSS).CONST;只读的常量数据段(CONST).CODE

7、[段名];创建代码段,在SMALL模式下,默认的段名为:_TEXT没有段定义结束语句,下一个段的开始,就是本段的结束。3、段组定义伪指令组名GROUP段名[,段名]………将多个同类但不同名的段合并为一个不超过64KB的物理段,并使用组名统一访问它。可理解为组合属性PUBLIC的补充。4.2.3程序开始和结束伪操作程序的开始可用NAME或TITLE为模块取名字。格式为:NAMEmodule-nameTITLEtext程序的结束可以用END来表示。格式为:END[label]4.2.4数据定义及存储器分配伪操作格式:[变量名]助记符操作数[;注释]功

8、能:为变量分配单元,并为其初始化或者只预留空间。说明:变量名是可有可无的,需要时由用户自己起。变量名用符号地址表示,作用与语句前的标号相

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。