Vediamo più nel dettaglio il costrutto if/else in assembly e approfondiamo il concetto di “salto”
assembly
Esempio 12: somma di due numeri letti in input
Vista la stampa, vediamo come si fa la fase di input da tastiera. Anche qui, c’è una combinazione fissa di valore/registro da impostare per “richiedere” alla CPU di procedere ad una operazione specifica di lettura.
Esempio 11: esercizio stampa Hello World a singoli caratteri
Visto come stampare un carattere o numero, passiamo ad una versione più complessa di stampa, con una intera parola. In questo caso stampiamo il più classico degli esempi “Hello World”
Esempio 10: stampa un numero o carattere
Vediamo come stampare un numero o un carattere a video. Certamente non è così semplice e banale come i ben noti cin>> e cout<<, ma utilizza delle istruzioni precise forzando una combinazione valore/registro specifico per “chiedere” alla cpu di procedere all’operazione di stampa.
Esempio 08: esercizio complemento a 2 con NOT e INC
Un esempio di utilizzo di complemento a due per effettuare la sottrazione da due parole, in questo caso proposto di 8 bit. Sfruttiamo le funzioni NOT ed INC.
Esempio 07: scambiare variabili con XCHG
L’istruzione XCHG è molto utili per scambiare dati tra variabili. L’unica accortezza è che deve sempre passare da registri per effettuare l’operazione. Abbiamo visto il modo più semplice per farlo con tre registri in questo articolo.
Esempio 03: somma di due numeri con ADD
Un semplice esempio per capire come si esegue la somma di due numeri. L’esempio aiuta a capire l’opCode ADD ma anche come l’assembly ragioni a basso livello tra assegnazione e somma.
Esempio 01: le variabili
Un altro semplice esempio in cui dichiariamo una variabile con un valore iniziale per spostarla quindi in un registro dove potremo usarla. In assembly le operazioni devono essere eseguite esclusivamente attraverso i registri!
Scrivere il primo programma assembly
Scrivere un programmino assembly è molto semplice, come detto basterebbe un semplice editor di testo con cui salvare i file.
Introduzione all’Assembly x8086 a 16bit e 32bit
Una breve introduzione sul linguaggio assemblativo e le caratteristiche principali da conoscere per affrontare semplici programmi