assembly - ARM 组装难题

标签 assembly arm bit-manipulation puzzle

首先,我不确定是否存在解决方案。我花了几个多小时试图想出一个,所以要小心。

问题:

r1 包含任意整数,标志根据其值设置。如果 r1 为 0x80000000,则将 r0 设置为 1,否则设置为 0,仅使用两条指令。

用 3 条指令很容易做到这一点(有很多方法),但是用 2 条指令做到这一点似乎非常困难,而且很可能是不可能的。

最佳答案

类似的东西

SMMUL r0,r1,r1
MOV r0,r0,lsr #30

关于assembly - ARM 组装难题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2960598/

相关文章:

c - 在C中,如何将 float 或 double 除以2的i次方?

c# - 从整数到整数的转换方式有区别吗?

c - 如何读取/写入 unsigned char 的特定位

c++ - 数字中设置的位数

c++ - 指向结构指针数组的指针

assembly - 对签名/未签名加载和存储指令 (MIPS) 的说明

assembly - 写入翻译后备缓冲区

linux - Source Insight 中的 ARM 汇编

docker - 在 dind 中从 armhf/ubuntu 构建时,回显 docker 文件中的文件失败

raspberry-pi - 为 32 位 ARM(从 x86-64)交叉构建 C++ 时 buildrpm 失败