One who takes seperate components
them into a whole. This could be a human
, as in an assembly
, or robot
, or program
An example of this is in programming
s follow direction
s contained in a stream
(or streams) of numbers. Any particular particle
in this stream is a machine instruction
, and the number representing that instruction is a machine code
. It used to be that in order to get a processor to process something you had to look at a large table of possible instructions, determine the matching machine code, and insert that into the stream. By building up a series of instructions in this way you were essentially assembling a program.
In time people determined it was easier for a human to understand even cryptic
3 and four letter mnemonic
s than it was to remember and understand machine code numbers, and that one could use the machine itself to translate
between the mnemonic and the machine code. The assembler (program) was created to do this. It translates the assembly code listing into machine code.
This is usually the lowest level you would see anyone attempting to program at. While students and researchers still hand assemble some things, it is not efficient to do so in the long run, especially since new processor architechture
s, and therefore new machine codes, come out frequent
ly, and many popular processors have hundreds of instructions, which each have several parameters.
The first assembler was written in machine code.
The next assembler, and those following it, was written in assembler.
The first compiler was written in assembler
The next compiler, and all following it, was written in a compiled language.
At this point it is a useful learning experience to study machine code (especially if you plan on designing your own processor), but it is nearly useless as a practical function in society