数据存储
存储方式
大端存储:数据高位在地址内存低位,数据低位在地址内存高位
小端存储:数据高位在地址内存高位,数据低位在地址内存低位
0XA2C2 小端存储
可以看到,数据的地位C2存储在低位,数据高位A2在高位,x86一般采用小段存储
大端存储相反,手机处理器有些会采用大端存储
将数据存到内存:
mov byte ptr ds[地址],1
含义:将1写入内存,byte可以改为word,DWORD等
mov DWORD PTR DS[地址],EAX
含义:将EAX的值写入地址(写入的宽度需要一致,比如将AX写入,但AX是16位,就会出错)
内存地址形式
1.mov byte ptr ds[reg]
reg代表的是寄存器,可以为8个通用寄存器中的任意一个
2.mov byte ptr ds[reg+立即数]
mov byte ptr ds[eax+4],代表寄存器地址加4
3.mov byte ptr ds[立即数]
mov byte ptr ds[0X13FFC4]
4.mov byte ptr ds[reg+reg*{1,2,4,8}]
mov byte ptr ds[eax+eax4],寄存器乘1,2,4,8中的一个
5.mov byte ptr ds[reg+reg{1,2,4,8}+立即数]
mov byte ptr ds[eax+eax*4+4]
这些形式需要我们大致看懂的几种形式
(不完整,后面会继续写)