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

  1. Instruções de Deslocamento
  2. Instrução ASL
  3. Instrução LSR

As instruções de deslocamento são utilizadas para deslocar todos bits em uma posição à direita ou à esquerda de uma valor de memória ou acumulador. Apenas 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
| Concatenação
>> Deslocalmento para a direita
<< Deslocalmento 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.

A instrução ASL desloca todos bits em uma posição à esquerda. O bit 0 recebe o valor 0 e o Bit 7 é armazenado na flag Carry. Para deslocar mais de um bit, é necessário utilizar várias instruções.

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

A instrução LSR desloca todos bits em uma posição à direita. O Bit 7 recebe o valor 0 e o bit 0 é armazenado na flag Carry. Para deslocar mais de um bit, é necessário utilizar várias instruções.

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