汇编基础-通用寄存器,内存读写,堆栈

本文介绍了汇编语言中的通用寄存器ESP和EBP,以及常用指令如MOV、ADD、SUB、AND、OR、XOR、NOT和LEA的用法。讲解了内存读写操作和寻址方式,并探讨了堆栈的概念和如何使用通用寄存器模拟堆栈操作。
摘要由CSDN通过智能技术生成

汇编基础-通用寄存器

通用寄存器

在这里插入图片描述
ESP(Extended Stack Pointer)拓展栈寄存器,用于存放栈顶指针。
EBP(Extended Base Pointer)拓展基址指针寄存器,用于存放栈底指针。

MOV指令

在这里插入图片描述

ADD指令

ADD 目标操作数,源操作数
将源操作数加到目标操作数中,结果放到目的操作数中

SUB指令

SUB 目标操作数,源操作数
从目的操作数中减去源操作数,结果放到目的操作数中

AND指令

AND 目标操作数,源操作数
源操作数和目标操作数做运算,结果放到目的操作数中

OR指令

OR 目标操作数,源操作数
源操作数和目标操作数做运算,结果放到目的操作数中

XOR指令

XOR 目标操作数,源操作数
源操作数和目标操作数做异或运算,结果放到目的操作数中

NOT指令

NOT 目标操作数
目标操作数做运算,结果放到目的操作数中

LEA 指令

LEA是"load effective address"的缩写,简单地说,lea指令可以将一个内存地址直接赋给目标操作数。
例如:lea eax,[ebx+8]就是将ebx+8这个值赋给了eax。

内存读写

计算机几个常用的计量单位

在这里插入图片描述

CPU位数,内存编号,寻址范围

在这里插入图片描述

内存格式

在这里插入图片描述

这里第2点中提到的[]同时也起到了区分地址和立即数的作用,如:
mov dword ptr ds:[0x0012FF34],0x12345678

内存寻址方式

  • 寻址方式一:[立即数]
  • 寻址方式二:[reg]
  • 寻址方式三:[reg+立即数]
  • 寻址方式四:[reg+reg*{1,2,4,8}]
  • 寻址方式五:[reg+reg*{1,2,4,8}+立即数]

堆栈

什么是堆栈

在这里插入图片描述

使用任意通用寄存器模拟堆栈操作

在这里插入图片描述
在这里插入图片描述
效果同push
在这里插入图片描述
效果同pop

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值