函数调用的机器级表示

目录

  • [一. call和ret指令(选择题)](#一. call和ret指令(选择题))
  • [二. 如何访问栈帧](#二. 如何访问栈帧)
    • [2.1 push和pop](#2.1 push和pop)
    • [2.2 mov指令](#2.2 mov指令)
  • [三. 如何切换栈帧](#三. 如何切换栈帧)
  • [四. 栈帧内可能包含哪些内容](#四. 栈帧内可能包含哪些内容)

\quad

一. call和ret指令(选择题)

\quad

后面调用的函数会在栈顶, 调用完成返回后,函数会从栈退出





ret指令的作用:

从函数的栈帧顶部找到IP旧值,将其出栈并恢复IP寄存器

\quad

二. 如何访问栈帧

\quad

\quad

2.1 push和pop

\quad










\quad

2.2 mov指令

\quad


用sub和add来移动edp和esp


\quad

三. 如何切换栈帧

\quad








\quad

四. 栈帧内可能包含哪些内容

\quad




相关推荐
Artech3 个月前
可以调用Null的实例方法吗?
call·callvirt·calli
0zien010 个月前
【延伸学习】TS(JS)类的继承(prototype、call、apply,extends)
javascript·原型模式·prototype·extends·call·寄生式继承·组合继承
赢乐10 个月前
使用js编写一个函数判断所有数据类型的通用方法
prototype·数据类型·instanceof·tostring·call·typeof·原型方法
wzj_1101 年前
redis运维(十九)redis 的扩展应用 lua(一)
redis·lua·eval·pcall·call