Assembly x86

Assembly x86 (19)

Un altro esercizio riepilogativo con diversi elementi visti. Questa volta usiamo un ciclo per leggere in input dei valori che poi sommiamo e stampiamo. Vediamo come.

Lunedì, 03 Febbraio 2020 09:58

Esempio 15: Il ciclo while con assembly

Scritto da

Abbiamo visto come il costrutto if/else si traduca in assembly con una serie di salti al punto corretto di codice da eseguire in base alla condizione valutata. Il ciclo in realtà è molto simile come approccio, tanto che non esiste una parola while vera e propria ma un if else che risalta su se stesso! Vediamo un esempio.

Martedì, 21 Gennaio 2020 09:18

Esempio 14: if else in assembly

Scritto da

Vediamo più nel dettaglio  il costrutto if/else in assembly e approfondiamo il concetto di "salto"

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.

Sabato, 21 Ottobre 2017 20:34

Scrivere il primo programma assembly

Scritto da

Scrivere un programmino assembly è molto semplice, come detto basterebbe un semplice editor di testo con cui salvare i file.

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"

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.

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.

L'istruzione XCGH è molto utili per scambiare dati tra variabili. L'unica accortezza è che deve sempre passare da registri per effettuare l'operazione.

Un semplice esercizio che fa lo "swap", scambia due variabili tra loro. L'esercizio è un classico tra quelli fatti con linguaggi ad alto livello. Vediamo come si complica con la gestione diretta attraverso i registri della nostra CPU. 

Pagina 1 di 2
Joomla SEF URLs by Artio