函数调用的机器级表示

目录

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




相关推荐
浩浩测试一下8 天前
汇编 call与ret 函数与堆栈 (逆向分析)
汇编·push·函数·pop·call·ret·堆栈逆向
Dfreedom.5 个月前
从 model(x) 到__call__:解密深度学习框架的设计基石
人工智能·pytorch·python·深度学习·call
友莘居士6 个月前
深入解析:Solidity中call与delegatecall的核心区别——谁在修改谁的存储?
区块链·solidity·call·delegatecall
史林枫7 个月前
JavaScript 中call和apply的详细讲解 —— 连10岁的小朋友都能看懂!
javascript·apply·call
Artech2 年前
可以调用Null的实例方法吗?
call·callvirt·calli
0zien02 年前
【延伸学习】TS(JS)类的继承(prototype、call、apply,extends)
javascript·原型模式·prototype·extends·call·寄生式继承·组合继承
赢乐2 年前
使用js编写一个函数判断所有数据类型的通用方法
prototype·数据类型·instanceof·tostring·call·typeof·原型方法
wzj_1103 年前
redis运维(十九)redis 的扩展应用 lua(一)
redis·lua·eval·pcall·call