What's the relationship between assembly language and machine language?

freenight picture freenight · Aug 10, 2009 · Viewed 78.4k times · Source

Are assembly language and machine language (for the same underlying system) really the same? Are there any differences between these two concepts?

Answer

sharptooth picture sharptooth · Aug 10, 2009

Assembly language is a convenience mechanism over the machine language. With assembly language you use mnemonic sequences instead of numeric operation codes and can use symbolic labels instead of manually calculating offsets. It also protects you from really dumb errors - like typing a malformed processor instruction.

Otherwise the assembly language is the equivalent of the machine language. Sometimes you will have an old assembler that will not support mnemonics for some instructions of the newer processors - then you can still insert operation codes directly into the program.