<汇编语言(第2版)>2011041001

【摘抄】

call和ret指令都是转移指令

详细:
ret指令用栈中的数据,修改IP的内容,实现近转移
retf指令用栈中的数据,修改CS和IP的内容,实现远转移

    CPU执行ret指令

    (IP)=((SS)*16+(sp))
    (sp)=(sp)+2

    CPU执行retf指令
    (IP)=((SS)*16+(sp))
    (sp)=(sp)+2
    (CS)=((SS)*16+(sp))
    (sp)=(sp)+2

call指令:
CPU执行此指令,将当前IP和CS或IP压入栈中,再实现转移

常用格式如下:
call 标号,IP
call far ptr 标号,CS,IP
call 16位 reg,IP
call word ptr 内存单元地址,IP
call dword ptr 内存单元地址,CS,IP

call与ret指令共同支持了汇编语音编程中的模块化设计。

那么,有如下问题有待思考:
1、将参数N存储在哪?
2、计算得到的数值,存储在哪?

用寄存器来存储参数和结果是最常用的方法。
另外通用的方法是使用栈来传递参数。

无论生活、还是技术,一切都不断的学习和更新~~~努力~
原文地址:https://www.cnblogs.com/GoGoagg/p/2011159.html