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

  1. Tipos de dados
  2. Sinalização

Por ser um processador 8-bits, o tamanho máximo de dado "processado" possui o mesmo tamanho de 8-bits. Os registradores A,X e Y armazenam valores de 8-bits bem como registradores mapeados em memória.

A pilha do 6502 armazena somente valores de tamanho 8-bits, endereços de 16-bits são divididos em 2 bytes quando armazenados. Ver instrução Intruções > Controle de Fluxo > JSR.

Tab. 2: Dado 8-bits
Byte 1
AA
Tab. 1: Dado 16-bits
Byte 1 Byte 2
AA BB

A partir do dado de tamanho 8-bits, os seguintes tipos de dados derivados podem ser declarados e utilizados de acordo com a necessidade do software:

  1. Ponteiro: endereço 16-bits
  2. Array: sequência de bytes
  3. String: sequência de caracteres ascii
  4. Struct: contém bytes, strings, ponteiros e outros
  5. Objeto: contém bytes, strings, ponteiros e outros
Ex:
array: .db $00,$01,$02
str: .asciiz "uma string"
struct:
.db $01
.dw $FFFF

Assim como em vários processadores, existe a necessidade de manipular dados sinalizados. O bit 7 é o local que indica que um valor possui a sinalização. Tanto para valores processador no acumulador A quanto os imediatos utilizados no modo de endereçamento Relativo.

Tab. 1: Sinalização
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
1 - - - - - - -

Um valor armazenado no registrador A que possui o bit 7 com valor 1, será visto pelo processador como um valor negativo. Quando o bit 7 possuir o valor 0, será visto como um valor positivo. Essa situação pode ser vista pela flag N(Negative)

Ex:
$80 / -128 / 10000000b
$7F / 127 / 01111111b
Onde:
b: binário
$: hexadecimal
  1. 12/01/2026 - revisão 4 - Ajustes: pontuais; Adição: lista de dados derivados
  2. 12/03/2025 - revisão 3 - Remoção de parágrafo duplicado sobre pilha; Correções pontuais
  3. 11/09/2024 - revisão 2 - Adição de tabelas de dados 8/16-bits
  4. 04/10/2023 - revisão 1 - Correção em de links, navegação e erros gramaticais
  5. 28/04/2023 - versão inicial