Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Assembly

A turing-complete low-level programming language used to write software for computers and other devices. Low-level languages like Assembly are similar to machine code that a computer can understand and has almost no abstraction for the purpose of human readability. Writing code in Assembly frequently involves shifting between memory indicies within the given CPU or virtual machine.

Instructions in Assembly language are written in mnemonic codes, which act as abbreviations for machine code instructions the computer can execute. These mnemonic codes are then translated and assembled into machine code that the computer can understand by a program called an assembler.

Assembly language is best used to write code for the hardware and firmware because it provides fine-grained control over computer resources.

In the context of distributed ledger technologies like blockchains, Assembly can be used to write highly-granular code for execution inside a virtual machine, like the EVM, in lieu of a more high-level programming language like Solidity. This added granularity makes Assembly programming complex, but also enables increased memory and computational efficieny, which is beneficial for low-latency systems. In some blockchains, Assembly can be used to write programs for the node software that manipulate the contents of a mempool to perform MEV.

See Also