Sommario
< Home
Stampa

Esercizi assembly

Svolgere i seguenti esercizi:

1) in memoria viene memorizzato un vettore di n elementi. Indicare graficamente l’area di memoria allocata con n scelto a piacere (n>5), ed il numero di registri necessari per identificare l’array.

2) In memoria sono rappresentati due array di elementi di lunghezza 5, il primo memorizzato all’indirizzo #1000 e il secondo all’indirizzo #2000.  Scrivere un programma assembly che, utilizzando i registri, verifichi che i valori dei due array siano uguali.

3) Scrivere un programma che calcola la somma del valore contenuto nei registri $r0, $r1, $r2, nel registro $r9. Il programma deve prevede un sottoprogramma che esegue la somma di 3 valori. 

2) Dato un vettore di n elementi memorizzato in memoria all’indirizzo x, scrivere una routine assembler che copi tutti gli elementi dell’array in un’altra area di memoria, definita dall’indirizzo y. Indicare i registri utilizzati e il loro scopo.

3) Dato un numero n ed un numero k, scrivere la procedura che calcola nk.

4) In memoria è memorizzato il PIN corretto di sblocco (4 cifre) e all’indirizzo x. L’utente inserisce nel buffer un PIN (l’indirizzo iniziale del buffer di input è #6000). Scrivere il codice che verifica lo sblocco e restituisce 1 all’indirizzo #7000 se il codice è giusto, oppure 0 se sbagliato. 

6) Scrivere un programma che dati due numeri presenti in memoria agli indirizzi #1000 e e #2000 li inverte.

7) Scrivere un programma che dato un array in memoria alla posizione 3000 di lunghezza contenuta nel registro $r0, lo inverta.