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

简介: 【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 22 个操作数 , 操作完毕后 , 结果写回到操作数 1 11 中 ;


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 位运算指令


目录
相关文章
|
存储 Unix 编译器
汇编语言----X86汇编指令
汇编语言----X86汇编指令
1471 2
|
编译器 API C语言
在x86架构汇编语言中函数参数传递的三种约定
在x86架构汇编语言中函数参数传递的三种约定
817 2
|
存储 C++
C/C++中的整数除法运算与汇编指令DIV和IDIV
C/C++中的整数除法运算与汇编指令DIV和IDIV
736 1
|
存储 程序员 开发者
深入理解汇编:push、pop、add、sub、lea 指令详解
深入理解汇编:push、pop、add、sub、lea 指令详解
2933 1
|
存储 程序员 数据处理
【汇编】mov和add指令、确定物理地址的方法、内存分段表示法
【汇编】mov和add指令、确定物理地址的方法、内存分段表示法
1760 1
【汇编】mov和add指令、确定物理地址的方法、内存分段表示法
|
存储
【汇编】数据在哪里?有多长、div指令实现除法、dup设置内存空间
【汇编】数据在哪里?有多长、div指令实现除法、dup设置内存空间
446 1
汇编指令学习(ADD,SUB,MUL,DIV,XADD,INC,DEC,NEG)
汇编指令学习(ADD,SUB,MUL,DIV,XADD,INC,DEC,NEG)
380 0
汇编指令学习(ADD,SUB,MUL,DIV,XADD,INC,DEC,NEG)
汇编指令学习(ADD,SUB,MUL,DIV,XADD,INC,DEC,NEG)
489 0
|
存储 JavaScript
x86汇编基础指令
x86汇编基础指令
x86汇编基础指令
|
存储 机器学习/深度学习 移动开发
汇编语言指令系列
汇编语言指令系列
3333 0