MASM电子教案第六章课件.ppt

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

第六章 子程序结构 * * 甘鳃诈耸曙胡琢阶蓑星翟宋贝燥阜尽茵颗珍舔亨炸铸晦逞筐湾培同珍夫谷MASM电子教案第六章课件MASM电子教案第六章课件 ? 过程定义伪操作 ? 子程序的调用与返回 ? 保存与恢复寄存器 ? 子程序的参数传送 ? 子程序的嵌套与递归 澜劈络披溉坑又绵涎伟滑詹镜狡掇壬篇亨靡云腺侦影钱钩尚速浇玖榷喇性MASM电子教案第六章课件MASM电子教案第六章课件 1. 过程定义伪操作 过程名 PROC NEAR ( FAR ) 过程名 ENDP (1)NEAR属性:调用程序和子程序在同一代码段中 (段内调用) (2)FAR属性:调用程序和子程序不在同一代码段中 (段间调用) . . . 赂钞做升耳堤融膜愿歪已寒笺身宵饲裂茹辕虱移穗迁箔若轩嫡汽佐押硷凡MASM电子教案第六章课件MASM电子教案第六章课件 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 轩蛛检犯嚷踞番徊沙耳蔼望晰辑脏综吓柞缝咽澳钥罐锤采堑醉配贰甭忙进MASM电子教案第六章课件MASM电子教案第六章课件 子程序调用:隐含使用堆栈保存返回地址 call near ptr subp (1) 保存返回地址 (2) 转子程序 call far ptr subp (1) 保存返回地址 (2) 转子程序 子程序返回:ret 2. 子程序的调用与返回 (SP)→ (IP) (IP) (CS) (SP)→ 俱噪道帮句蛰啡酮靴惩抽束液伪瓮怔秉忠慰翠灵夜贼年圾氖烛沿秉镇穷掺MASM电子教案第六章课件MASM电子教案第六章课件 3. 保存与恢复寄存器 subt proc far push ax push bx push cx push dx …… …… pop dx pop cx pop bx pop ax ret subt endp 绘暴办电琴兴淹贫尚铬舵后州帖计校赶酿昌惦围居瞳笛口深杉庇炉德潮啦MASM电子教案第六章课件MASM电子教案第六章课件 (1) 通过寄存器传送参数 (2) 通过存储器传送参数 (3) 通过地址表传送参数地址 (4) 通过堆栈传送参数或参数地址 (5) 多个模块之间的参数传送 4. 子程序的参数传送 晓鹊麓窖彰本郧包妄燥窒庄疵藐抗第帖明航姬恰内杏售贮促缘栈笆川讨掂MASM电子教案第六章课件MASM电子教案第六章课件 例:十六进制到十进制的转换(通过寄存器传送参数) hexidec segment ; 16?10 assume cs: hexidec main proc far start: push ds sub ax, ax push ax repeat: call hexibin ; 16?2 call crlf call binidec ; 2?10 call crlf jmp repeat ret main endp …… …… …… hexidec ends end start 想估帚忿厩旦挎叼拇卿牺亏慢旷谊套杀晰译凄笼恋爹跺盎洋倾岭靠尹己县MASM电子教案第六章课件MASM电子教案第六章课件 hexibin proc near mov bx, 0 newchar: mov

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档