- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 子程序结构 * * ? 过程定义伪操作 ? 子程序的调用与返回 ? 保存与恢复寄存器 ? 子程序的参数传送 ? 子程序的嵌套与递归 1. 过程定义伪操作 过程名 PROC NEAR ( FAR ) 过程名 ENDP (1)NEAR属性:调用程序和子程序在同一代码段中 (段内调用) (2)FAR属性:调用程序和子程序不在同一代码段中 (段间调用) . . . code segment main proc far …… call subr1 …… ret main endp subr1 proc near …… ret subr1 endp code ends segx segment subt proc far …… ret subt endp …… call subt …… segx ends segy segment …… call far ptr subt …… segy ends 子程序调用:隐含使用堆栈保存返回地址 call near ptr subp (1) 保存返回地址 (2) 转子程序 call far ptr subp (1) 保存返回地址 (2) 转子程序 子程序返回:ret 2. 子程序的调用与返回 (SP)→ (IP) (IP) (CS) (SP)→ 3. 保存与恢复寄存器 subt proc far push ax push bx push cx push dx …… …… pop dx pop cx pop bx pop ax ret subt endp (1) 通过寄存器传送参数 (2) 通过存储器传送参数 (3) 通过地址表传送参数地址 (4) 通过堆栈传送参数或参数地址 (5) 多个模块之间的参数传送 4. 子程序的参数传送 例如:写一个程序要求从键盘取得一个十进制数,然后以十六进制形式在屏幕上显示出来。 我们采用子程序结构,用一个子程序DECIBIN实现从键盘取得十进制数并把它转换为二进制数;另一个子程序BINIHEX把此二进制数以十六进制数的形式在屏幕上显示出来。为避免屏幕上的重叠,另外用CRLF子程序取得回车和换行效果。整个程序结构如右图。该程序的实现 开始 结束 调用DECBIN 调用CRLF 调用BINIHEX 调用CRLF 从键盘取得十 进制数,保存 到BX中 显示回车换行 用16进制数 显示BX中的数 00 decihex segment 01 assume cs:decihex 1 main proc far 2 repeat: 3 call decibin : 4 call crlf 5 call binihex 6 call crlf 7 jmp repeat 8 main endp 0 decibin proc near ;输入的十进数变成二进制 1 mov bx,0 ; 置0 2 newchar: ;循环入口,输入新字符开始 3 mov ah,1 ;输入一个新位数放AL中 4 int 21h ;中断调用21H P471 5 sub al,30h ;数字为ASCII表示,还原成原数减30 6 jl exit ;减30后小于0表示不是数字,结束 7 cmp al,9d ;减30后再与9数比, 8 jg exit
您可能关注的文档
最近下载
- 宜刚烘炉方案-宁德漳湾..doc VIP
- 2024年时政热点-2025年高考政治复习.pdf VIP
- 医疗器械经营质量管理规范试题.doc VIP
- 人教版五年级语文古诗背诵大全.docx VIP
- 2025年医用红外热像仪项目评估报告.docx
- 10.1正确行使诉讼权利课件-(共36张PPT+1个内嵌视频)2024-2025学年统编版高中政治选择性必修二.pptx
- 2025年山东外事职业大学单招英语考试题库及答案解析.docx
- DeepSeek从入门到精通.pdf VIP
- AVEVA Everything3D结构建模教程E3D.pdf
- 2020年度组织生活会个人对照检查材料(5篇范文).docx VIP
文档评论(0)