过程相关的指令

作者在 2009-11-11 11:49:46 发布以下内容

1.  PROC伪指令

   可以将过程(procedure)非正式地定义为以RET语句结束的命名语句块。过程使用PROCENDP伪指令来声明.另外还必须给过程起一个名字(一个有效的标识符)

创建除了程序启动过程之外的其他过程时应以RET指令结束,以强制CPU返回到过程被调目的地方,同时最后ENDP结束过程。

 

 

2.  CALLRET指令

    CALL指令指示处理器在新的内存地址执行指令,以实现对过程的调用。在过程中使用RET(return from procedure )指令使处理器返回到程序中调用过程的地方继续执行。从底层细节角度来讲,CALL指令将返回地址压人堆栈并将被调用过程的地址拷贝到指令指针寄存器中;当程序返回时,RET指令从堆栈中弹出地址并送到指令指针寄存器中。CPU总是执行指令指针寄存器EIP(16位模式下是IP)所指向的内存地址处的指令。

 

3.  局部标号和全局标号

默认情况下.代码标号(以单个冒号结尾)有—个局部域,使得它仅对其所在过程内的语

句可见,这阻止了跳转或循环话句转移到当前过程之外的标号。在极少数情况下,如果必须将控制转移到当前过程之外的标号处,标号必须被声明为全局的。声明全局标号。露在标号后路两个冒号。

4.  USES操作符

    USES操作持

PROC伪指令配套使用的USES操作符允许列出被过程修改的所有寄存器,它指示编译器做两件事:首先,在过程的开始处生成PUSH指令在堆栈上保存寄存器;其次,在过程的结束处生成POP指令恢复这些寄存器的值。USES操作符应紧跟PROC伪指令,其后跟由空格和制表符(不是逗号)分隔的寄存器列表。

 

5.  使用过程程序   一种标推的设计方法是将整体的问题分割成独立的任务,每个任务都可以在一个过程中实现。将问题细分为任务的过程通常称为功能分解(function decomposition),或自顶向下的设计(top-down design)。下面是自顶向下设计方法的一此假设:

1)大问题更容易分解成小问题。

2)如果每个过程都可以独立测试的话程序将更易于维护。

3)自顶向下设计能清楚地表现过程之间的相互关系。

4)在明确了总体设计之后.更容易集中精力解决细节问题和编写实现每个过程代码。

汇编 | 阅读 1009 次
文章评论,共0条
游客请输入验证码
浏览21169次