- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6节4 子程序设计
* * 子程序的定义 一般过程名同标号一样,具有三种属性,即段属性、偏移地址属性以及类型属性。 子程序的定义是由过程定义伪指令PROC和ENDP来完成的。其格式如下: 过程名 PROC [NEAR/FAR] ┆ 过程名 ENDP 其中PROC表示过程定义开始,ENDP表示过程定义结束。过程名是过程入口地址的符号表示。 4.6.4 子程序 1.子程序的调用与返回 通常将功能相对独立并且在一个或多个程序的不同位置被多次运行的程序段设计为一个子程序。 把延时1S的程序设计为子程序. PROC DELAY1S FAR MOV BX , 1000 LP1: PUSHF POPF LOOP LP1 MOV CX , 374 LP2: DEC BX JNZ LP2 RET PUSH BX PUSH CX PUSHF POP CX POP BX POPF PROC ENDP 子程序调用指令: CALL 子程序返回指令: RET MAIN PROC FAR CALL SUBR1 RET MAIN ENDP … … SUBR1 PROC NEAR RET SUBR1 ENDP … 例4.13 子程序的定义、调用和返回 2.子程序设计应注意的问题 (2) 信息保护 (1) 参数传递 3.子程序举例 (3) 子程序的说明 主程序和子程序之间的数据传递称为参数传递。 参数传递的方法: 寄存器传递,存储单元传递,地址表传递,堆栈传递。 为了保证由子程序返回主程序后程序执行的正确性,需要将子程序中用到的寄存器压入堆栈保护,子程序执行完后再恢复。 向用户提供文本说明。 例 如: 找出一个数据块中的最大数.其中,数据块的长度1,并且放在内存(2001H)单元中,而数据块本身是从(2002H)单元开始存放的,最后,把找出的最大值放到(2000H)单元中.假定数据都是无符号的字节数据. 指针SI=2001H 循环计数器CX=[SI] 假设初始最大值0 AL 修改指针SI SI+1 [SI](AL) 是 [SI] AL SI SI+1 CX CX+1 CX=0? 否 是 AL [2000H] 否 MAX PROC NEAR MOV CL , [SI] INC SI MOV AL ,0 MOV CH ,0 LP : CLC CMP [SI] , AL JC AA MOV AL , [SI] AA: INC SI LOOP LP MOV [2000H] ,AL RET MAX ENDP *
您可能关注的文档
- 甲级单位编制甲流诊断试剂项目可行性报告(立项可研+贷款+用地+2013案例)设计方案.docx
- 甲级单位编制疼痛诊断治疗仪项目可行性报告(立项可研+贷款+用地+2013案例)设计方案.docx
- 甲级单位编制纳欣纳星项目可行性报告(立项可研+贷款+用地+2013案例)设计方案.docx
- 甲级单位编制稳压二极管芯片项目可行性报告(立项可研+贷款+用地+2013案例)设计方案.docx
- 甲级单位编制芯片载体项目可行性报告(立项可研+贷款+用地+2013案例)设计方案.docx
- 甲级单位编制诊断用生物制品项目可行性报告(立项可研+贷款+用地+2013案例)设计方案.docx
- 甲级单位编制针头冲洗磨擦机项目可行性报告(立项可研+贷款+用地+2013案例)设计方案.docx
- 甲级单位编制诊断试剂用品项目可行性报告(立项可研+贷款+用地+2013案例)设计方案.docx
- 甲级单位编制锌矿粉项目可行性报告(立项可研+贷款+用地+2013案例)设计方案.docx
- 电与磁 学生.doc
文档评论(0)