uvod u GNU asembler, asemblersko programiranje Flashcards
Direktiva .align expr?
Ova direktiva radi poravnanje , ubacice od 0 do expr bajtova kako bi uradila poravnanje, expr mora biti stepen dvojke
.byte 0x55
.align 4 (dodacemo 3 0x00)
.long 0xAA55EE11
Direktiva .ascii “string” ?
Ubacuje string bez nul karaktera
.ascii “JNZ” (0x41 0x4E 0x5A)
Direktiva .asciz “string”?
Ubacuje string sa null karakterom
.asciz “JNZ” (0x41 0x4E 0x5A 0x00)
Direktiva .byte “izraz”?
Ubacuje najt
Direktiva .data?
Sekcija u kojoj se nalaze promenljivi podaci
Direktiva .text?
Sekcija u kojoj se nalazi izvrsni kod
Direktiva .rodata?
Nalaze se konstance
Direktiva .bss?
Nalaze se neinicijalizovani staticki podaci
Direktiva .end?
Kaze da se ovde zavrsava asemblerski kod, sve posle ove direktive smatramo da ne postoji
Diretiva .equ simbol,izraz?
Dodeljuje vrednosti kao i diretiva .set ili =
.equ var, (5*8)-2
<=>
.set var, 0x2A
<=>
var = 0x2A
Direktiva .global?
Kazuje da je ovaj simbol globalam i da se koristi u drugim modulima
Direktiva .word ili .2byte?
Ubacujemo 16obitnu rec, 2 bajta
Direktiva .include “fajl”?
Ubacuje sadrzaj fajla na mesto ove direktive
Direktiva .skip izraz?
Korismo za deklarisanje neinicijalizovanih promenljivi, tj. kao da vrsimo rezervaciju prostora za nju
buffer: .skip 512 (bafer je velicine 512 bajtova)
Direktiva .long ili .4byte?
Ubacuje 32bitnu rec