|Assembly contains content from the Virus Wiki, which can be found at this link! Please remove this notice if First Party information is outnumbered by the Third Party information or the Third Party info is deleted. Additional notes may be left here: "Copied due to inactivity."|
Assembly (also known as "Machine Language", "Assembler" or "Asm") is a complex, low-level programming language that can be used to make both programs and operating systems. Some malicious programs like Slammer, Boza, and Magistr are written in Assembly.
Assembly is assembled, not compiled. Most compilers turn the code into assembly, then assemble that. The reason is each command in assembly directly corresponds to an opcode, or a specific number that means something to the processor.There are many assemblers for Assembly, including NASM, FASM, and GAS. NASM uses the standard Intel syntax, while GAS uses the AT&T syntax. Both are Intel Assembly, but each have adifferent syntax for writing.
Assembly is machine specific, ie., one assembly program written for an Intel 80386 will not make sense to a Zilog Z80 processor. Most PCs use an Intel processor, so most viruses use Intel assembly. Some examples of instructions in assembly are MOV (moves data around), XOR (xors two values), and JMP (jumps to a memory address). The advantage of assembly for viruses is that it is extremely low level and can be disguised in a string and executed with a buffer overflow.