Machine languages are composed of instructions intended to be
read directly by the microprocessor (the computer's CPU). The
manufacturer of the CPU determines it's "INSTRUCTION SET"
ASSEMBLY LANGUAGE on the other hand IS NOT machine dependent.
The same commands ADD, Divide, Move, etc are universal. HOWEVER the
ASSEMBLY LANGUAGE has to have an INTERPRETER for EACH CPU, and that
will translate the Universal ASSEMBLY language to the MACHINE
SPECIFIC code required to program the CPU.