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

  • 相关阅读:
    将截断字符串或二进制数据。语句已终止的解决方法
    201812-1 小明上学 Java
    201809-2 买菜 Java
    201809-1 卖菜 Java
    201803-2 碰撞的小球 Java
    201803-1 跳一跳 Java
    201712-2 游戏 Java
    201712-1 最小差值 Java
    201709-2 公共钥匙盒 Java
    201709-1 打酱油 Java
  • 原文地址:https://www.cnblogs.com/blueberry006/p/7354445.html
Copyright © 2020-2023  润新知