第6章子程序结构
程序设计中经常会遇...1第六章子程序结构过程定义伪操作子程序的调用与返回子程序的参数传送子程序的嵌套与递归一、过程定义、过程调用过程名PROC类型RET过程名ENDP1.定义2.调用CALL过程名3过程定义伪操作45子程序...在程序设计中。在汇编语言中子程序又称过程。
第6章子程序结构Tag内容描述:<p>1、第11章子程序结构程序设计11 1概述11 2子程序的结构形式11 3子程序设计方法 11 4子程序设计举例11 5DOS系统功能调用 11 1概述采用子程序结构的优点 1 简化了程序设计过程 使程序设计时间大量节省 2 缩短了程序的长度 节省了程序的存储空间 3 增加了程序的可读性 使程序更加清晰 便于对程序的修改与调试 4 方便了程序的模块化 结构化和自顶向下的程序设计过程 11 2子程序的结。</p><p>2、1 第六章子程序结构 为了程序共享或模块化设计的需要 可以把一段公共语句序列设计成子程序或宏指令的形式 本章介绍子程序的设计方法 2 6 1子程序结构及设计方法 一 子程序结构在汇编语言中用过程定义伪指令定义子程。</p><p>3、第6章子程序结构 6 1子程序的概念6 2子程序结构定义与调用6 3子程序的参数传送6 4子程序的嵌套与递归 6 1子程序的概念 6 1 1子程序概念把可以多次调用 能够完成特定操作功能的程序段 指令集编写成独立的程序模块 该程序模块称为子程序 又称为过程 调用这些子程序的程序称为主程序 在主程序中 如果调用到子程序 就需要把控制转移到子程序 这个过程称为转子 子程序执行完了 要把控制再返回到主程。</p><p>4、第6章 子程序,6.1 堆栈 6.2 子程序的基本格式和有关指令 6.3 应用子程序进行编程 6.4 整数输入与输出 6.5 子程序共享的方法 *6.6 递归 本章要点 习题六,子程序是程序设计的重要方法与技术之一。程序设计中经常会遇到重复出现的程序段,如果把这种程序段每次出现时都抄写一遍,一方面会使程序冗长,不易于阅读,另一方面则会给程序的调试和维护带来很多不便。通常,对于有规律重复的程序段可以。</p><p>5、1,第六章 子程序结构, 过程定义伪操作 子程序的调用与返回 子程序的参数传送 子程序的嵌套与递归,一、 过程定义、过程调用,过程名 PROC 类型 RET 过程名 ENDP,1. 定义,2. 调 用,CALL 过程名,3,过程定义伪操作,4,5,子程序调用:隐含使用堆栈保存返回地址 call near ptr subp (1) 保存返回地址 (2) 转子程序 call fa。</p><p>6、在程序设计中,可以发现一些多次无规律重复的程序段或语句序列。解决此类问题一个行之有效的方法就是将它们设计成可供反复调用的独立的子程序结构,以便在需要时调用。在汇编语言中,子程序又称过程。 调用子程序的程序称为主调程序或主程序。,第6章 子程序结构,子程序的基本结构包括以下几个部分: (1)子程序定义 (2)保护现场和恢复现场 (3)子程序体 (4)子程序返回,子程序的结构,子程序的定义是由过程定义伪指令PROC和ENDP来完成的。其格式如下: 过程名 PROC NEAR/FAR 过程名 ENDP 其中PROC表示过程定义开始,ENDP表示过程定义结。</p><p>7、第6章 子程序结构,过程定义伪操作 子程序的调用与返回 保存与恢复寄存器 子程序的参数传送 子程序的嵌套与递归,1. 过程定义伪操作,过程名 PROC NEAR ( FAR ) . . . 过程名 ENDP (1)NEAR属性:调用程序和子程序在同一代码段中 (段内调用) (2)FAR属性:调用程序和子程序不在同一代码段中 (段间调用),子程序调用:隐含使用堆栈保存返回地址 call near ptr subp (1) 保存返回地址 (2) 转子程序 call far ptr subp (1) 保存返回地址 (2) 转子程序 子程序返回:ret,2. 子程序的调用与返回,3. 保存与恢复寄存器,subt proc far push ax pu。</p><p>8、FORTRAN90程序设计,计算机中心 2006.3,Visual Fortran 90 程序设计,6.1概述,6.5 子程序的嵌套调用,6.2 函数子程序,6.6 模块,6.3 子例子程序,6.7 递归过程,6.4 虚实结合,6.8 其他部分,6.9 程序举例,6.1 概述,主程序的结构:,单位定义 说明部分 输入 计算或处理 输出 END,引入子程序的目的:模块化设计,所有功能都在主程序单位内完成,1、一个Fortran90程序主程序单元个数:1个 2、子程序单元:0-n个 子程序单元被主程序单元或被其它子程序单元调用,甚至可以递归调用(调用本身),源程序的结构,最简单的源程序的结构,子程序分类,1、函数子程。</p><p>9、6.1 子程序的调用与返回指令,6.1.1 子程序的调用指令CALL 6.1.2 返回指令RET,下一节,6.1.1 子程序的调用指令CALL,指令格式: CALL OPD 注:过程名或子程序名就是子程序入口处的符号地址。执行CALL指令时,首先要保留断点地址于堆栈中,然后程序转移到指定的子程序入口地址处去执行子程序。 由于子程序与调用它的程序可能在同一个段中,也可以不在同一个段中, CALL指令在转移到子程序入口地址时有两种寻址方式:直接寻址方式和间接寻址方式或者称为直接调用和间接调用。 前面提到,指令指针寄存器IP总是指向下一条将要执行的指令。在执行。</p><p>10、第六章程序结构 第一节变量的存储类型 C C 语言中的变量都有两个属性 数据类型和存储类别 数据类型在第2章已经详细讨论过 本节将讨论变量的存储类别 C C 语言中定义了4个关键字作为变量的存储类别的修饰词 分别为 au。</p><p>11、、程序的三个茄子基本结构,1 .顺序结构,首先执行a,然后执行b。2 .选择表示为的结构。存在条件p。如果p为真,则运行a;否则,运行b。还可以从选择结构派生另一个基本结构多分支结构。3 .循环结构表示(1)类型结构成立P条件时(T),直到A牙齿为“假”时才停止循环。重复两个茄子结构:糖型和终点型,(2)终点型,A,P,F,A,A,P直到T。选择结构(即条件判断)是指根据给定条件选择执行特定。</p>