al=8
这代码编的,太耗脑子了
左边是当前指令,右边是该指令执行完后的栈情况和IP情况
call myproc 栈:&myproc
IP=myproc
myproc proc
call x 栈:&myproc,&x
IP=x
x:call y 栈:&myproc,&x,&y
IP=y
y:call z 栈:&myproc,&x,&y,&z
IP=z
z:inc al al = 1
ret 栈:&myproc,&x,&y
IP=z
z:inc al al = 2
ret 栈:&myproc,&x
IP=y
y:call z 栈:&myproc,&x,&z
IP=z
z:inc al al=3
ret 栈:&myproc,&x
IP=z
z:inc al al=4
ret 栈:&myproc
IP=x
x:call y 栈:&myproc,&y
IP=y
y:call z 栈:&myproc,&y,&z
IP=z
z:inc al al=5
ret 栈:&myproc,&y
IP=z
z:inc al al=6
ret 栈:&myproc
IP=y
y:call z 栈:&myproc,&z
IP=z
z:inc al al=7
ret 栈:&myproc
IP=z
z:inc al al=8
ret 栈:清空,返回主函数
AL=1;主程序调用myproc,myproc调用x,x调用y,y调用z,z使al加一,最后返回主程序