逆向笔记3(通用寄存器_内存读写)

一、通用寄存器

1、通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。除此之外,它们还各自具有一些特殊功能。通用寄存器的长度取决于机器字长,汇编语言程序员必须熟悉每个寄存器的一般用途和特殊用途,只有这样,才能在程序中做到正确、合理地使用它们。

2、32位通用寄存器的指定用途

寄存器   主要用途                                                       编号              存储的数据范围
   EAX     累加器                                                            0              0 - 0xFFFFFFFF
   ECX     计数                                                               1               0 - 0xFFFFFFFF
   EDX     I/O指针                                                          2              0 - 0xFFFFFFFF
   EBX     DS段的数据指针                                            3              0 - 0xFFFFFFFF
   ESP     堆栈指针                                                        4              0 - 0xFFFFFFFF
   EBP     SS段的数据指针                                            5              0 - 0xFFFFFFFF
   ESI     字符串操作的源指针;SS段的数据指针           6              0 - 0xFFFFFFFF
   EDI     字符串操作的目标指针;ES段的数据指针       7              0 - 0xFFFFFFFF
 
3、寄存器结构关系

32位cpu通用寄存器与8位cpu通运寄存器的关系,那么我们还可以推测,64位cpu通用寄存器包括以后可能会出现128位cpu通用寄存器,256位cpu通用寄存器之间的关系。

二、内存读写

1、寄存器位于CPU内部,执行速度快,但比较贵。

2、内存速度相对较慢,但成本较低,所以可以做的很大。

3、寄存器和内存没有本质区别,都是用于存储数据的容器,都是定宽的。

4、寄存器常用的有8个: EAX、ECX、 EDX、 EBX、 ESP、 EBP、 ESI、 EDI.

 5、byte(字节)   1byte=8bit

word(字)。   1word=16bit

dword(双字)。 1dword=32bit

6、内存写入/读取数据

 

写入:
mov 容器(byte,word,dword) ptr ds:[内存地址编号],0x数据

读取:
mov 要被读入的容器,读取的数据宽度 ptr ds:[地址编号]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值