Assembly Language

mcdude's Avatar
Light Poster

In simple terms, can someone please explain what
Assembly Language is.
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
Language which is understood by the CPU
ljlong's Avatar
Go4Expert Member
Assembly language is a human expression or 'language' that is almost one for one with the actual machine opcodes that comprise how a central processing unit (cpu ) execute operations on its registers.
An example would be the expression mov ax, #1006, what this actually represents is a numeric code that is dependent on the type of microprocessor you are writing for. The mov ax, #1006 is intel syntax while ld #1006, ax is if I recall correctly the Zylog syntax. Both would end up looking like three or four bytes of the same numbers that would be interpreted by the cup to move the number 1006 into the ax register. When people generally speak of assembly language they are actually talking about the human syntactical language interface that an assembler turns into a binary image that is understood by the cpu as a sequence of instructions that represents a program. Instructions are usually binary operations on a cpu's registers or memory. Embedded software engineers use assembly language to interface to hardware and other 'system' resources; however, much of this can also be done in c.

xpi0t0s's Avatar, Join Date: Aug 2004
Originally Posted by shabbir View Post
Language which is understood by the CPU
This is a common misconception. The CPU only understands 1s and 0s and that is machine code. Assembly language is one step up from the 1s and 0s and is a more memorable form of machine code. For example, 01111111 is machine code, but this is represented by the Z80 assembly language mnemonic ld a,(hl).