RICERCA

Programmazione: linguaggio Assembler. Nozioni di base sulla lingua dell'assembler

Affinché la macchina esegua i comandiuna persona a livello hardware, è necessario definire una sequenza specifica di azioni nella lingua di "zero e uno". L'assistente in questo caso sarà l'assemblatore. Questa è un'utilità che funziona con la traduzione dei comandi nel linguaggio macchina. Tuttavia, scrivere un programma è un processo molto laborioso e complicato. Questo linguaggio non ha lo scopo di creare azioni semplici e facili. Al momento, qualsiasi linguaggio di programmazione utilizzato (Assembler funziona perfettamente) consente di scrivere attività speciali efficaci che influiscono notevolmente sul funzionamento dell'hardware. Lo scopo principale è creare microistruzioni e piccoli codici. Questo linguaggio offre più funzionalità rispetto, ad esempio, a Pascal o a C.

linguaggio di assemblaggio

Breve descrizione delle lingue di assemblaggio

Tutti i linguaggi di programmazione sono suddivisi in livelli: basso e alto Qualsiasi "sintassi" della sintassi dell'Assemblea si distingue per il fatto che unisce immediatamente alcuni dei vantaggi dei linguaggi più comuni e moderni. Con gli altri, hanno in comune e il fatto che è possibile utilizzare pienamente il sistema informatico.

Una caratteristica distintiva del compilatore èfacilità d'uso. Questo è diverso da quelli che lavorano solo con alti livelli. Se si tiene conto di un tale linguaggio di programmazione, Assembler funziona due volte più velocemente e meglio. Per scrivere un programma leggero in esso, non ci vuole troppo tempo.

Brevemente sulla struttura della lingua

Se parliamo in generale del lavoro e della strutturalinguaggio funzionante, si può dire con certezza che i suoi comandi sono pienamente coerenti con i comandi del processore. Cioè, l'Assemblatore usa codici mnemonici che sono i più convenienti per una persona a scrivere.

A differenza di altri linguaggi di programmazione,L'assemblatore utilizza determinate etichette anziché indirizzi per scrivere celle di memoria. Loro con il processo di esecuzione del codice sono tradotti in cosiddette direttive. Si tratta di indirizzi relativi che non influiscono sul funzionamento del processore (non vengono tradotti in linguaggio macchina), ma sono necessari per il riconoscimento da parte dell'ambiente di programmazione stesso.

Per ogni linea del processore ha il proprio sistema di comandi. In questo scenario, qualsiasi processo sarà corretto, incluso il codice macchina tradotto.

Il linguaggio assembly ha diverse sintassi, che verranno discusse nell'articolo.

linguaggio di programmazione linguaggio assembly

Professionisti della lingua

L'adattamento più importante e conveniente della linguaAssembler sarà il fatto che è possibile scrivere qualsiasi programma per il processore, che sarà molto compatto. Se il codice risulta essere enorme, l'ambiente di programmazione reindirizza alcuni processi alla memoria operativa. Allo stesso tempo, tutti eseguono abbastanza velocemente e senza guasti, a meno che, naturalmente, non siano gestiti da un programmatore qualificato.

Driver, sistemi operativi, BIOS, compilatori, interpreti, ecc. - questo è tutto un programma in linguaggio Assembly.

Quando si usa un disassemblatoreeffettua la traduzione dalla macchina al linguaggio del computer, puoi facilmente capire come funziona questa o quella attività di sistema, anche se non c'è alcuna spiegazione per questo. Tuttavia, questo è possibile solo se i programmi sono leggeri. Purtroppo, in codici non banali da capire abbastanza difficile.

Contro il linguaggio

Sfortunatamente, i programmatori alle prime armi (e spessoÈ difficile per i professionisti capire la lingua. Assembler richiede una descrizione dettagliata del comando necessario. A causa del fatto che è necessario utilizzare i comandi macchina, aumentano la probabilità di azioni errate e la complessità dell'esecuzione.

Per scrivere anche il programma più semplice, il programmatore deve essere qualificato e il suo livello di conoscenza è piuttosto alto. Lo specialista medio, sfortunatamente, scrive spesso codici errati.

Se la piattaforma per cui viene creato il programma èaggiornato, quindi tutti i comandi devono essere riscritti manualmente - questo è richiesto dalla lingua stessa. L'assemblatore non supporta la funzione di regolazione automatica della capacità di lavoro dei processi e la sostituzione di alcun elemento.

programma di linguaggio assembly

Comandi di lingua

Come accennato in precedenza, per ogni processore ha il proprio set di comandi. Gli elementi più semplici riconosciuti da qualsiasi tipo sono i seguenti codici:

  • Il trasferimento dei dati viene effettuato con l'aiuto di mov, ecc.
  • Comandi relativi all'aritmetica: sub, imul, ecc.
  • Le funzioni bitwise e logiche possono essere implementate con l'aiuto di o, e, ecc. Sono questi fondamenti del linguaggio Assembly che consentono di essere simili agli altri.
  • Al fine di effettuare la transizione da unocomandi ad un altro, dovresti registrare i seguenti operatori: djnz, cfsneq, cjne. Un programmatore inesperto può pensare che questo è solo un insieme di lettere, ma questo non è vero.
  • In e out vengono utilizzati nel caso in cui sia necessario immettere (o emettere da) la porta.
  • I comandi di controllo includono int. Grazie a lui, puoi interrompere l'esecuzione di qualsiasi processo a favore dell'azione principale.
    programmazione di microcontrollori in linguaggio assembler

Utilizzando le direttive

Programmazione dei microcontrollori nella lingua(L'assemblatore lo permette e fa un ottimo lavoro di funzionamento) del livello più basso nella maggior parte dei casi finisce con successo. È meglio utilizzare processori con risorse limitate. Per la tecnologia a 32 bit, questo linguaggio si adatta perfettamente. Spesso nei codici è possibile notare le direttive. Cos'è questo? E a cosa serve?

Per prima cosa devi concentrarti sul fatto chele direttive non sono tradotte in linguaggio macchina. Regolano l'esecuzione del lavoro da parte del compilatore. A differenza dei comandi, questi parametri, con funzioni diverse, non differiscono da processori diversi, ma a spese di un altro traduttore. Tra le principali direttive ci sono le seguenti:

  • Tutte le macro conosciute.
  • Ci sono anche direttive che la lingua superiore ha. L'assemblatore li "legge" e si esibisce perfettamente.
  • Funzioni per controllare e controllare le modalità del compilatore.
  • Riconoscimento di costanti e variabili.
  • Regolazione dei programmi che sono in memoria.
    linguaggio assembly codice macchina

Origine del nome

Cosa ha ottenuto il nome della lingua -"Assembler"? Stiamo parlando del traduttore e del compilatore, che crittografano i dati. Con English Assembler non significa altro che un collezionista. Il programma non è stato compilato a mano, è stata utilizzata una struttura automatica. Inoltre, al momento, gli utenti e gli specialisti hanno già cancellato la differenza tra i termini. I linguaggi di programmazione sono spesso chiamati assemblatori, sebbene questa sia solo un'utilità.

A causa del nome collettivo generalmente accettatoPer alcuni, una decisione errata nasce dal fatto che esiste un unico linguaggio di basso livello (o norme standard). Affinché il programmatore possa capire a quale struttura si fa riferimento, è necessario chiarire per quale piattaforma viene utilizzata una determinata lingua dell'Assembly.

fondamentali del linguaggio assembly

Fondi macro

Lingue di assemblaggio che sono relativamentedi recente, hanno i mezzi macro. Facilitano sia la scrittura che l'esecuzione del programma. Grazie alla loro presenza, il traduttore esegue il codice scritto molte volte più velocemente. Quando si crea una scelta condizionale, è possibile scrivere un enorme blocco di comandi ed è più semplice utilizzare gli strumenti macro. Ti consentiranno di passare rapidamente da una azione all'altra, nel caso della condizione o della mancata esecuzione.

Quando si utilizza un programmatore di direttive in linguaggio macroottiene macro assembler. A volte può essere ampiamente utilizzato e, a volte, le sue funzionalità sono ridotte a un solo comando. La loro presenza nel codice facilita il lavoro con esso, lo rende più comprensibile e intuitivo. Tuttavia, dovresti comunque fare attenzione: in alcuni casi, le macro, al contrario, peggiorano la situazione.

  • valutazione: