ASR dest, source
其中:
dest |
包含運算元的暫存器,也是目標暫存器 |
source |
包含移位量的暫存器 |
此格式的 ASR 指令執行右移,dest 中的位按照 source 中指定的數量向右移位,並將結果儲存到 dest。結果表示將暫存器中的有符號值除以 2 的可變次冪。
無運算元。
N |
Z |
C |
V |
Q |
S |
I |
F |
T |
M |
>M |
M |
|
|
|
|
|
|
15 |
14 |
>13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
|
3 |
2 |
|
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
source |
dest |
1 ;@.text
2 ;@.globl funasr
3 ;@.align 0
4 ;
5 AREA example,CODE,READONLY
6 CODE16
7
8 label1
9 ; Arithmetic Shift Right value in R3
10 ; 12 times.The 12 is put in R2
11 ; Put result back to R3
12 00000000 F7C2 MOV R2, #OxC
13 00000002 4113 ASR R3, R2