A set of instructions supposed by a processor. It is essentially a contract between the processor and programmer. Implementations Assembly LLVM