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

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 programmare un algoritmo in Java

Come programmare un algoritmo? Ebbene, inizialmente bisogna stabilire cosa si intende con questa dicitura. Infatti, si può programmare un algoritmo tramite la sua vera e propria creazione. Oppure lo si può studiare, come previsto in specifici corsi...
Programmazione

Programmare in Assembly: consigli per iniziare

Assembly è un linguaggio che permette la scrittura mnemonica delle istruzioni in linguaggio-macchina studiato per raggiungere performance elevatissime. Sebbene piuttosto complesso sia nella scrittura che nella lettura è possibile tuttavia utilizzarlo:...
Programmazione

Come programmare in Linda

La maggior parte della popolazione italiana, secondo alcuni studi che provengono direttamente dall'università di Oxford, pare abbia iniziato a specializzarsi sempre di più nel settore informatico. Esistono moltissimi casi di ragazzi volenterosi, laureati...
Programmazione

Come programmare in Standard C++

Programmare è un atto che presuppone una conoscenza abbastanza ampia della materia, ma anche un approccio piuttosto individuale alla disciplina, perché ogni sviluppatore sceglie gli strumenti che gli sono più congeniali. Tuttavia, nel tempo alcuni...
Programmazione

Regole per programmare in ActionScript

Action Script è un nome che suonerà familiare a tutti coloro che si intendono di programmazione. Si tratta, infatti, del linguaggio di programmazione di Flash utilizzato per la creazione di videogames basati su browser. Esistono ben tre versioni di...
Programmazione

Come programmare in java su Linux

Ai giorni nostri la programmazione è sempre più avanzata e ci sono numerosi modi e piattaforme per effettuare la programmazione. Tra i software più utilizzati troviamo Java, inoltre si può programmare su varie piattaforme tra cui anche Linux. Nei...
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 programmare in Elm

Elm è un linguaggio funzionale che compone JavaScript. Competi con progetti con React come strumento per la creazione di siti web e applicazioni web. Elm ha un'enfasi molto forte sulla semplicità, la facilità d'uso e l'attrezzatura di qualità. Alla...