Objetivos
Modos de Operação
O 65816 possui 2 modos de operação: modo nativo e modo emulação. Esses modos são
configurados pela flag lógica chamada E que afeta os registradores de dados, indexação e
a memória endereçavel.
Tab. 1: Modos
| E |
Modo |
RAM |
| 0 |
Nativo |
16MB |
| 1 |
Emulação |
64K |
Modo Nativo
No modo Nativo, as flags M(Memory/Accumulator Select) e
X(Index Register Select) controlam o tamanho em bits dos registradores
para uso como mostrado na tabela abaixo:
Tab. 2: Registradores e Modos
| M |
X |
Acumulador |
Indexador |
| 0 |
0 |
16-bits(word) |
16-bits(word) |
| 0 |
1 |
16-bits(word) |
8-bits(byte) |
| 1 |
0 |
8-bits(byte) |
16-bits(word) |
| 1 |
1 |
8-bits(byte) |
8-bits(byte) |
Esse modo nativo é configurado automaticamente no hard reset do processador. A alteração
do modo deve ser feita nas primeiras linhas de código.
Tanto dados do tipo byte como word podem ser lidos/escritos de acordo com a configuração de
M e acessados por X/Y pela configuração de X.
Modo Emulação
No modo Emulação, o 65816 atua ou opera em modo compatibilidade com seus processadores
antecessores 65(C)02 para que seja
possível executar softwares legados.
Setando as flags: E, M e X
A configuração da flag E é feita utilizando a instrução XCE que realiza a permuta
entre as flags Carry e E. Como a flag E é lógica, não pode ser testada.
Ex:
SEC ; Carry <- 1
XCE ; E <-> Carry
A configuração das flags M ou X é feita utilizando as instruções REP e SEP.
A primeira reseta os bits do registrador processor status(PS) enquanto a segunda seta os
bits deste registrador. Tanto para o set quanto reset, um valor imediato é usado
como máscara.
Ex:
;m=0 x=0
SEP $30 ; %00110000b
;m=1 e x=1
;m=1 x=1
REP $30 ; %00110000b
;m=0 e x=0
De acordo com a leitura do tipo de dado,
as flags M e X devem ser configuradas corretamente para evitar erros no
processamento das informações.
Histórico de atualizações
- 24/02/2026 - versão inicial: Modos de Operação e Setando flags
Os cursos oferecidos nesta página são cursos fornecidos por parceiros. Ao comprar um curso clicando
em seu banner, você está ajudando a manter o projeto TutorialDev vivo. Os sites dos cursos parceiros utilizam cookies.