汇编32位寄存器和地址编号的五种书写形式

Posted BlueBerry006

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编32位寄存器和地址编号的五种书写形式相关的知识,希望对你有一定的参考价值。

32位通用寄存器

32位:EAX   EBX  ECX   EDX  ESP  EBP   ESI  EDI  每个寄存器的最大宽度是32位

16位:AX       BX     CX    DX   SP     BP    SI     DI

8位   :AL     BL   CL      DL    AH    BH    CH    DH

想寄存器存一个数字可以用mov指令

mov eax,1  就是把1存到eax寄存器中

程序内存

一个32位的程序最大存储空间是4G

就是从0~0XFFFF的取值范围

每个值都是一个内存地址都对应一块内存

没快内存就是8位

MOV ECX,DWORD PTR DS:[0xC1FAF8]

把内存0xC1FAF8上的数据复制到ecx寄存器上

MOV DWORD PTR DS:[0xC1FAF8],ECX

把ecx上的数据复制到0xC1FAF8

汇编地址编号的物种形式

第一种:

MOV DWORD PTR DS:[0xC1FAF8],124323

第二种:【reg】

ecx=C1FAF8

MOV DWORD PTR DS:[ecx],1234233

第三种:【reg+立即数】

 

ecx=C1FAF4

C1FAF8=1233213

MOV eax,dword ptr ds:[ecx+4]

第四种:[reg+reg*{1,2,4,8}]

读取值

mov eax,C1FAF4

mov ecx,2

mov edx,dword ptr ds:[eax+ecx*4]

写入值

mov eax,C1FAF4

mov ecx,2

mov dword ptr ds:[eax+ecx*4],12345678

第五种:【reg+reg*{1,2,4,8}+立即数】

读取值

mov eax,C1FAF4

mov ecx,2

mov edx,dword ptr ds:[eax+ecx*4+4]

写入值

mov eax,C1FAF4

mov ecx,2

mov dword ptr ds:[eax+ecx*4+4],12345678

 

以上是关于汇编32位寄存器和地址编号的五种书写形式的主要内容,如果未能解决你的问题,请参考以下文章

汇编指令和寄存器

32位汇编第五讲,逆向实战干货,(OD)快速定位扫雷内存.

汇编笔记二32位通用寄存器 以及 常用汇编指令

汇编 LEA 指令

汇编语言中的CPU的16位,32位和当今操作系统所指的32位,64位概念有点模湖,请大侠们赐教.

汇编,寄存器,内存,mov指令