Any low-level programming language in which there is a very strong correspondence between the instructions in the language and the architecture's machine code instructions.