【Android 逆向】x86 汇编 ( cmp 比较指令 | test 比较指令 )

简介: 【Android 逆向】x86 汇编 ( cmp 比较指令 | test 比较指令 )

文章目录

一、cmp 比较指令

二、test 比较指令

总结





一、cmp 比较指令


cmp 指令通过 减法运算 , 影响标志位 CPAZO ;


cmp eax, ebx


上述指令执行时 , eax - ebx , 减法运算结果影响标志位 CPAZO ;


C 对应 进位 位 , 此处指的是减法操作是否有借位 ;

P 对应 奇偶 位 , 运算结果 的 奇偶 , 检测结果最后一个位是 0 00 还是 1 11 ;

A 对应 辅助进位 位 , 32 3232 位的整型中 , 低 16 1616 位是否发生了 借位 或 进位 ;

Z 对应 零标志 , 如果 减法操作 最后的结果是 0 00 , 该 零标志位 会被设置成 1 11 , 如果 减法操作 结果不为 0 00 , 该 零标志位 会被设置成 0 00 ;

O 对应 溢出标志 , 减法操作是否会导致溢出 , 负数 - 负数 会出现溢出 ;





二、test 比较指令


cmp 指令 和 test 指令 用于 比较 2 22 个操作数是否相等 ;


test 指令通过 与运算 , 影响标志位 CPSZO ;


C 对应 进位 位 , 此处指的是减法操作是否有借位 ;

P 对应 奇偶 位 , 运算结果 的 奇偶 , 检测结果最后一个位是 0 00 还是 1 11 ;

S 对应 符号标志位 , 计算结果如果是负数 , 该标志位设置成 0 00 , 计算结果如果是正数 , 该标志位设置成 1 11 ;

Z 对应 零标志 , 如果 与操作 最后的结果是 0 00 , 该 零标志位 会被设置成 1 11 , 如果 与操作 结果不为 0 00 , 该 零标志位 会被设置成 0 00 ;

O 对应 溢出标志 , 减法操作是否会导致溢出 ; ( 与运算不存在进位 , 没有溢出 )





总结


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


目录
相关文章
|
5月前
|
存储 移动开发 C语言
【ARM汇编速成】零基础入门汇编语言之指令集(三)
【ARM汇编速成】零基础入门汇编语言之指令集(三)
139 0
|
5月前
|
编译器 C语言 计算机视觉
【ARM汇编速成】零基础入门汇编语言之指令集(二)
【ARM汇编速成】零基础入门汇编语言之指令集(二)
533 0
几组汇编指令的比较
几组汇编指令的比较
|
8月前
|
存储 机器学习/深度学习 芯片
8086 汇编笔记(十二):int 指令 & 端口 & 直接定址表
8086 汇编笔记(十二):int 指令 & 端口 & 直接定址表
|
8月前
|
存储 算法 安全
深入理解汇编语言:基础语法和常用指令介绍
深入理解汇编语言:基础语法和常用指令介绍
8086 汇编笔记(九):call 指令 和 ret 指令
8086 汇编笔记(九):call 指令 和 ret 指令
|
8月前
|
编译器
8086 汇编笔记(八):转移指令的原理
8086 汇编笔记(八):转移指令的原理
|
存储 Java Android开发
|
12天前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
82 19
|
1月前
|
JavaScript 搜索推荐 Android开发
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
70 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡