ARM中也有<<这样的移位运算符吗

2025-04-06 14:25:13
推荐回答(1个)
回答1:

有的,用法如下
LSL 逻辑左移 ASL 算术左移 LSR 逻辑右移 ASR 算术右移 ROR 循环右移 RRX 带扩展的循环右移ASL 和LSL 是等同的,可以自由互换。
你可以用一个立即值(从 0 到 31)指定移位数量,或用包含在 0 和 31 之间的一个值的寄存器指定移位数量。

逻辑或算术左移(LSL)
MOV R1, #12
MOV R0, R1, LSL#2
R0 是 48。 这些指令形成的总和是R0 = #12, LSL#2 等同于 BASIC 的 R0 = 12 << 2