文章 2024-07-10 来自:开发者社区

8086 汇编笔记(九):call 指令 和 ret 指令

一、ret 和 retf ret 用栈中的数据,修改IP的内容,从而实现近转移; retf 指令用栈中的数据,修改CS和IP的内容,从而实现远转移。 CPU执行ret指令时,进行下面两步操作: (1)(IP) = ((SS)*16+(SP)) (2)(sp) = (sp)+2 以上步骤相当于进行: ...

文章 2024-05-06 来自:开发者社区

深入理解汇编:平栈、CALL和RET指令详解

汇编语言以其接近硬件的特性和高效的执行速度,在系统编程、性能优化和逆向工程中占有不可或缺的地位。本文将深入探讨汇编语言中的平栈操作以及CALL和RET指令,并通过代码案例加以说明。 平栈操作 平栈(Stack Balancing)是指在函数调用过程中,保持栈的平衡状态。在x86架构的汇编语言中,平栈操作通常指保持ESP(栈指针寄存器)在函数执行前后保持一致。这是为了维护调用约定和...

文章 2022-02-16 来自:开发者社区

【汇编语言/底层开发】10、CALL和RET指令

CALL和RET指令常常用来实现子程序的设计。这两个指令同jmp、loop、jcxz等指令同属于转移指令。 1、ret和retf 转移指令的主要功能就是修改CS和IP或者只修改IP的内容。其中ret利用栈中的数据修改IP的内容,从而实现近转移;而retf则通过使用栈中的数据同时修改CS和IP的值,实现远转移。 ret指令的作用相当于: pop IP retf指令的作用相当于: pop IP ...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。