网站大量收购闲置独家精品文档,联系QQ:2885784924

汇编语言程序设计-第六章_子程序设计.ppt

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

河南师范大学计算机与信息技术学院 第六章 子程序设计 本章内容提要 6.1 子程序设计 子程序 模块化程序设计 6.1.1 过程定义伪操作 6.1.1 过程定义伪操作 6.1.2 子程序的调用和返回 6.1.3 保存与恢复寄存器 6.1.3 保存与恢复寄存器 6.1.4 子程序的参数传递 1. 通过寄存器传递参数 2. 通过变量传递参数 3. 通过地址表传递参数 4. 通过堆栈传递参数 5. 多个模块间的参数传送问题 (1)源程序文件的包含 (2)目标代码文件的连接 声明共用的变量、过程 实现正确的段组合 处理好参数传递问题 (3)子程序库的调入 6.1.5 增强功能的过程定义伪操作 属性字段的组成 USE字段和属性字段 参数排列顺序 局部变量 LOCAL语句 6.2 子程序的嵌套 1. 子程序的嵌套 2. 子程序的递归 3. 子程序的重入 6.3 子程序举例 练习与作业 例6.1 a 例6.1 b 例6.2 回车换行 例6.3-1 例6.3-2 例6.3-3 例6.3-4 例6.3-5 例6.3-6 图6.1 十进制到十六进制转换的程序结构 例6.4a 用变量传递参数-1 例6.4a 用变量传递参数-2 例6.4a 用变量传递参数-3 例6.4a 用寄存器传递参数-1 例6.4a 用寄存器传递参数-2 例6.4a 用堆栈传递参数-1 例6.4a 用堆栈传递参数-2 例6.4a 用堆栈传递参数-3 堆栈区及参数 例6.4b-1 例6.4b-2 例6.4b-3 例6.4b-4 例6.4b-5 例6.4c-1 例6.4c-2 例6.4c-3 例6.4c-4 图6.2 堆栈最满时的状态 宏库文件lta.mac 主程序文件lta.asm-1 主程序文件lta.asm-1 子程序源文件suba.asm Input.asm-1 Input.asm-2 Input.asm-3 Input.asm-4 Input.asm-5 Input.asm-6 Input.asm-7 convert.asm-1 convert.asm-2 convert.asm-3 例6.5-1 例6.5-2 例6.5-3 例6.5-4 例6.4_n-1 例6.4_n-2 例6.4_n-3 例6.4_n-4 例6.6-1 例6.6-2 例6.6-3 例6.6-4 例6.7-1 例6.7-2 例ltc.asm 例subc1.asm 例subc2.asm 例subc3.asm 图6.3 几种高级语言过程调用时的堆栈情况 例6.4 增强过程定义伪操作举例 例6.4 增强过程定义伪操作举例 例6.4 增强过程定义伪操作举例 例6.8-1 例6.8-2 例6.8-3 数‘2345’的计算步骤 图6.4 堆栈最满时的状态 例6.8的列表文件-1 例6.8的列表文件-2 例6.8的列表文件-3 嵌套子程序-1 嵌套子程序-2 嵌套子程序-2 递归求阶乘-1 递归求阶乘-2 递归求阶乘-2 递归子程序 .model small .code public sorting sorting proc ... sorting endp end .model small .code public input input proc ... input endp end (1)C near调用 (2)C far调用 (3)FORTRAN、BASIC和PASCAL 调用 .model small .data ary dw 100 dup(?) count dw 100 sum dw ? .stack 200h ;*************************************************** .code code1 .startup … mov bx , offset ary push bx mov bx , offset count push bx mov bx , offset sum push bx call proadd … .exit 0 ;*************************************************** .code code2 proadd proc pascal uses ax cx si di, para:word , parc:word, pars:word mov si , para mov di , parc mov cx , [di] mov di , pars xor ax , ax next: add ax , [si] add si , 2 loop next

文档评论(0)

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

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

1亿VIP精品文档

相关文档