码迷,mamicode.com
首页 > 其他好文 > 详细

汇编笔记三【寻址公式】

时间:2016-09-22 01:01:10      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

一、寻址方式一:

   立即数寻址:[立即数]

   例:

    读取内存的值:

    MOV EAX,DWORD PTR DS:[0xFFFFFFFF]

    向内存中写入数据:

    MOV DWORD PTR DS:[0xFFFFFFFF],eax

    获取内存地址:

    LEA EAX,DWORD PTR:DS[0xFFFFFFFF]

二、寻址方式二:

    寄存器寻址:[reg] reg代表寄存器,可以是8个寄存器中的任意一个

    例:

      读内存中的值:

      MOV EAX DWORD PTR DS:[ECX]

      向内存中写入数据:

      MOV DWORD PTR DS:[EDX],0xFFFFFFFF

      获取内存编号:

      LEA EAX,DWORD PTR DS:[EDX]

三、寻址方式三

    寄存器+立即数寻址:[reg+立即数]

    例:

      读取内存的值:

      MOV EAX,DEWORD PTR DSl[ECX+4]

      向内存中写入数据:

      MOV DEWORD PTR DS:[EDX+0xC],0x12345678

      获取内存地址:

      MOV EAX,DWORD PTR DS:[EDX+4]

四、寻址方式四:

     寄存器+寄存器*偏移地址 寻址:[reg+reg*{1,2,4,8}],注意:后面只能乘以1,2,4,8其中一个

     例:

      读取内存的值:

      MOV EDX,DWORD PTR DS:[EAX+ECX*4]

      向内存中写入数据:

      MOV DWORD PTR DS:[EAX+ECX*4],0x12345678

      取内存地址:

      LEA EAX,DWORD PTR DS:[EAX+ECX*4]

 

五、寻址方式五:

    寄存器+寄存器*偏移地址+立即数 寻址:[reg+reg*{1,2,4,8}+立即数]

    例:

      读取内存的值:

      MOV EDX,DWORD PTR DS:[EAX+ECX*4+4]

      向内存中写入数据:

      MOV DWORD PTR DS:[EAX+ECX*4+4],0x12345678

      取内存地址:

      LEA EAX,DWORD PTR DS:[EAX+ECX*4+4]

汇编笔记三【寻址公式】

标签:

原文地址:http://www.cnblogs.com/fuhua/p/5894709.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!