0
点赞
收藏
分享

微信扫一扫

【Android 逆向】x86 汇编 ( add / sub / mul / div 数值运算指令 | xor / not / sal / sar / shl / shr 位运算指令 )

文章目录

  • 一、add / sub / mul / div 数值运算指令
  • 二、xor / not / sal / sar / shl / shr 位运算指令
  • 总结

一、add / sub / mul / div 数值运算指令

​数值运算指令 :​ 数值运算指令有 2 2 2 个操作数 , 操作完毕后 , 结果写回到操作数 1 1 1 中 ;

  • ​add :​ 加法运算指令 , 运算结果存储到操作数 1 中 ;
  • ​sub :​ 减法运算指令 , 运算结果存储到操作数 1 中 ;
  • ​mul :​ 乘法运算指令 , 运算结果存储到操作数 1 中 ;
  • ​div :​ 除法运算指令 , 运算结果存储到操作数 1 中 ;

二、xor / not / sal / sar / shl / shr 位运算指令

​位运算指令 :​

  • ​xor :​ 异或运算指令 ;
  • ​not :​ 取反运算指令 ;
  • ​sal :​ 算术左移指令 ;
  • ​sar :​ 算术右移指令 ;
  • ​shl :​ 逻辑左移指令 ; 算术左移与逻辑左移是完全等效的 ;
  • ​shr :​ 逻辑右移指令 ; 逻辑右移 与 算术右移时不同的 , 逻辑右移时 , 如果最高位是 0 , 则移动后空出的位置全都补 0 , 如果最高位是 1 , 则移动后空出的位置全都补 1 ;

总结

align 字节对齐​ , db 声明字符 / 字符串​ , nop 空指令

cmp 比较​ , test 比较

call 子函数调用指令​ , jmp 跳转指令 ( 可选参数 a , b , c , g , l , o , p , s , z , e , n)

lea 加载指令 ​ , lds , les , lfs , lgs , lss , mov 数据传送指令

push 入栈指令 , pop 出栈指令 , pushf , popf , pushd , popd , pushad , popad , pusha , popa

ret , retn 返回指令​ , set 设置目标值指令

add , sub , mul , div 数值运算指令

xor , not , shl , shr , sal , sar , rol , ror , rcl , rcr 位运算指令

举报

相关推荐

X86汇编---寄存器+指令

x86汇编_PTR运算符_笔记_9

0 条评论