首页
社区
课程
招聘
[求助]遇到一个ARM汇编的玄学 希望大佬们看看
发表于: 2022-12-5 22:35 8382

[求助]遇到一个ARM汇编的玄学 希望大佬们看看

2022-12-5 22:35
8382

很简单的两句代码

 

CMP X1;X2
CSET X3;LE

 

X1 = 0x630c6c1e ,X2 =0xd77181eb >>> X3 = 0
X1 = 0xa02d02aa ,X2 =0x630c6c1e >>> X3 = 1
X1 = 0x5994467 ,X2 =0xa02d02aa >>> X3 = 0
X1 = 0xa11de8a9 ,X2 =0x5994467 >>> X3 = 1
X1 = 0xd9fa5cf9 ,X2 =0xa11de8a9 >>> X3 = 0

 

为什么我调试的软件和百度到的不太一样

 

上面代码翻译过来不应该是
if (x1<=x2)
x3 = 1
else
x3 = 0

 

而且上面的第4组数据和第5组数据 X1都比X2大 但是返回的X3却不一样 实在搞不懂 希望有大佬解答


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 10693
活跃值: (7607)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
2
感觉是负数的原因
最高位为1时的数应该是负数,这样就能解释得通。
但是X1和X2是64比特寄存器,我不清楚你这里是不是漏了高32比特
2022-12-6 00:09
0
雪    币: 3493
活跃值: (4774)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
3
le 是有符号的小于等于
2022-12-6 13:58
0
雪    币: 2466
活跃值: (4550)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
问问chatGpt
2022-12-6 20:57
0
游客
登录 | 注册 方可回帖
返回
//