1.压栈弹栈操作必须在同一个程序段中完成。
同一个程序段的意思是:要么弹栈压栈都在主程序段,要么在某一个特定的子程序段。绝对不可以在主程序段压栈,在某个子程序段弹栈,看着好像这样可以在主程序与子程序段之间传递数值,实际上这样搞编译器不会理你,反之也是如此。
2.代码格式的规范
2.1 数据段的加入
如果你定义了数据段,那么程序在start标签后,一定要加:
mov ax,data
mov ds,ax
2.2 子程序段的定义
有两种子程序段定义格式:
example proc near
/*
*
*/
ret
example endp
example proc far
/*
*
*
/
iret
example endp
注意!他们的返回字一个是ret,一个是iret.