• 汇编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

  • 相关阅读:
    IE浏览器兼容问题
    sublime text3插件和快捷键
    CSS3高级
    盒子模型
    css3动画
    FreeBSD port安装 *** [checksum] Error code 1
    vs 2008设置vs6.0字体
    android 无法读取lua文件问题2
    u盘安装centos6 x8664
    cocos2dx lua 路径问题的一个bug (网络整理)
  • 原文地址:https://www.cnblogs.com/blueberry006/p/7354445.html
Copyright © 2020-2023  润新知