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
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

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

←A

mem[mem[z]]

STA (z) 92 Indiretto pagina 0

JMP i 4C PC←i Assoluto

JMP (i) 6C PC←mem[i] Indiretto

Operazioni Aritmetiche comuni:

Mnemonico Codice Operativo Semantica Indirizzamento

ADC #n 69 A←A+n+C Immediato

ADC i 6D A←A+mem[i]+C Assoluto

ADC z 65 A←A+mem[z]+C Pagina 0

CLC 18 C←0 Implicito

INA 1A A←A+1 Implicito

Esercizi(6502–(Spiegati

Considerazioni(generali:

!"(se"non"speci+icato)"la"pagina"01"è"occupata"dal"programma"di"partenza,"la"pagina"02"è"

occupata"per"far"funzionare"il"monitor,"si"incomincia"quindi"col"programma"dalla"pagina"03"

all'indirizzo"“0300”"(la"ROM"è"nelle"ultime"pagine)

!"(se"non"speci+icato)"le"variabili"del"programma"vanno"messe"in"fondo"alla"pagina"utilizzata."

Se"si"utilizza"la"pagina"03,"le"variabili"vanno"messe"in"“03FF”"poi"in"“03FE”"etc...)

ES:(1)(Somma(fra(numeri(

Assembly

I LDA 03FF Carico nel registro A il valore preso dall'indirizzo “03FF”

CLC Metto a zero il flag C (carry) per essere sicuro che non sia 1

Sommo il valore in “03FE” con il valore contenuto nel registro A e con

ADC 03FE il C. Metto il risultato nel registro A

STA 03FD Prendo il valore dal registro A e lo metto in 03FD

L JMP L Salta all'indirizzo L (Termina il programma)

0300 AD LDA

0301 FF 03FF

0302 03

0303 18 CLC

0304 60 ADC

0305 FE 03FE

0306 03

0307 8D STA

0308 FD 03FD

0309 03

030A 4C JMP

030B 0A 030A

030C 03

ES:(2)(Valore(assoluto

Assembly

I LDA 03FF Carico nel registro A il valore preso dall'indirizzo “03FF”

BPL P Salta a P quando il valore contenuto in A è positivo (bit più significativo = 0)

EOR #FF EXOR di A con FF → restituisce il complemento a 2 del valore in A

INA Aumento di 1 il valore in A

P STA 03FE Carico il valore da “03FE” nel registro A

E BRA E Salta all'indirizzo E (simile a JMP, ma consuma meno risorse)

Linguaggio macchina

0300 AD LDA

0301 FF 03FF

0302 03

0303 10 BPL

0304 03 08 – 05 = 03 (08 punto in cui saltare, 05 punto da cui parto)

0305 49 EOR

0306 FF #FF

0307 1A INA

0308 8D STA

0309 FE 03FE

030A 03

030B 80 BRA

030C FE FE = -2 → il BRA salterà in dietro di 2 unità ( 030D – 2 = 030B )

030D

ES:(3)

Assembly

I LDA FF00 Leggo il numero k nella cella “0100”

BMI N Se il valore in A è negativo, salta ad N ( negativo = il bit più significativo è 1 )

ASL Shift left → moltiplica per 2 il valore in A

CLC Svuota il C (Carry = 0)

ADL #5 Somma il valore in A, 5 e il C → mette il risultato in A

STA FF10 Salva il risultato in FF10

RTS Ritorna al sottoprogramma (continua con altre istruzioni)

N ASL

CLC

ADL #5

EOR #FF Applica il complemento a 2 in A

CLC

ADC #1 Somma 1 al valore in A

STA FF10

RTS

Linguaggio macchina

0100 AD LDA

0101 00 FF00

0102 FF

0103 30 BMI

0104 08 0D – 05 = 08 (0D = 13, 0D arrivo, 05 partenza)

0105 0A ASL

0106 18 CLC

0107 69 ADL

0108 05 #5

0109 8D STA

010A 10 FF10

010B FF

010C 60 RTS

010D 0A ASL

010E 18 CLC

010F 69 ADL

0110 05 #5

0111 49 STA

0112 FF #FF

0113 18 CLC

0114 69 ADC

0115 01 #1

0116 8D STA

0117 10 FF10

0118 FF

0119 60 RTS

Dettagli
Publisher
A.A. 2015-2016
6 pagine
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.