L'estensione di file .asm è principalmente associata ai file di codice sorgente scritti in linguaggio Assembly. L'Assembly è un linguaggio di programmazione a basso livello che presenta una corrispondenza diretta e molto forte con le istruzioni del codice macchina di una specifica architettura di computer (come x86, ARM, MIPS, ecc.). A differenza dei linguaggi ad alto livello (come C++ o Python), il codice assembly utilizza mnemonici (codici brevi) per rappresentare operazioni fondamentali come lo spostamento di dati tra i registri, l'esecuzione di operazioni aritmetiche e il controllo del flusso del programma (salti e chiamate). Poiché interagisce direttamente con l'hardware, il linguaggio assembly viene spesso utilizzato per compiti che richiedono un'ottimizzazione estrema, la manipolazione diretta dell'hardware, la scrittura di kernel di sistemi operativi, driver di periferiche o la programmazione di sistemi embedded dove le risorse sono fortemente limitate. I file .asm sono file di testo leggibili dall'uomo che devono essere elaborati da un programma assemblatore (come NASM, MASM o FASM) per essere convertiti in codice macchina eseguibile. La sintassi specifica e le direttive all'interno di un file .asm dipendono fortemente dall'architettura del processore di destinazione e dall'assemblatore utilizzato.