新汇编语言程序设计 教学课件 董少明 第7章 系统功能调用与程序设计.pptVIP

新汇编语言程序设计 教学课件 董少明 第7章 系统功能调用与程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言程序设计 第7章 系统功能调用与程序设计 第7章 系统功能调用与程序设计 5.系统功能(SYSTEM FUNCTION) (1)功能30H:获取DOS版本号。 功能:获取当前正在运行的DOS操作系统的版本号。 入口参数:AH=30H。 出口参数:AL=主要版本号; AH=次版本号(MS-DOS 3.1=0AH,...); BH=OEM的序列号 BL:CX=24位用户序列号。 说明:AL中返回当前DOS操作系统的主版本号,如DOS 3.30系统,主版本号为3;DOS 6.22系统,主版本号为6。若当前系统为DOS 1.0系统,则AL中返回0值。 (2)功能4CH:带返回码结束。 功能:程序运行结束退出,返回到DOS操作系统或父进程,并传回一返回码。 入口参数:AH=4CH AL=返回码。 出口参数:无 说明: 1)本功能是结束程序的较好的方式。它是不依赖任何段寄存器的内容并特别适合大的EXE文件结束退出的唯一方法。 2)依靠返回码,子进程可以在结束时向父进程或操作系统返回信息。 7.3 BIOS、DOS调用程序设计 7.3.1 相关知识 1.DOS可执行程序结构 可执行程序主要包括EXE和COM两种结构形式。 (1)EXE程序结构。 EXE结构的程序可以包含多个代码段和多个数据段,程序长度可以超过64KB大小,是可执行程序的主流形式。每个EXE文件的开始都包含1个512B或其整数倍的文件头部,其中包含需修正的重定位项的位置以及IP、SP等寄存器的初值,所以EXE文件不可能小于512B。 EXE程序被加载初始化时各寄存器的值如下: CS=代码段的段地址 DS=ES=程序段前缀(PSP)所在段的段地址 SS=堆栈段的段地址 SP=堆栈段长度 IP=程序入口地址(由END指令决定)。 采用汇编语言编写EXE结构的程序时就是按照标准结构分别设置各个段形成的。 (2)COM程序结构 COM结构的程序长度可以很短,整个程序的全部长度不能超过64KB的范围。在程序中只能定义1个段,即代码段。程序中使用的数据存放区域和堆栈区域需要与代码段共享。 COM程序初始时各寄存器的初值: CS=DS=SS=ES=程序段前缀(PSP)所在段的段地址 IP=100H SP=FFFEH 建立COM程序的特殊要求: 1)程序必须从CS:100H处开始执行,CS:100H以前的内容用户程序不可修改,由操作系统保留使用,但用户程序可读此部分内容。 2)程序最大长度不能超过65536-256-2字节。 3)程序中不能出现需重定位的段(即程序中不能出现段名)。 4)程序除可用INT 21H 的4CH号功能结束外,还可以用INT 20H结束。 汇编COM结构的源程序时,需要先生成EXE文件形式,然后用EXE2BIN.EXE程序将EXE程序转换成COM程序。 (3)BIN程序结构 BIN结构的程序主要用于作为DOS操作系统下的设备驱动程序,其书写要求,除程序入口地址在CS:0或CS:100H均可外,其余与COM相同。 (2)01H号功能 功能:设置时钟计数值 入口参数:AH=01H CX:DX=时钟计数值 出口参数:无 说明:时间计数器是每55MS自动加1计数。 (3)04H号功能 功能:读取日期 入口参数:AH=04H 出口参数:CH=BCD码格式的世纪 CL=BCD码格式的年 DH=BCD码格式的月 DL=BCD码格式的日 CF=0表示正确获取时钟 CF=1表示无法获取时钟。 说明: 1)本功能是从CMOS RAM中读取实时时钟的日期值。 2)本功能执行时首先检查RTC(实时时钟控制器)是否正在更新时钟,若是则置位CF,本功能放弃执行;否则,取时钟的日期信息转换为BCD格式送出口参数指定的各寄存器,将CF清零,操作成功。 (4)05H号功能 功能:设置日期 入口参数:AH=05H; CH=BCD码格式的世纪 CL=BCD码格式的年 DH=BCD码格式的月 DL=BCD码格式的日 出口参数

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档