LSL
與 LSR
是兩種對 register 進行位元操作的指令
- LSL -> Logical Shift Left
- LSR -> Logical Shift Right
首先要知道,每個register空間的容量都只有32bits,記住這件事對於撰寫程式中將會有所益處。
MOV r1 , r0 , LSL #5
要解讀這行程式碼需要從後面開始解讀。
r0 , LSL #5
這行程式是將整個r0向左平移5格,而右邊多出來的部分會補上0。
MOV r1 , (r0 , LSL #5)
將被平移後的r0 MOV
給r1。
依此類推
MOV r1 , r0 , LSR #5
這行程式是將整個r0向右平移5格,而左邊多出來的部分會補上0。
將被平移後的r0 MOV
給r1。