Assembly 8086

Raccolta di esercizi per lavorare con il linguaggio Assembly 8086.

Esercizio 1: Primo programmino in Assembly (utilizzo del registro AX, istruzioni MOV, INC, DEC, ADD, SUB)

Scrivi un programma Assembly che esegua le seguenti operazioni:

Consegnare in un file .doc (usare un elaboratore  di testi come Microsoft Word o Google documenti) l'istruzione scritta in linguaggio Assembly e lo screenshot che mostra il contenuto di AX dopo ogni istruzione. 

Inoltre, consegnare il file .asm contenente il codice Assembly 8086.

Esercizio 2: Un po' di conversioni (utilizzo del registro AX, istruzioni MOV, INC, DEC, ADD, SUB)

Scrivere un programma in Assembly 8086 indicando tutti i valori in esadecimale. Quindi se necessario prima di scrivere il codice effettuare le opportune conversioni

Il programma deve essere in grado di: 

Ricorda che se un valore esadecimale inizia con una "lettera" oltre ad essere seguito dal simbolo h, deve essere preceduto dalla cifra 0. Ad esempio nel programma scriverai 0A2h e non A2h.

Consegnare il file .asm contenente il codice Assembly 8086. Il valore contenuto nel registro AX dopo aver eseguito le 10 istruzioni richieste dovrebbe essere 0286h.

Esercizio 3: Primi esempi con il registro base (utilizzo del registro BX, SI)

Scrivere un programma in Assembly 8086 indicando tutti i valori in esadecimale. Quindi se necessario prima di scrivere il codice effettuare le opportune conversioni

Il programma deve essere in grado di: 

Consegnare il file .asm contenente il codice Assembly 8086.

Esercizio 4: Primi esempi con il registro contatore  (utilizzo del registro CX)

Scrivere un programma in Assembly 8086 indicando tutti i valori in esadecimale. Quindi se necessario prima di scrivere il codice effettuare le opportune conversioni

Il programma deve essere in grado di: 

Consegnare il file .asm contenente il codice Assembly 8086. Quale è il contenuto del registro AX al termine dei due cicli?

Esercizio 5: lo SWAP  (senza uso dell'istruzione XCHG)

Scrivere un programma in Assembly 8086 indicando tutti i valori in esadecimale. Quindi se necessario prima di scrivere il codice effettuare le opportune conversioni

Il programma deve essere in grado di: 

Consegnare il file .asm contenente il codice Assembly 8086.  

Esercizio 6: il punteggio della squadra (variabili e cicli)

Scrivere un programma in Assembly 8086 che sia in grado di calcolare il numero di partite giocate ed il punteggio finale di una squadra di calcio conoscendo il numero di partite vinte, pareggiate e perse. Ricorda che nel calcio una squadra ottiene 3 punti per ogni partita vinta, 1 per ogni partita pareggiata e 0 punti per ogni partita persa. 

Il programma deve:

Consegnare il file .asm contenente il codice Assembly 8086.  

Esercizio 7: La media dei voti (DIV)

Scrivere un programma in Assembly 8086 che calcoli la media di tre voti memorizzati in variabili a 8 bit.

Consegna: inviare il file .asm contenente il codice Assembly 8086.

Esercizio 8: Area del triangolo (MUL e DIV)

Scrivere un programma in Assembly 8086 che partendo dai valori di base e altezza sia in grado di calcolare l'area di un triangolo..

Consegna: inviare il file .asm contenente il codice Assembly 8086.

Esercizio 9: Il quadrato (MUL e DIV)

Scrivere un programma in Assembly 8086 che calcola il lato e l'area di un quadrato conoscendo il valore del perimetro:

Consegna: inviare il file .asm contenente il codice Assembly 8086.

Esercizio 10: Conversione da ore a  minuti e secondi 

Scrivere un programma in Assembly 8086 che date le tre componenti di un orario sia in grado di indicare il numero di secondi trascorsi dalla mezzanotte.

Ad esempio se ore vale 02h, minuti vale 03h e secondi vale 05h: ne segue che i secondiTot trascorsi sono 7385.

Cosa succede ad esempio se scegli come orario le 23:59:59? Ossia ore 17h, minuti 3Bh e secondi 3Bh?

Consegna: inviare il file .asm contenente il codice Assembly 8086.

Esercizio 11:  Studente maggiorenne (Selezione semplice CMP e salti condizionati)

Scrivere un programma in Assembly 8086 che sia in grado di indicare se uno studente è maggiorenne oppure no.

Consegna: inviare il file .asm contenente il codice Assembly 8086.

Esercizio 12Voto non sufficiente (Selezione semplice CMP e salti condizionati)

Scrivere un programma in Assembly 8086 che sia in grado di indicare se un voto ricevuto da uno studente sia insufficiente.

Consegna: inviare il file .asm contenente il codice Assembly 8086.

Esercizio 13Valore diverso da zero (Selezione semplice CMP e salti condizionati)

Scrivere un programma in Assembly 8086 che sia in grado di verificare se il contenuto dei registri AX, BX, CX, e DX è diverso da zero. In caso affermativo si azzera il contenuto di tale registro. 

Consegna: inviare il file .asm contenente il codice Assembly 8086.