正在加载图片...
6.1.2过程调用和返回 2.使用过程应注意的问题 在过程体内必须有一条RET指令被执行到。如果在过程内没有执行到RET或其它转 移指令,程序将继续执行ENDP后的指令。 ■正确选择过程的类型。通常基于下列原则 ·若过程只在同一代码段中被调用,则定义为NEAR。 ·若过程可以在不同代码段中被调用,则定义为FAR。 ■CALL与RET的类型要一致。 ■通常要保证RET指令执行前,栈顶内容正好是返回地址。 注意保护相关寄存器的值。通常,除了作为返回参数的寄存器外,过程不应改变 其它寄存器的值。 可以将过程定义放在单独的代码段中。若过程定义与主程序处于同一代码段,则 要保证其只有被调用时,才会执行。 2021//21 80x86汇编语言程序设计2021/1/21 80x86汇编语言程序设计 6.1.2 过程调用和返回 2.使用过程应注意的问题 ▪ 在过程体内必须有一条RET指令被执行到。如果在过程内没有执行到RET或其它转 移指令,程序将继续执行ENDP后的指令。 ▪ 正确选择过程的类型。通常基于下列原则: • 若过程只在同一代码段中被调用,则定义为NEAR。 • 若过程可以在不同代码段中被调用,则定义为FAR。 ▪ CALL与RET的类型要一致。 ▪ 通常要保证RET指令执行前,栈顶内容正好是返回地址。 ▪ 注意保护相关寄存器的值。通常,除了作为返回参数的寄存器外,过程不应改变 其它寄存器的值。 ▪ 可以将过程定义放在单独的代码段中。若过程定义与主程序处于同一代码段,则 要保证其只有被调用时,才会执行
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有