LEITURA RECOMENDADA
6502
O 6502(sixty-five-oh-two) é um processador de 8-bits criado por Chuck Peddle e lançado em 1975 para MOS Technology.
Muito utilizado nas décadas de 70/80 em computadores, máquinas de arcade e video games.
TÓPICOS
Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.
ARQUITETURA
Nesta parte do tutorial vamos entender os conceitos básicos do processador em relação aos seus registradores, pilha,
tipos de dados, organização memória entres outros. O conhecimento adquirido aqui é importante para o seguimento do tutorial.
Nesta parte do tutorial vamos ter conhecimento básico sobre o 6502 como características, uso e processadores variantes/derivados.
Quero aprender »
O 6502 possue 6 registradores para armazenar informações. Nesta parte do tutorial vamos estar quais são os
registradores e seus usos gerais ou específicos.
Quero aprender »
Para a manipalação de dados em nossos programas, precisamos ter conhecido do tamanho dos dados utilizados pelo 6502 bem suas características.
Quero aprender »
Com apenas 64KB de mémoria precisamos ter conhecimento sobre como os dados são armazenados, ter conhecimento
sobre páginação, bancos de memória e outros.
Quero aprender »
Diferente de outros processadores, a Pilha do 6502 possui suas particularidades que serão estudadas nesta
parte do tutorial além de seu funcinamento básico.
Quero aprender »
Para realizar movimentação de dados em memória, precisamos entender as modos de endereçamento que o 6502 nos fornece
para o acesso aos nossos dados.
Quero aprender »
As interruções são muito importantes para manipulação de dados vindos de dispostivos ligados ao 6502. Sendo assim,
precisamos entender o funcionamento do VDI do 6502.
Quero aprender »
As instruções no 6502 são formadas por bytes sequências. Cada instrução possui seu tamanho em bytes de acordo
com os modos de endereçamento.
Quero aprender »
Outros assuntos relacionados ao 6502, como bugs e observações, que não se encaixam nos tópicos vistos serão
abordados nesta parte do tutorial.
Quero aprender »
INSTRUÇÕES
O 6502 possui ao todos 56 instruções para a criação de softwares. Abaixo todas as instruções estão separadas por grupo e contendo a descrição, endereçamento e exemplos básicos de uso.
Instruções não documentadas oficialmente não serão estudadas neste tutorial.
Com as instruções de movimentação podemos movimentar entre registradores e memória.
As instruções LDA, LDX, LDY, STA STX e STY serão vistas nesta parte parte do tutorial.
Quero aprender »
As instruções de tranferência são responsáveis para movimentação de dados entre registradores. Isso é feito
utilizando as instruções TAX, TAY, TSX, TXA, TXS e TYA.
Quero aprender »
A pilha é utilizada para backup de dados, passagem de parâmetros e outros.
Para isso, as instruções conhecidas como PUSH e PULL serão estudas nesta parte.
Quero aprender »
Com as instruções de deslocamento podemos movimentar os bits à direita ou esquerda do registrador A ou valor em memória.
Para isso vamos estudar as instruções ASL e LSR.
Quero aprender »
As instruções de rotação movimentam os bits à direita ou esquerda do registrador A ou valor em memória de
forma circular. As instruções ROL e ROR serão estudadas nesta parte.
Quero aprender »
As instruções bit-a-bit são responsáveis por "setar" , "resetar" e testar bits entre o registradores A
e um valores de memória utilizando as instruções AND, OR, XOR e BIT.
Quero aprender »
O 6502 possui apenas instruções de adição e subtração utilizadas para os cálculos aritméticos. As instruções ADC e SBC
são utilizadas para gerar todas os outros cálculos.
Quero aprender »
As instruções de comparação são utilizadas na tomada de decição como nos comandos if/else feitos em linguagens de
alto nível. Instruções CMP, CPX e CPY serão estudadas.
Quero aprender »
Com as intruções de incremento podemos adicionar o o valor de um registrador ou um valor de memória em uma unidade.
Serão estudadas as instruções INC, INX e INY.
Quero aprender »
Com as intruções de decremento podemos subtrair o valor de um registrador ou um valor de memória em uma unidade.
Serão estudadas as instruções DEC, DEX e DEY.
Quero aprender »
O controle de fluxo no 6502 são feitos pelas instruções de desvio de execução de código. As instruções responsáveis por isso
são JUMP, Branch, JSR, RET e RTI que serão vistas aqui.
Quero aprender »
Responsáveís por "setar" e "resetar" as flags individualmente, são utilizadas em conjunto outras instruções.
CLI, CLC, CLD, CLV, SEC, SED, SEI serão as instruções estudadas.
Quero aprender »
Todas as outras instruções do procesador 6502 que não se encaixam nos grupos estudados anteriormente serão
estudadas nesta parte do tutorial.
Quero aprender »
PROGRAMAÇÃO
Nesta parte do tutorial vamos abordar a programação utilizando o 6502. Apenas os conceitos básicos sobre o assunto serão abordados.
Ao longo dos tópicos abaixo será utilizado um assembler online para reduzir a complexidade de instalação de um ambiente.
Antes de iniciarmos o tutorial, é sempre necessário dicutirmos alguns detalhes sobre a tópicos, ferramentas
o outras itens.
Quero aprender »
Como em toda a linguagem de programação, vamos aprender a declara e atribuir valores a variáveis e constantes.
Quero aprender »
Nesta parte, vamos ver como podemos tomar decisões na execução de nossos programas utilizando as flags do 6502.
Quero aprender »
Vamos ver como funcionam os famosos loops em baixo nível. As intruções aprendidas em Decisão também
serão utilizadas nesta parte.
Quero aprender »
Assim como em linguagens de alto nível, vamos ver como são criadas e invocadas as funções utilizando o 6502.
Quero aprender »
Com as instruções aritméticas básicas, vamos aprender a somar, substrair, divir e multiplicar valores
nos registradores.
Quero aprender »
Aqui vamos aprender como fazer backup de nossos registradores, recuperar e passar parâmetros utilizando a pilha.
Quero aprender »
Nesta parte, vamos ver a como definir nosso VDI e também ver o básico sobre o tratamento de
interrupções NMI, IRQ e BRK.
Quero aprender »
Vamos aprender a como setar, resetar, inverter bits ou outros utiizando as instruções básicas de bit-a-bit.
Quero aprender »
Nesta parte do tutorial, vamos ver o básiso sobre declaração de arrays e acesso aos seus elementos.
Quero aprender »
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.