Clique sobre os objetivos listados abaixo para navegar até o conteúdo desejado.

  1. Instruções de rotação
  2. Instrução ROL
  3. Instrução ROR

As instruções de rotação são utilizadas para rotacionar todos bits, em uma posição, à direita ou à esquerda de um valor em memória ou do registrador acumulador. As flags N, Z e C são afetadas por essas instruções.

Notação utilizada:
#$NN Valor hexadecimal imediato
#$NNNN; Endereço hexadecimal imediato
$NNNN Endereço hexadecimal
$NN ou h Valor hexadecimal
; Comentário
>>> Rotação para a direita
<<< Rotação para a esquerda
<- Atribuição
Acc. Acumulador
Flags
a Alterada de acordo com resultado
- Não sofre alteração
0 Sempre zero
1 Sempre um

Mais informações sobre os registradores e flags podem ser vistas em Registradores.

ROL rotaciona todos bits em uma posição à esquerda. O bit 0 recebe o valor da flag Carry e o bit 7 é deslocado para a flag Carry. Para rotacionar mais de um bit, é necessário utilizar várias instruções.

Operação
Bit 0 <- Carry
Carry <- Bit 7
A << 1
(M) << 1
F(Flags)
N: a
V: -
B: - 
D: -
Z: a
C: a
Endereçamento
Implícito/Acc. ROL
Página Zero ROL $NN
Página Zero,X ROL $NN,X
Absoluto ROL $NNNN
Absoluto,X ROL $NNNN,X
Tab.10: Flags X/C e valor 8-bits
C Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
0 1* 0 0 0 0 0 0 1
Tab.11: valor 8-bits rotacionado 1 bit à esquerda
C Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
1* 0 0 0 0 0 0 1 1
Ex:
LDA #$01
ROL

ROR rotaciona todos bits em uma posição à direita. O bit 7 recebe o valor da flag Carry e o bit 0 é deslocado para a flag Carry. Para rotacionar mais de um bit, é necessário utilizar várias instruções.

Operação
Bit 7 <- Carry
Carry <- Bit 0
A,(M) >> 1
F(Flags)
N: a
V: -
B: - 
D: -
Z: a
C: a
Endereçamento
Implícito/Acc. ROR
Página Zero ROR $NN
Página Zero,X ROR $NN,X
Absoluto ROR $NNNN
Absoluto,X ROR $NNNN,X
Tab.2: Flags X/C e valor 8-bits
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 C
1** 0 0 0 0 0 0 1* 0
Tab.3: valor 8-bits rotacionado 1 bit à direita
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 C
0 1** 0 0 0 0 0 0 1*
Ex:
LDA #$01
ROR
  1. 11/09/2024 - revisão 2 - adição de tabelas com exemplos e flags afetadas
  2. 04/10/2023 - revisão 1 - adição de links, correção em layout e navegação
  3. 28/04/2023 - versão inicial