Assembly Language Syntax
Take your programming skills to the next level with interactive lessons and real-world projects.
Explore Coddy →Assembly language syntax is the set of rules and conventions used to write programs in assembly language. It forms the foundation for creating low-level code that directly interacts with a computer's hardware.
Basic Structure
Assembly language programs typically consist of three main sections:
- Data section: Declares variables and constants
- Code section: Contains the actual program instructions
- Stack section: Manages memory for temporary data storage
Instruction Format
Assembly instructions generally follow this format:
[label:] mnemonic [operands] [;comment]
- Label: Optional identifier for a memory location
- Mnemonic: Abbreviated instruction name (e.g., MOV, ADD, JMP)
- Operands: Data or memory locations the instruction operates on
- Comment: Optional explanatory text, preceded by a semicolon
Examples
Here's a simple example of assembly code that adds two numbers:
section .data
num1 db 5
num2 db 3
result db 0
section .text
global _start
_start:
mov al, [num1] ; Load first number into AL register
add al, [num2] ; Add second number to AL
mov [result], al ; Store result in memory
; Exit program
mov eax, 1
xor ebx, ebx
int 0x80
Key Syntax Elements
Registers
Registers are fast storage locations within the CPU. They are referenced directly in assembly code:
mov eax, 42 ; Move value 42 into EAX register
add ebx, eax ; Add value in EAX to EBX
For more details on registers, see Assembly Registers.
Memory Addressing
Assembly language provides various ways to access memory:
mov al, [variable] ; Direct addressing
mov bl, [eax + 4] ; Indirect addressing with offset
mov cx, [ebx + esi*2] ; Scaled index addressing
Learn more about Assembly Memory Addressing Modes.
Directives
Directives are instructions for the assembler, not the CPU. They define data, sections, and other assembly-time behaviors:
section .data
message db 'Hello, World!', 0
number dw 42
Best Practices
- Use meaningful labels and comments to improve code readability
- Align data and code for optimal performance
- Utilize appropriate Assembly Data Types for efficient memory usage
- Leverage Assembly Instruction Format for precise control over operations
Conclusion
Understanding assembly language syntax is crucial for writing efficient, low-level code. As you delve deeper into assembly programming, explore topics like Assembly Arithmetic Operations and Assembly Logical Operations to expand your capabilities.