Linguaggio assembly: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 144:
 
==C-asm==
Talvolta, nella programmazione ad alto livello in ambienti come il DOS, c'è la necessità di effettuare alcune operazioni che sono molto più veloci usando delle istruzioni di linguaggi a basso livello (in Windows invece a causa delle protezioni della memoria si ricorre più frequentemente alle chiamate [[WINAPI]], le chiamate in L/M sono usate per lo più per procedure matematiche accelerate o dai [[driver]]). Tra i [[Linguaggio di programmazione a basso livello|linguaggi di basso livello]] che permettono questo vi sono il [[C (linguaggio)|C]] e il [[C++]], in cui possono essere inserite nei propri sorgenti parti scritte in assembly che, in fase di compilazione, verranno tradotte con un procedimento noto come [[assembler inline]]. Un esempio di codice scritto in C-asm (usando l'assembly Intel x86), che visualizza in binario un numero dato in input, è il seguente esempio che utilizza la direttiva ''[[stdio.h]]'' che gestisce le operazioni di input/output, la direttiva ''iostream.h'' che ha le stesse funzioni di quella precedente, ma che garantisce la compatibilità con i compilatori più datati e infine la direttiva ''[[conio.h]]'' deputata alla creazione di interfacce testuali.
<source lang="asm">
#include <stdio.h>