|
Laboratorio
di informatica I: architettura
Programmazione
Assembler MC68000
Il progetto consiste nel creare in linguaggio
Assembler programmi atti a risolvere i seguenti problemi:
-
Scrivere un
programma che, date due longword nellindirizzo di memoria 100 e 104
(da interpretarsi come interi senza segno) ne calcoli il prodotto nella doppia
longword dindirizzo 108.
-
Scrivere un
programma che riordini i 100 byte (da intendersi come interi in complemento
a due) presenti a partire dalle locazione di memoria 100 fino alla 199.
-
Scrivere un programma
che calcoli nella word 202 il numero di occorrenze del byte 200 nella stringa
di 800 bit contenuta nelle locazioni di memoria che vanno dalla word 100
alla 199.
-
Siano
A e B due matrici quadrate n x m. Scrivere un programma che calcoli il prodotto
C di A per B dove lelemento Ci,j (riga i e colonna j) è
dato da:

dove le matrici
A e B sono residenti in memoria ed ogni elemento è rappresentato da una
word. La matrice A è memorizzata a partire dalla locazione 300, mentre la
B dalla 500. La memorizzazione avviene a partire dal primo elemento "per
riga", ad esempio nelle prime dieci locazioni di memoria saranno presenti
A1,1, ... , A1,10 e cosi via fino al termine della
matrice, mentre la matrice C, contenente il risultato, viene memorizzata
dallalgoritmo a partire dalla locazione 700.
- Siano W1,W2
,
Wn n word diverse da 0. Una word W per cui:
- W AND Wi diverso da 0,
1<= i <= n
- per ogni W che si ottiene ponendo
a 0 uno dei bit a 1 di W esiste i, 1 <= i <= n per cui W AND
Wi = 0
è detta ricoprimento
minimale di W1,W2
, Wn.
Scrivere un programma
che calcoli nella word 220 il ricoprimento minimale delle 10 word memorizzate
nelle locazioni da 200 a 219.
-
Scrivere un programma
che, dati due numeri positivi nelle locazioni 201 e 203, ne calcola il massimo
comun divisore nella locazione 205 e il minimo comune multiplo nella word
206.
Per scaricare il
codice sorgente dei vari esercizi e la relazione presentata in formato Word
'97, cliccare sull'immagine qui sotto:

Un particolare ringraziamento ai colleghi
con i quali ho condiviso questo lavoro: Giordano Bigarelli
e Cristina Bochicchio.
Indietro
|