汇编语言讲义第四章 汇编语言程序格式3.ppt

汇编语言讲义第四章 汇编语言程序格式3.ppt

  1. 1、本文档共71页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言讲义第四章 汇编语言程序格式3

4.3.1 段定义伪操作 4.3.2 DOS的程序结构 4.3.3 存储模型与简化段定义伪操作 由于80x86的所有处理器都支持8086/8088指令系统,但每一种高档机型又都增加了一些新的指令,因此在编写程序时都要对所用处理器有一个确定的选择。 本组伪操作的就是告诉汇编程序应该选择哪一种指令系统。 本组伪操作的位置: 一般放在整个程序的最前面,如不给出处理器选择,则默认为.8086。 也可放在程序中,如程序中用了一条80486所增加的指令,则可在该指令的上一行加上.486。 主要有以下几种: .8086 选择8086指令系统 .286 选择80286指令系统 .286 P 选择保护方式下的80286指令系统 .386 选择80386指令系统 .386 P 选择保护方式下的80386指令系统 .486 选择80486指令系统 .486 P 选择保护方式下的80486指令系统 .586 选择Pentium指令系统 .586 P 选择保护方式下的Pentium指令系统 4.3.2 DOS的程序结构 EXE程序 COM程序 1. EXE程序 利用程序开发工具,通常将生成EXE结构的可执行程序(扩展名为.EXE的文件)。 它可以有独立的代码、数据和堆栈段,还可以有多个代码段或多个数据段,程序长度可以超过64KB,执行起始处可以任意指定。 当DOS装入或执行一个程序时,DOS确定当时主存最低的可用地址作为该程序的装入起始点。此点以下的区域称为程序段。在程序段内偏移0处,DOS为该程序建立一个程序段前缀控制块PSP(Program Segment Prefix),它占256(=100h)个字节;而在偏移100h处才装入程序本身。 2. COM程序 COM程序是一种将代码、数据和堆栈段合一的结构紧凑的程序,所有代码、数据都在一个逻辑段内,不超过64KB,因而只能用来编制较小的程序。 在程序开发时,需要满足一定要求并采用相应参数才能正确生成COM结构的程序。 COM文件存储在磁盘上是主存的完全影象,不包含重新定位的加载信息,与EXE文件相比其加载速度更快,占用的磁盘空间也少。 尽管DOS也为COM程序建立程序段前缀PSP,但由于两种文件结构不同,所以加载到主存后各段设置并不完全一样。 COM程序 COM文件也是一种可执行文件,由程序本身的二进制代码组成,它没有EXE文件所具有的包括有关文件信息的标题区(header),所以它占有的存储空间比EXE文件要小。 由于其小而简单,装入速度比EXE文件要快。 COM文件不分段,其入口点必须是100H(其前的256个字节为程序段前缀所在地),且不必设置堆栈段。 在程序装入时,由系统自动把SP建立在该段之末。 对于所有的过程则应定义为NEAR。 下面给出COM文件的源程序格式。 ;PROGRAM TITLE GOES HERE- ;Followed by descriptive phrases ;EQU statements go here ;**************************************************** Prognam segment org 100h assume cs:prognam , ds:prognam , es:prognam , ss:prognam ; Main proc near ;PROGRAM GOES HERE mov ax , 4c00h ;return to DOS int 21h ;( or int 20h ) ; ;DATA goes here Prognam ends ;*************************************************** end main ;PROGRAM TITLE GOES HERE- .model tiny .code org 100h Start: jmp begin Main proc near ;DATA GOES HERE begin: ;PROGRAM GOES HERE mov ax , 4c00h int 21h end start COM文件的生成 用户在建立源程序后,同样经过汇编、连接形成EXE文件,然后可以通过EXE2BIN程序来建立COM文件,操作方法如下: Cexe2bin filename 第一个filename给出已形成的EXE文件的文件名,但不必给出扩展名。 第二个filename即为所要求的COM文件的文件名,必须带有扩展名,这样就形成了COM文件。 在DOS系统下,可直接在机器上用文件名执行。 如果第二个filename后没有带扩展名,则生

文档评论(0)

561190791 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档