Makina-lengoaia makina-kodea idazteko erabiltzen den lengoaia da. Makina-kodea konputagailu-programa bat da, zuzenean prozesatzeko unitate zentralean (PUZean) exekuta daitekena. Agindu bakoitzarekin PUZak eragiketa jakin bat exekutatuko du; adibidez, load bat, jauzi bat edo unitate aritmetiko-logikoaren eragiketa bat, erregisto edo memoriako informazio-unitate batean.[1][2]
Makina-kodea guztiz zenbakizkoa da, ahal den azkarren exekuta dadin prestatua; eta honako hauen maila baxueneko irudikapen gisa ikus daiteke: konpilatu edo mihiztatutako konputagailu-programarena, edo primitiboa eta hardwarearen mendekoa den programazio-lengoaiarena. Konputagailu-programak zuzenean idatz daitezke makina-lengoaian, baina lan unagarria da, eta erraza da erroreak gauzatzea bit bakoitza eta zenbakizko helbideak eta konstanteak eskuz kalkulatu behar direnean. Horregatik, orokorrean, programak ez dira zuzenean makina-lengoaian idazten, baina lengoaia hori bai erabil daitekeela behe-mailako arazketan, programen adabatzeetan, eta mihiztadura-lengoaiaren desmuntatzean.