汇编-2,堆栈相关指令

1、 什么是堆栈?
1) 就是一块内存,操作系统在程序启动的时候已经分配好
的,供程序执行时使用。
2) 和数据结构的堆栈无关。
3) 查看堆栈。
2、 栈指针寄存器
ESP中存储了当前的堆栈用到哪里了
3、 PUSH指令:
功能:
<1> 向堆栈中压人数据
<2> 修改栈顶指针ESP寄存器
指令格式:
1、PUSH r32
2、PUSH r16
3、PUSH m16
4、PUSH m32
5、PUSH imm8/imm16/imm32
Push指令相当于:例如Push r32,向栈中压入r32的时候,会修改ESP的值;相当于mov dword ptr ss:[esp],r32 sub esp,4

4、 POP指令:
功能:
<1> 将栈顶数据存储到寄存器/内存
<2> 修改栈顶指针ESP寄存器
指令格式:
1、POP r32
2、POP r16
3、POP m16
4、POP m32
Pop指令相当于:例如Pop r32,在pop执行的时候会把栈顶的数据弹出放到r32寄存器中,然后esp的值加4;相当于;mov r32,dword ptr ss:[esp] add esp 4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值