x86汇编第三天学习之堆栈以及跳转指令

PUSH指令

功能:
1、往堆栈中压入数据
2、栈顶指针ESP寄存器-4

格式:

  • PUSH r32
  • PUSH r16
  • PUSH m16
  • PUSH m32
  • PUSH imm8/imm16/imm32

举例:
在这里插入图片描述
堆栈图:
在这里插入图片描述

POP指令

功能:

1、往堆栈中取数据

2、栈顶指针ESP寄存器+4

格式:

  • POP r32
  • POP r16
  • POP m16
  • POP m32

JMP指令

目的: 修改EIP寄存器的值!,即直接跳转到目的地址

格式: JMP 寄存器/立即数/内存(内存只能是dword类型)

范例:

  • JMP 0x1f3300
  • JMP eax
  • JMP dowrd ptr es:[0x11f3300]

CALL指令

目的: PUSH下一行要执行的地址,并JMP到目的地址

格式: call 寄存器/立即数/内存(内存只能是dword类型)

**与JMP区别:**先讲下一行要执行地址入栈

范例:

  • CALL 0x1f3300
  • CALL eax
  • CALL dowrd ptr es:[0x11f3300]

老铁们觉得有用的话记得给个赞哦!!!我是航行的土豆!!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值