| SHR |
| Логическо изместване надясно |
| Обща форма: |
SHR dest, counter |
| Форма |
КОП |
CPUID |
I8086 |
I80386 |
I80486 |
| 16 |
32 |
64 |
Alt |
|
I8086 |
I80386 |
I80486 |
| SHR b, 1 |
D0 /5 |
D0 /5 |
[40+bx] D0 /5 |
[F0] D8 /5 01 |
|
2/23+EA |
3/7 |
3/5 |
| SHR b, ib |
C0 /5 ib |
C0 /5 ib |
[40+bx] C0 /5 ib |
[F0] D8 /5 ib |
186+ |
|
3/7 |
3/5 |
| SHR b, CL |
D2 /5 |
D2 /5 |
[40+bx] D2 /5 |
[F0] D8 /5 C1 |
|
8+4n/28+EA+4n |
3/7 |
3/5 |
| SHR b, rb |
|
|
|
[F0] D8 /5 C0+r |
|
8+4n/28+EA+4n |
3/7 |
3/5 |
| SHR w, 1 |
D1 /5 |
66 D1 /5 |
66 [40+bx] D1 /5 |
[F0] D9 /5 01 |
|
2/23+EA |
3/7 |
3/5 |
| SHR w, ib |
C1 /5 ib |
66 C1 /5 ib |
66 [40+bx] C1 /5 ib |
[F0] D9 /5 ib |
186+ |
|
3/7 |
3/5 |
| SHR w, CL |
D3 /5 |
66 D3 /5 |
66 [40+bx] D3 /5 |
[F0] D9 /5 C1 |
|
8+4n/28+EA+4n |
3/7 |
3/5 |
| SHR w, rb |
|
|
|
[F0] D9 /5 C0+r |
|
8+4n/28+EA+4n |
3/7 |
3/5 |
| SHR d, 1 |
66 D1 /5 |
D1 /5 |
[40+bx] D1 /5 |
[F0] DA /5 01 |
|
2/23+EA |
3/7 |
3/5 |
| SHR d, ib |
66 C1 /5 ib |
C1 /5 ib |
[40+bx] C1 /5 ib |
[F0] DA /5 ib |
186+ |
|
3/7 |
3/5 |
| SHR d, CL |
66 D3 /5 |
D3 /5 |
[40+bx] D3 /5 |
[F0] DA /5 C1 |
|
8+4n/28+EA+4n |
3/7 |
3/5 |
| SHR d, rb |
|
|
|
[F0] DA /5 C0+r |
|
8+4n/28+EA+4n |
3/7 |
3/5 |
| SHR q, 1 |
|
|
48+bx D1 /5 |
[F0] DB /5 01 |
|
2/23+EA |
3/7 |
3/5 |
| SHR q, ib |
|
|
48+bx C1 /5 ib |
[F0] DB /5 ib |
186+ |
|
3/7 |
3/5 |
| SHR q, CL |
|
|
48+bx D3 /5 |
[F0] DB /5 C1 |
|
8+4n/28+EA+4n |
3/7 |
3/5 |
| SHR q, rb |
|
|
|
[F0] DB /5 C0+r |
|
8+4n/28+EA+4n |
3/7 |
3/5 |
|
| |
Инструкцията не допуска префикс LOCK, въпреки, че според общата концепция би трябвало. |
| Действие: |
 |
| Различия: |
I80386+ маскира брояча в зависимост от размера на данните (3 бита за байт, 4 бита за дума, 5 бита за двойна дума, 6 бита за четворна дума). Предишните процесори работят с всичките 8 бита. Това може да доведе до разлика в резултатите при различните процесори.
Пример: Резултатът от операция 2h SHR 21h е 1 при I80386+ и 0 при I8086. |
| Флагове |
| PE |
VM |
NT |
IOPL |
OF |
DF |
IF |
TF |
SF |
ZF |
AF |
PF |
CF |
| |
|
|
|
А? |
|
|
|
A |
A |
? |
A |
AF |
|
| |
- CF съдържа последния бит, който е изпаднал (това е булевият смисъл; аритметичният е че CF може да се разглежда като бит с тегловност -1 (стойност ½)).
- OF е валиден, ако се извърши единично изместване: установява се, ако старшите два бита преди изместването са били различни.
|
| CPU |
| 8086 |
186 |
V20 |
286 |
386 |
486 |
P |
P-P |
P-II |
MMX |
SSE |
3D! |
E64 |
| • |
• |
• |
• |
• |
• |
• |
• |
• |
|
|
|
• |
|
| |
I8086 не изпълнява формата с непосредствен операнд (КОП C0 и C1). |
| Изключения | ОБЩИ |