Estratto del documento

Linguaggio macchina 6502

Registri di stato

  • Z: Indica se l’ultima operazione effettuata dalla ALU ha restituito 0.
  • N: Contiene bit di segno dell’ultima operazione effettuata dalla ALU.
  • V: Indica se l’operazione effettuata dalla ALU ha dato overflow.
  • C: Contiene il bit di riporto dell’ultima somma effettuata dalla ALU.

Codificare gli indirizzi

  • Little Endian: Il primo byte è il più basso (dato “FF00”, scrivo prima “00” e sotto “FF”).
  • Big Endian: Il primo byte è il più alto (dato “FF00”, scrivo prima “FF” e sotto “00”).

6502 è Little Endian.

Indirizzamento

  • LDA FF10 → Scrive il valore dell’indirizzo FF10 nel registro A.
  • LDA 10,X = LDA (10,X) → A<--mem[10+X] → Aggiunge nel registro A il valore contenuto nell’indirizzo X+10 (X è un indirizzo relativo).
  • LDA (10),X → A<--mem[mem[10]+X] → Aggiunge nel registro A… (boh).
  • LDA #5 → Serve per dichiarare un valore (in questo caso carica il valore “5” nel registro A).

Convenzioni

  • n: Valore numerico → #5 (1 byte).
  • i: Indirizzo → FF10 (2 byte).
  • z: Indirizzo di pagina 0 (1 byte).

Comandi principali

  • LDx (Load register con x=A,X,Y): Scrive un valore nel registro x, modifica i bit di stato N e Z.
  • STx (Store register): Copia il valore del registro x in una cella di memoria, non modifica bit di stato.
  • JMP (jump): Salta all’indirizzo specificato, non modifica bit di stato.
  • NOP (No operation): Non esegue nessuna azione.

Comandi aritmetici

  • ADC (Add accumulator with carry): Effettua la somma di A + operatore + bit di carry e mette il risultato in A. Modifica i bit di stato: N, Z, C, V.
  • SBC (Subtract accumulator with borrow): Effettua la somma di A + complemento dell'operatore + bit di carry e mette il risultato in A. Modifica i bit di stato: N, Z, C, V.
  • CLC (Clear carry flag): Mette a 0 il bit di carry. Modifica il bit di stato: C.
  • SEC (Set carry flag): Pone a 1 il bit di carry. Modifica il bit di stato: C.
  • INx (Incrementa registro x): Incrementa di uno il valore contenuto nel registro x. Modifica i bit di stato: N, Z.

Codici operativi comuni

Mnemonico Codice Operativo Semantica Indirizzamento
LDA #n A9 A←n Immediato
LDA i AD A←mem[i] Assoluto
LDA z A5 A←mem[z] Pagina 0
NOP EA - Implicito
STAi 8D mem[i]←A Assoluto
STAz 85 mem[z]←A Pagina 0
STA (z) 92 ←Amem[mem[z]] Indiretto pagina 0
JMP i 4C PC←i Assoluto
JMP (i) 6C PC←mem[i] Indiretto
Anteprima
Vedrai una selezione di 3 pagine su 6
Architettura Elaboratori - Linguaggio macchina 6502 Pag. 1 Architettura Elaboratori - Linguaggio macchina 6502 Pag. 2
Anteprima di 3 pagg. su 6.
Scarica il documento per vederlo tutto.
Architettura Elaboratori - Linguaggio macchina 6502 Pag. 6
1 su 6
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Mr.Al di informazioni apprese con la frequenza delle lezioni di Architettura degli elaboratori e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Parma o del prof Scienze matematiche Prof.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community