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

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

2022-12-5 22:35
7711

很简单的两句代码

 

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却不一样 实在搞不懂 希望有大佬解答


[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

收藏
点赞0
打赏
分享
最新回复 (3)
雪    币: 9689
活跃值: (6667)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
bluefish蓝鱼 2022-12-6 00:09
2
0
感觉是负数的原因
最高位为1时的数应该是负数,这样就能解释得通。
但是X1和X2是64比特寄存器,我不清楚你这里是不是漏了高32比特
雪    币: 2532
活跃值: (3893)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
2beNo2 2022-12-6 13:58
3
0
le 是有符号的小于等于
雪    币: 2077
活跃值: (4131)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
默NJ 2022-12-6 20:57
4
0
问问chatGpt
游客
登录 | 注册 方可回帖
返回