This is an old revision of the document!
Dorim să înțelegem rolul variabilelor globale și să învățăm cum le putem folosi.
Vom scrie programe în C pe care le vom compila folosind consola MINGW pentru a putea observa assembly-ul generat.
Deschideți consola MINGW. (C:\MinGW\msys\1.0\msys.bat
)
#include <stdio.h> int my_g = 1000; int main(void) { return 0; }
Pentru generarea fișierului assembly folosiți: gcc -S -O0 -masm=intel -o test.asm test.c
.
Observați următoarea secțiune:
.globl _my_g .data .align 4 _my_g: .long 1000
Adăugați, pe rând, câte o variabilă globală de tip char
, short
, long
și long long
.
Ar trebui să observați ceva similar cu:
.globl _my_hhg .data _my_hhg: .byte 10 .globl _my_hg .align 2 _my_hg: .word 100 .globl _my_g .align 4 _my_g: .long 1000 .globl _my_lg .align 4 _my_lg: .long 10000 .globl _my_llg .align 8 _my_llg: .quad 100000