PDA

Visualizza la versione completa : [ASSEMBLER] Esercizio con sottoprogrammi per operazioni


Vincenzoflamini
09-02-2010, 20:49
Ragazzi potreste aiutarmi a svolgere questi esercizi:
Scrivere i sottoprogramma assembly che eseguono le operazioni indicate di seguito:
1- Contare quanti numeri maggiori di 150 sono memorizzati nelle locazioni di memoria da
$8100 a $8110
2- Se il contenuto della memoria $8200 è = $2f allora salta all’indirizzo $8100

oregon
09-02-2010, 21:03
Cosa non sai fare ?

Prova a postare una prova di codice ...

Vincenzoflamini
09-02-2010, 21:17
in realtà mi manca la pratica , ho studiato la teoria del Motorola Mc68000 e dovrei scrivere la porzione di codice relativa a questi esercizi.
Nonostante ho trattato i modi di indirizzamento , opcode, registri ecc.. trovo ancora dificoltà a scrivere un programma assembler ... quindi cercavo di capire quanto postato magari da qlcn che saprebbe svolgerlo sarebbe un inizio!

oregon
09-02-2010, 21:18
Ma purtroppo qui non si svolgono completamente i compiti ...

Vincenzoflamini
09-02-2010, 23:33
Originariamente inviato da oregon
Cosa non sai fare ?

Prova a postare una prova di codice ...

Scrivere i sottoprogramma assembly che eseguono le operazioni indicate di seguito:
1- Contare quanti numeri maggiori di 150 sono memorizzati nelle locazioni di memoria da
$8100 a $8110
2- Se il contenuto della memoria $8200 è = $2f allora salta all’indirizzo $8100

provo a scrivere l'esercizio 1
ORG $8000
START LEA X,A0
LOOP MOVE (A0)+,D0
CMP #150,D0
BLT CHECK *vai a check se è minore e ripeti l'operazione
ADD #1,COUNT *aggiungo un contatore x ricordarmi dei numeri maggiori di 150
CHECK CMP ??? * qui dovrei rifare il compare non so come andare avanti col ciclo
STOP #$2700

ORG $8100
X DC 100,200,300,0,50,80,75,40,210,240<
COUNT DC 0
END START

provo a scrivere l'esercizio 2

ORG $8000
START LEA $8200,A0
CMP $2f,(A0)
BEQ $8120
STOP #$2700 * qualcuno potrebbe dirmi xke è fisso questo $2700 ?

ORG $8120
X DC $2f

Loading