İşlemciler, transistörlerin birbirine bağlanarak oluşturulduğu devrelerin bütünüdür, bu devrelerin belli şekilde bağlanması da talimatları oluşturur. İşlemcinin hangi talimatlara sahip olduğunu mimarisi belirler, her özgün mimarinin ASM'si farklıdır. Normalde siz kod yazarsınız ve derleyici insanın rahat okuyabileceği fonksiyonları ve mantığı o mimarinin assembly koduna çevirir, gelişmiş derleyiciler kod üzerinde optimizasyon yapar, en son assembler denilen bir programla işlemcinin yürütebileceği makine koduna çevrilir.
ASM, sadece kritik performans veya kaynak gerektiren işlerde kullanılan bir sistem haline gelmiştir. Günümüzdeki anlaşılması kolaylaşsın diye soyutlaştırılmış programlama dillerinin aksine tamamen somut yani bilgisayar kafasıyla düşünmek gereklidir. Öncelikle hangi mimariye ASM yazacağınızı belirlemeniz lazım. Her mimarinin ASM'si farklıdır. x86_64 veya Aarch64 ile başlanabilir. Daha basit olacaksa RISC-V veya armv7 gibi mimariler daha az talimatla daha kolay olabilir ama kullanım alanları az olduğu için doküman veya pratik örnek az olacaktır.