Asm06-堆栈和子过程.pptVIP

  • 2
  • 0
  • 约1.69万字
  • 约 61页
  • 2017-11-17 发布于河南
  • 举报
Asm06-堆栈和子过程

VI. 堆栈、子过程 使用堆栈 子程序 子程序定义 调用与返回 Win32 API 堆栈与参数传递、自动变量 使用堆栈 堆栈 从概念上,堆栈是一种先进后出(FILO)的队列结构 新进栈的数据总是位于栈的顶部 栈顶的数据最先出栈 运行时栈(Runtime Stack) 在程序内存空间中保留的一段连续的内存区域; CPU硬件电路直接支持堆栈机构 -- 使用两个寄存器实现运行时栈的自动操作:堆栈段寄存器---SS,堆栈指针---ESP 在32位汇编的情况下,SS的内容由系统管理,不要在程序中对它进行改动;但在程序中可能需要处理堆栈指针ESP 堆栈指令 push reg16 / mem16 push reg32 / mem32 push imm32 pop reg16 / mem16 pop reg32 / mem32 运行时栈工作过程 例: 字符串反序存储 例: 字符串反序存储 子程序 子程序(子过程,Procedure) 一段可通用的代码,实现在程序中须多次使用的某种功能。 定义子程序(伪指令PROC、ENDP) ret指令 子程序调用和返回 调用方使用CALL指令调用子程序: 调用子程序前,首先按照约定将需要传递给子程序的数据存放在指定位置 子程序中使用RET指令返回 确保正确返回 确

文档评论(0)

1亿VIP精品文档

相关文档