ASR – Deslocamento aritmética direita
Descrição: Muda todos os bits num registrador para a direita a
quantidade de bits especificados pelos cinco bits menos
significativos do Ry ou um imediatos mantendo o sinal.
Operação:
I.
Rd ← ASR(Rx, Ry[4:0]);
II.
Rd ←
ASR(Rd, sa5);
III. Rd ←
ASR(Rs, sa5);
Sintaxe:
I.
asr
Rd, Rx, Ry
II.
asr
Rd, sa
III.
asr
Rd, Rs, sa
Operandos:
I.
d, x, y ∈ {0, 1, ..., 15}
II.
d ∈
{0, 1, ..., 15}
sa ∈
{0, 1, ..., 31}
III.
{d,s} ∈ {0, 1, ..., 15}
sa ∈
{0, 1, ..., 31}
LSL – Deslocamento lógico à esquerda
Descrição: desloca todos os bits à esquerda de um registrador
especificado. O valor do deslocamento pode ser especificado por um
registrador ou um valor imediato. Zeros são deslocadas para os bit
menos significativo. O último bit que é deslocada para fora é
colocado em carry.
Operação:
I. Rd ← LSL(Rx, Ry[4:0]);
II. Rd ←
LSL(Rd, sa5);
III. Rd ←
LSL(Rs, sa5);
Sintaxe:
I. lsl Rd, Rx, Ry
II. lsl
Rd, sa
III. lsl
Rd, Rs, sa
Operandos:
I. {d, x, y} ∈ {0, 1, ..., 15}
II. d ∈
{0, 1, ..., 15} / sa ∈ {0, 1, ..., 31}
III.
{d,s} ∈ {0, 1, ..., 15} / sa ∈ {0, 1, ..., 31}
LSR – deslocamento lógico à direito
Descrição: deslocamento à direita todos os bits do registrador
especificado. O valor do deslocamento pode ser especificado por um
registrador ou um valor imediato. Zeros são deslocados para o bit
mais significativo.
Operação:
I. Rd ← LSR(Rx, Ry[4:0]);
II.
Rd ←
LSR(Rd, sa5);
III. Rd ←
LSR(Rs, sa5);
Sintaxe:
I.
lsr
Rd, Rx, Ry
II.
lsr
Rd, sa
III. lsr
Rd, Rs, sa
Operandos:
I. {d, x, y} ∈ {0, 1, ..., 15}
II.
d ∈
{0, 1, ..., 15}
/ sa ∈ {0, 1, ..., 31}
III.
{d,s} ∈ {0, 1, ..., 15}
/ sa ∈ {0, 1, ..., 31}
ROL – rotacional para a esquerda através transporte
Descrição: Desloca todos os bits do registrador Rd para a esquerda.
A bandeira C é deslocado para a LSB. O MSB é deslocado para a
bandeira C.
Operação:
I. C ́ ← Rd[31];
Rd ← Rd
<< 1;
Rd[0] ←
C;
C ← C
́;
Sintaxe:
I.
rol Rd
Operandos:
I. d ∈ {0, 1, ..., 15}
ROR – rotaciona para a direita através transporte
Descrição: Deslocar todos os bits em Rd um lugar para a direita. A
bandeira C é deslocada para o MSB. A LSB é deslocado para a
bandeira C.
Operação:
I. C ́ ← Rd[0];
Rd ← Rd
>> 1;
Rd[31] ←
C;
C ← C
́;
Sintaxe:
I.
ror Rd
Operandos:
I.
d ∈ {0, 1, ..., 15}
Nenhum comentário:
Postar um comentário