-
Home
-
Programmazione
-
- C/C++: introduzione semplice
- C/C++: introduzione completa
- if/while ed espressioni logiche
- Costrutti del linguaggio
- Funzioni matematiche
- Array e matrici
- Puntatori
- Funzioni
- Manipolazione di stringhe
- Funzioni ricorsive
- Visibilità delle variabili
- Algoritmi di ordinamento in C/C++
- Gestione files
- Struct
- Liste concatenate
- Manipolazione dati in C++
- Mostra lezioni rimanenti1 Chiudi sezione
-
- Introduzione a Javascript
- Manipolazione dei dati
- Javascript nel browser
- Evento, azione, reazione
- Funzioni
- Javascript asincrono
- AJAX
- Una applicazione Javascript completa
- Debugging
- Canvas
- Oggetti e classi
- Promise
- Componenti
- Creare una Web Application
- Single Page Application
- Comunicazione tra componenti
- Mostra lezioni rimanenti1 Chiudi sezione
-
Progettazione
-
Tecnologie
-
Informatica
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.