Assembly dili, bilgisayara ne yapması gerektiğini doğrudan söylemek için kullanılabilen bir programlama dilidir. Bir assembly dili, sayılar yerine sözcükler kullanması dışında, bilgisayarın anlayabileceği makine koduna neredeyse tamamen benzer. Bir bilgisayar bir assembly programını doğrudan anlayamaz. Ancak, programdaki sözcükleri temsil ettikleri sayılarla değiştirerek programı kolayca makine koduna dönüştürebilir. Bunu yapan bir programa assembler denir.

Assembly dilinde yazılan programlar genellikle bilgisayarın programı çalıştırırken gerçekleştirdiği küçük görevler olan talimatlardan oluşur. Bunlara talimat denir çünkü programcı bunları bilgisayara ne yapması gerektiğini bildirmek için kullanır. Bilgisayarın talimatları takip eden kısmı işlemcidir.

Bir bilgisayarın assembly dili düşük seviyeli bir dildir, yani yalnızca bir bilgisayarın doğrudan anlayabileceği basit görevleri yapmak için kullanılabilir. Daha karmaşık görevleri yerine getirmek için, karmaşık görevin bir parçası olan basit görevlerin her birinin bilgisayara anlatılması gerekir. Örneğin, bir bilgisayar ekranına bir cümlenin nasıl yazdırılacağını anlamaz. Bunun yerine, assembly ile yazılmış bir program, cümlenin yazdırılmasında yer alan tüm küçük adımların nasıl yapılacağını söylemelidir.

Böyle bir assembly programı, bir insan için çok basit ve temel görünen bir şeyi birlikte yapan çok sayıda talimattan oluşacaktır. Bu da insanların bir assembly programını okumasını zorlaştırır. Buna karşılık, yüksek seviyeli bir programlama dilinde PRINT "Merhaba, dünya!" gibi tek bir talimat olabilir ve bu talimat bilgisayara sizin için tüm küçük görevleri yerine getirmesini söyler.