Come programmare in Assembler

Tramite: O2O 20/10/2018
Difficoltà: media
17

Introduzione

L'Assembler, o Assembly, è un linguaggio di programmazione a basso livello, perciò molto più complicato da utilizzare per il programmatore, in quanto, per poter effettuare elaborazioni, elementari per i linguaggi ad alto livello, è necessaria una serie di operazioni, riguardanti la gestione dello stato dei registri. Il linguaggio assembly è un linguaggio di programmazione di basso livello per un computer o un altro dispositivo programmabile specifico per una particolare architettura di computer, in contrasto con la maggior parte dei linguaggi di programmazione di alto livello, che sono generalmente portatili su più sistemi. Il linguaggio assembly viene convertito in codice macchina eseguibile da un programma di utilità denominato assembly come NASM, MASM, ecc. Nei passi seguenti verranno chiariti i concetti di base della programmazione in Assembler e verrà illustrato come programmare alcune semplici applicazioni Assembly per qualunque CPU.

27

Occorrente

  • CPU
  • Computer
  • Connessione Internet
  • Assembler
37

Il linguaggio

Ogni personal computer ha un microprocessore che gestisce le attività aritmetiche, logiche e di controllo del computer. Ogni famiglia di processori ha il proprio set di istruzioni per la gestione di varie operazioni come ottenere input da tastiera, visualizzare informazioni sullo schermo ed eseguire vari altri lavori. Queste istruzioni sono chiamate "istruzioni sulla lingua della macchina".
Un processore comprende solo le istruzioni del linguaggio macchina, che sono stringhe di 1 e 0. Tuttavia, il linguaggio macchina è troppo oscuro e complesso per l'utilizzo nello sviluppo del software. Quindi, il linguaggio di assemblaggio di basso livello è progettato per una specifica famiglia di processori che rappresenta varie istruzioni nel codice simbolico e una forma più comprensibile. Innanzitutto, essendo un linguaggio di basso livello, è strettamente legato al tipo di macchina su cui viene eseguito il codice. Ciò significa che l'Assembler per un tipo di CPU è diverso da quello di un altro. Uno dei registri fondamentali per la programmazione in Assembler è il PC, ovvero Program Counter, contenente il puntatore alla prossima istruzione da eseguire.

47

I registri

Più precisamente, l'indirizzo puntato dal Program Counter non è propriamente quello dell'istruzione successiva da eseguire, ma dell'istruzione da prelevare in memoria. Un altro registro importante in Assembler è lo Status Register, che mantiene lo stato della CPU, in modalità utente o amministratore. Altri registri particolari sono i registri General Purpose, che servono semplicemente a mantenere i valori utili per l'elaborazione. Fondamentali, specie nelle operazioni cicliche, risultano essere i registri dei flag, che mantengono un particolare stato del processore, e si riassumono essenzialmente in registro dello zero, se lo stato di un'istruzione ha prodotto risultato 0, oppure il registro negative, che va ad uno, se il risultato di un'operazione ha dato numero negativo. Ogni istruzione può cambiare lo stato dei registri di flag, di conseguenza è importante tenerlo a mente, perché essi vengono utilizzati specialmente per i cicli e i salti condizionati.

Continua la lettura
57

La posizione

Ogni sistema numerico usa la notazione posizionale, cioè ogni posizione in cui una cifra è scritta ha un diverso valore posizionale. Ogni posizione è la potenza della base, che è 2 per il sistema di numeri binari, e questi poteri iniziano da 0 e aumentano di 1. I salti sono le componenti fondamentali di un programma Assembler, perché permettono di passare interi blocchi di istruzioni, se si verificano determinati stati dei registri di flag. Questi risultano particolarmente importanti per implementare gruppi di istruzioni cicliche, per le quali è necessario utilizzare un registro d'appoggio, in cui porre il numero di ripetizioni da fare. È importante ricordare che, quando arriva un'interruzione, si deve salvare lo stato dell'elaborazione, conservando i valori dei registri mediante inserimento degli stessi sullo stack, effettuando operazioni di up e down.

67

Guarda il video

Potrebbe interessarti anche

Naviga con la tastiera

Segnala contenuti non appropriati

Tipo di contenuto
Devi scegliere almeno una delle opzioni
Descrivi il problema
Devi inserire una descrizione del problema
Si è verificato un errore nel sistema. Riprova più tardi.
Segnala il video che ritieni inappropriato
Devi selezionare il video che desideri segnalare
Verifica la tua identità
Devi verificare la tua identità
chiudi
Grazie per averci aiutato a migliorare la qualità dei nostri contenuti

Guide simili

Programmazione

Come iniziare a programmare in HTML 5

Prima di iniziare è bene precisare che con la parola "programmare" riferita al linguaggio HTML 5 è usata in modo improprio. Infatti l'HTML serve a programmare poco e nulla, per le programmazioni e più utile usare i PHP, Javascript, asp ecc.Fatta questa...
Programmazione

Come iniziare a programmare ed usare Javascript

"Javascript" rappresenta il linguaggio di scripting client-side maggiormente impiegato a livello mondiale. Inizialmente venne sviluppato dalla "Sun Microsystems" e in seguito diventò una raccomandazione standard internazionale famosa come "ECMAScript"....
Programmazione

Come iniziare a programmare in PHP

Il cosiddetto "php" (o "Hypertext Preprocessor") è un linguaggio di programmazione che ci serve per realizzare siti web mediante l'inserimento di una serie di stringhe di comando. Per i neofiti, questo tipo di linguaggio può apparire piuttosto complesso....
Programmazione

Come programmare con Arduino

Coloro che coltivano una passione smisurata per la robotica e tutto ciò che appartiene all'utomazione, sicuramente avrà sognato almeno una volta di creare un circuito utile all'impiego di una particolare applicazione. Ebbene, per riuscire nell'intento,...
Programmazione

Come programmare al meglio con Arduino

Con questa guida non pretendiamo di insegnarvi i segreti della programmazione anche perché sarebbe poco esaustivo pretendere di inserirle in queste brevi righe. Vi porteremo però in un mondo che non tutti conoscono. Un mondo che ha come protagonista...
Programmazione

Come imparare a programmare in C++

L'avvento del computer, ha richiesto la creazione di appositi linguaggi per facilitare la comunicazione tra utente e macchina. I linguaggi sono aumentati di numero e via via è aumentata anche la facilità di comunicazione tra questi due canali. Si parla...
Programmazione

Come programmare una calcolatrice in Java

Al giorno d'oggi è importantissimo saper usare i linguaggi di programmazione, visto che la tecnologia e l'informatica sono diventate basi utili per ogni ambito della vita. Uno tra i linguaggi migliori e più convenienti per il programmatore è Java,...
Programmazione

10 Consigli per Iniziare a Programmare

Questa guida vuol essere un breve compendio di indicazioni e Consigli per Iniziare ad avvicinarsi al mondo della programmazione informatica.Prima di tutto cerchiamo di capire cosa vuol dire scrivere un programma. La definizione è piuttosto semplice....