数据指令MOV

Posted 胡韬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据指令MOV相关的知识,希望对你有一定的参考价值。

  MOV分成三类,第一类不需要拓展(MOV),第二类做符号拓展(MOVS),第三类做零拓展(MOVZ),拓展类型根据源操作数决定。

  这三类根据操作的数据类型其后可加l,w,b。

  MOV操作的操作数可以是寄存器,也可是存储器,但不可两个都是存储器。

  第一个是源操作数,第二个是目的操作数。

  pop和push也属于MOV指令,不同的是他们只有一个操作数,%esp保存栈顶元素的地址,压栈。

  例题:

  1.mov %eax (%esp)      movl

  2.mov (%eax) %dx   从32b到16b,截断,只需要movw即可

  3.movl %eax,$0x123   错误,立即数不能作为地址

  4.movb $0xF,(%bl)   错误,(%bl) 不能作为存储器地址,把括号去了可以

  

以上是关于数据指令MOV的主要内容,如果未能解决你的问题,请参考以下文章

LEA指令与MOV指令区别

伪指令的MOV32 伪指令

麻烦大家给我介绍一下汇编指令mov的用法吧

数据指令MOV

Android 逆向x86 汇编 ( call 子函数调用指令 | jmp 跳转指令 | lea 加载指令 | mov 数据传送指令 )

Android 逆向x86 汇编 ( call 子函数调用指令 | jmp 跳转指令 | lea 加载指令 | mov 数据传送指令 )