堆栈图-12

    科技2024-08-06  26

    堆栈图

    堆栈图 LEA STOS REP 恢复堆栈(现场) 堆栈开辟过程中会使用到的指令

    堆栈图

    自己依照 12集 去画. 流程: 开辟堆栈空间: 1. 提升栈底: PUSH EBP. 将栈底的值保存到栈顶 2. 提升栈顶:将栈顶和栈底 在提升到一个位置 2.1 在PUSH EBP后,ESP保存的是栈底的位置.(栈顶保存的是栈底的值) 2.2 这时的栈底. 已经提升了. 需要提升的是栈顶. 2.3 使用 MOV EBP,ESP. 将栈底 EBP提升到 和 ESP同一位置 3. SUB ESP , 40: 提升栈顶. 3.1 这时,将栈顶提升了 40h 的空间. 到此.开辟堆栈空间的动作结束. 3. 入栈: 保存一些数据.

    LEA

    将一个数字当做地址. 获取该地址中数据 所在的内存单元编号.

    STOS

    操作 EAX中的值. 赋给自己要操作的寄存器 例如: STOS DWORD PTR ES:[EDI] 这里就会将 EAX 的值赋给 EDI 这里面存的值指向的地址. 执行完毕之后. EDI的值会自动 + 4 或者 - 4. 如果 DF = 0,

    Processed: 0.008, SQL: 8