• 寻址公式


    寻址公式

    寻址公式一:[立即数]

    把0x19FF74地址中的值放入EAX寄存器
    MOV EAX,DWORD PTR DS:[0x19FF74]
    把EBX寄存器的值写入地址0x19FF78
    MOV DWORD PTR DS:[0x19FF78],EBX

    把0x19FF70内存编号给ecx寄存器
    lea ecx,dword ptr ds:[0x19FF70]
    把esp寄存器中的值+0x8在赋值给eax寄存器
    lea eax,dword ptr ds:[esp+0x8]

     寻址公式二:[reg]  reg代表寄存器 可以是8个通用寄存器中的任意一个

    把0x19FF70给ecx寄存器
    mov ecx,0x19FF70
    取出ecx寄存器中的值给eax寄存器
    mov eax,dword ptr ds:[ecx]

    把0x19FF70给ecx寄存器
    mov edx,0x19FF70
    把0x87654321写入edx寄存器
    mov dword ptr ds:[edx],0x87654321

    寻址公式三:[reg+立即数]

    读取内存的值:
    MOV ECX,0x13FFD0
    MOV EAX,DWORD PTR DS:[ECX+4]
    向内存中写入数据:
    MOV EDX,0x13FFD8
    MOV DWORD PTR DS:[EDX+0xC],0x87654321
    获取内存编号:
    LEA  EAX,DWORD PTR DS:[EDX+4]
    MOV EAX,DWORD PTR DS:[EDX+4]

    寻址公式四:[reg+reg*{1,2,4,8}] 

    这里只可以写 1,2,4,8

    读取内存的值:
    MOV EAX,13FFC4
    MOV ECX,2
    MOV EDX,DWORD PTR DS:[EAX+ECX*4]
    向内存中写入数据:
    MOV EAX,13FFC4
    MOV ECX,2
    MOV DWORD PTR DS:[EAX+ECX*4],87654321
    获取内存编号:
    LEA EAX,DWORD PTR DS:[EAX+ECX*4]

    寻址公式五:[reg+reg*{1,2,4,8}+立即数] 

    这里只可以写 1,2,4,8

    读取内存的值:
    MOV EAX,13FFC4
    MOV ECX,2
    MOV EDX,DWORD PTR DS:[EAX+ECX*4+4]
    向内存中写入数据:
    MOV EAX,13FFC4
    MOV ECX,2
    MOV DWORD PTR DS:[EAX+ECX*4+4],87654321
    获取内存编号:
    LEA EAX,DWORD PTR DS:[EAX+ECX*4+2]
  • 相关阅读:
    JAVA 分布式
    Spring Boot -01- 快速入门篇(图文教程)
    MyBatis -01- 初识 MyBatis + MyBatis 环境搭建
    Vue 框架-12-Vue 项目的详细开发流程
    Vue 框架-11-介绍src文件流程及根组件app+HBuilder 配置
    Vue 框架-10-搭建脚手架 CLI
    LeetCode
    LeetCode
    LeetCode
    LeetCode
  • 原文地址:https://www.cnblogs.com/qiaorui/p/12764471.html
Copyright © 2020-2023  润新知