逆向笔记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、内存写入/读取数据

逆向笔记3(通用寄存器_内存读写)_第1张图片

 

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

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

你可能感兴趣的:(笔记,p2p,gnu,网络协议)