op2, LSL #sh_imm
其中:
op2 |
指定包含要移位的值的暫存器。 |
LSL |
表示邏輯左移。 |
sh_imm |
指定移位。此值介於 0 與 31 之間。 |
if sh_imm == 0 then /*Register Operand */
addr_mode = op2
shifter_carry_out = C Flag
else /* sh_imm > 0 */
addr_mode = op2 Logical_Shift_Left sh_imm
shifter_carry_out = op2[32 - sh_imm]
此數據處理運算元直接提供暫存器值,或暫存器的左移值(乘以 2 的常數次冪)。
此指令運算元代表按立即數邏輯左移的暫存器 op2 的值,該立即數介於 0 與 31 之間。在騰出的空位中插入零。最後移出的位是移位器的進位。如果未指定任何位,則進位是 C 標誌。
31 |
|
|
28 |
27 |
26 |
25 |
24 |
|
|
21 |
20 |
19 |
|
|
16 |
condition |
0 |
0 |
0 |
opcode |
S |
op1 |
15 |
|
|
12 |
11 |
|
|
|
7 |
6 |
5 |
4 |
3 |
|
|
0 |
dest |
sh_imm |
0 |
0 |
0 |
op2 |