第九章 子程序设计和系统调 用.ppt

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

第九章 子程序结构与设计;第一节 常用DOS功能调用;二、常用的输入/输出系统功能调用;2.显示输出(2号调用) 格式:MOV DL,待显示字符的ASCII码 MOV AH,2 INT 21H 功能:将DL中的字符送显示器显示.;将DL中存放的数显示,DL为0-15 ADD DL,30H ;DL加30H,转换为ASCII码 CMP DL,3AH ;数字大于9吗? JL DISP ;不,则在0到9之间 ADD DL,7H ;大于9,为A到F,则加上7 DISP: MOV AH,2 ;显示十六进制数 INT 21H ;3.显示字符串(9号调用) 格式:LEA DX,待显示字符串首偏移地址 功能:将当前数据区DS:DX所指向的以‘$’结尾的字符串送显示器显示;DATA SEGMENT BUF DB 0AH,0DH,’I wish you success! $’ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV AH,4CH MOV DS,AX INT 21H LEA DX,BUF CODE ENDS MOV AH,9 END START INT 21H;4.键盘输入字符串(10号调用) 格式:LEA DX,缓冲区首偏移地址 MOV AH,10 INT 21H 功能:从键盘上往DS:DX所指的输入缓冲区输入字符串并送显示器输入.;说明:缓冲区的第一字节保存最大字符数(由用户程序给出);第二个字节是实际输入的字符的个数,这个数据由功能0AH填入(不是由用户填入),在这两个字节之后,字符串就按字节存入缓冲区,最后结束字符串的回车符ODH还要占用一个字节,因此整个缓冲区的字节空间应为最大字符数(包括回车符)加2.;例:在数据区定义的字符缓冲区如下: MAXLEN DB 32 ACTLEN DB ? STRING DB 32 DUP(?) 输入字符串的指令如下: LEA DX,MAXLEN ;指向缓冲区首址 MOV AX,0AH INT 21H;如果输入字符串: You are welcome!↙ 此时缓冲区的存储如下:;第二节 子程序的基本格式和有关指令;过程类型属性的定义: 1)调用程序和过程在同一个代码段中则使用 NEAR属性。 2)调用程序和过程不在同一个代码段中则使用 FAR属性。;2.子程序的调用和返回 (1)调用--CALL(近调用和远调用) 格式: [标号:] CALL 子程序名 功能: P134 (2)返回--RET(近返回和远返回) 格式: [标号:] RET [返回值] 功能: P134 ;例1. 调用程序和子程序在同一代码段中;;例2. 调用程序和子程序不在同一代码段中.;注: (1)主程序看成DOS的一个子过程,故用FAR属性 (2)子程序的调用和返回已包括了返回地址的出、入栈,故在子程序中必须正确使用堆栈,否则将造成运行错误。;3.保护和恢复寄存器;哪些寄存器该保存? 该保存:一般子程序中用到的寄存器应保存。 不该保存:如果使用的寄存器是用来在主程序与子程序之间传送参数或回送结果,则不该保存.;如何保护与恢复现场? 1、在调用程序中保护现场和恢复现场; ; 2、在子程序中保护现场与恢复现场;常用; 3、保护与恢复现场的简便的方法;;第三节 子程序参数传递方式;2.约定存储单元法 在内存中使用一个存储区来保存和传递主﹑子程序间的参数。主程序在调用前将所有输入参数按约定的次序存入该存储区,进入子程序后按约定从存储区中取出输入参数进行处理,输出参数也按约定的次序存入指定存储区。;3.通过堆栈传递参数或参数地址 此方法是参数不占用寄存器,也无需另开辟存储单元,而是存放在公用的堆栈区,处理完后堆栈恢复原状。但存取参数时必须小心计算它在栈中的位置。;第四节 程序的递归和嵌套;二、子程序递归(了解);SUB1 PROC …. CALL SUB1 …. RET SUB1 ENDP;SUB1 PROC …. CALL SUB2 …. SUB1 ENDP …. SUB2 PROC ….. CALL SUB1

文档评论(0)

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

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档