An assembly language is a low-level programming languages whose code, known as assembly, is translated into a machine language by an assembler. The most common use of assembly is programming the hardware of a personal or embedded computer directly. Assembly allows direct interfacing with the computer hardware, so it is a very useful tool in the worlds of operating system development, graphics programming, and robotics. They are not portable. as they directly represent machine language instructions which are normally specific to a processor or architecture.
Assemblers were first created in the 1950s, and are referred to as second-generation programming languages.