汇编语言与RET有关

2025-03-20 04:48:23
推荐回答(5个)
回答1:

AL的结果是88H是不是因为这个语句的影响:INC AL。子函数SUB1计算完后AL的值是87H
RET的作用是子函数的返回,并把相应的寄存器的内容恢复到调用子函数前的状态。

回答2:

RET就是调用SUB1后返回到CALL的下一条指令处
ADD AL,BL后al=81h
mov cl,al后cl=al=81h
DAA 因为81H《99h所以不需要调整
返回后INC AL ;al=82h
dec cl ;cl=80h

回答3:

daa 相当于两个十进制数相加;
于是有AL=38H+49H=87H
例如:

十六进制相加AL=38H+49H=81H;
MOV CL,AL 所以CL=81H;
DEC CL ;CL减一
所以CL=80H
call调用函数,地址入栈,ret 返回,地址出栈

回答4:

是在最后 不过 遇到它就得转移了 ret :返回地址出栈,从而实现转移到返回地址处

回答5:

add后 al是81h
这里你要搞清楚DAA的作用!!daa后估计就是87h(没仔细算,忘了)
ret就是个函数返回,作用没什么!就是对栈里面弹出2个数据到CS:IP中