Daten legst du im Abschnitt .data mit db (Byte), dw (2 Byte), dd (4 Byte) oder dq (8 Byte) an. Platz ohne Anfangswert reservierst du in .bss mit resb, resd oder resq. Eine Beschriftung (Label) gibt der Stelle einen Namen.
Mit eckigen Klammern liest oder schreibst du den Speicher: mov rax, [zahl] holt den Wert, mov rax, zahl dagegen nur die Adresse. Die Größe gibst du bei Bedarf an: byte, word, dword, qword.
section .data
zahl dq 100
gruss db "Hi", 0
section .bss
puffer resb 64
section .text
; ...
mov rax, [zahl] ; rax = 100
add rax, 1
mov [zahl], rax ; zurückschreiben
mov byte [puffer], 'A'Merke
db,dw,dd,dqlegen Daten an[adresse]greift auf den Speicher zu.bssreserviert Platz ohne Anfangswert
Aufgabe
Lege eine Zahl im Speicher an, verdopple sie und schreibe sie zurück.