函数调用的机器级表示

目录

  • [一. 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




相关推荐
友莘居士12 天前
深入解析:Solidity中call与delegatecall的核心区别——谁在修改谁的存储?
区块链·solidity·call·delegatecall
史林枫1 个月前
JavaScript 中call和apply的详细讲解 —— 连10岁的小朋友都能看懂!
javascript·apply·call
Artech1 年前
可以调用Null的实例方法吗?
call·callvirt·calli
0zien02 年前
【延伸学习】TS(JS)类的继承(prototype、call、apply,extends)
javascript·原型模式·prototype·extends·call·寄生式继承·组合继承
赢乐2 年前
使用js编写一个函数判断所有数据类型的通用方法
prototype·数据类型·instanceof·tostring·call·typeof·原型方法
wzj_1102 年前
redis运维(十九)redis 的扩展应用 lua(一)
redis·lua·eval·pcall·call