谜语 - 将 4 笔代码替换为等价的 2
riddle - replace 4 strokes of code in equivalent 2
tst r0
blt label
cmp r0, #11
bgt label
据我了解,如果 r0 < 0 或 r0 > 11,此代码和平是分支。
如何优化到只有两笔代码
尝试无符号比较:
cmp r0, #11
bhi label
小于 0 的值使用二进制补码表示。因此,-1 表示为 16 位无符号值是 1111111111111111,高于 11(即 0000000000001011)。
tst r0
blt label
cmp r0, #11
bgt label
据我了解,如果 r0 < 0 或 r0 > 11,此代码和平是分支。
如何优化到只有两笔代码
尝试无符号比较:
cmp r0, #11
bhi label
小于 0 的值使用二进制补码表示。因此,-1 表示为 16 位无符号值是 1111111111111111,高于 11(即 0000000000001011)。