堆栈是一种简单的数据结构,是一种只允许在其一端进行插入或删除的线性表。
允许插入或删除操作的一端称为 栈顶,另一端称为 栈底,对堆栈的插入和删除操作被称 入栈和 出栈。
有一组CPU指令可以实现对进程的内存实现堆栈访问。其中, POP指令实现 出栈操作, PUSH指令实现 入栈操作。
CPU的 ESP寄存器存放 当前线程的栈顶指针,
EBP寄存器中保存 当前线程的栈底指针。
CPU的 EIP寄存器存放 下一个CPU指令存放的内存地址,当CPU执行完当前的指令后,从EIP寄存器中读取下一条指令的内存地址,然后继续执行。
允许插入或删除操作的一端称为 栈顶,另一端称为 栈底,对堆栈的插入和删除操作被称 入栈和 出栈。
有一组CPU指令可以实现对进程的内存实现堆栈访问。其中, POP指令实现 出栈操作, PUSH指令实现 入栈操作。
CPU的 ESP寄存器存放 当前线程的栈顶指针,
EBP寄存器中保存 当前线程的栈底指针。
CPU的 EIP寄存器存放 下一个CPU指令存放的内存地址,当CPU执行完当前的指令后,从EIP寄存器中读取下一条指令的内存地址,然后继续执行。
ECX一般用来当作计数器,EDX是数据寄存器,EAX是累加器,EBX是基址寄存器,
ESI是源变址寄存器,EDI是目的变址寄存器,ESP是堆栈指针寄存器,EBP是基址指针寄存器,其中ESP和EBP一般是针对堆栈面言
ESI是源变址寄存器,EDI是目的变址寄存器,ESP是堆栈指针寄存器,EBP是基址指针寄存器,其中ESP和EBP一般是针对堆栈面言