This is an old revision of the document!


1. Variabile globale

Dorim să înțelegem rolul variabilelor globale și să învățăm cum le putem folosi.

C to Assembly

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)

test.c
#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

SASM

iocla/cursuri/capitol-07/demo/01.1477488538.txt.gz · Last modified: 2016/10/26 16:28 by laura.vasilescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0