Diferente pentru introducere-in-asamblare intre reviziile #29 si #37

Nu exista diferente intre titluri.

Diferente intre continut:

Acest articol prezinta un limbaj mai putin folosit : limbajul de asamblare. Este folosit de cele mai multe ori pentru marirea vitezei de rulare a programelor. In prima sectiune sunt prezentate cateva avantaje / dezavantaje in folosirea acestui limbaj, iar ulterior sunt definite notiunile elementare ce trebuie stiute inainte de a trece la tratarea limbajului propriu-zis. De asemenea, sunt prezentate cateva intructiuni si transcrieri ale unor structuri din C/Pascal in limbaj de asamblare. In final sunt comparati timpii de executie intre varianta pascal si varianta assembler ale unei proceduri de {$Bubble Sort$}.
Limbajul de asamblare pe mediul x86 exista in doua tipuri de sintaxe :
 
* Intel
* AT&T
 
Sintaxa depinde de compilatorul folosit. De exemplu: Turbo Assembler (inclus in pachetul BC3.1) si Netwide Assembler (NASM) folosesc sintaxa Intel. GAS (folosit de GCC) foloseste sintaxa AT&T.
Nota: In GCC se poate folosi si sintaxa Intel, detalii 'aici':http://en.wikipedia.org/wiki/GNU_Assembler#Criticism .
 
 
O alta diferenta importanta este felul in care este interpretat cuvantul cheie _asm_ in diferite compilatoare C/C++.
De exemplu, aceeasi instructiune in mediul Borland, si GCC cu cele 2 sintaxe :
 
*Borland C 3.1 (sau TASM)*
== code(cpp) |asm { mov ax, bx };
==
 
*GCC (sintaxa AT&T)*
== code(cpp) |asm ("mov %bx, %ax");
==
 
*GCC (sintaxa Intel)*
== code(cpp) |asm (".intel_syntax noprefix\n\t"
     "mov ax, bx");
==
 
 
Exemplele prezentate in acest articol sunt scrise in sintaxa Intel.
 
h2(#limbajul-de-asamblare). Limbajul de asamblare : avantaje si dezavantaje in folosirea lui
Desi este unul dintre cele mai vechi limbaje de programare, limbajul de asamblare este incorporat si in cele mai noi compilatoare cum ar fi Visual C++ si Delphi. Codul de asamblare este foarte apropiat de codul executabil al programelor, asamblorul avand rolul de a codifica instructiunile din limbaj de asamblare in cod masina.
    // compara ax cu valoarea 10 si seteaza flagurile
    cmp ax, 10
    // daca ax != 10 sari inapoi la @loop
 
jne @loop
== code(cpp) |instr1
		// cx = n;
		mov cx, n
		// cx = n-1
 
		dec cx
		// ax = a[0]
		mov ax, es:[di]
h2(#concluzie). Doua cuvinte conclusive...
Acest articol trateaza "bazele" programarii in asamblare, dupa cum ii zice numele este doar o introducere. Pentru a sti sa programezi in _asm_, trebuie invatate mult mai multe lucruri. Scopul articolului este de a starni interesul cititorilor si de a le oferi o imagine asupra acestui limbaj. Cei ce doresc sa invete mai multe despre _assembly language_ sunt invitati sa citeasca cartile / tutorialele din sectiunea 'linkuri':introducere-in-asamblare#linkuri.
Acest articol trateaza "bazele" programarii in asamblare, dupa cum ii zice numele este doar o introducere. Pentru a sti sa programezi in _asm_, trebuie invatate mult mai multe lucruri. Scopul articolului este de a starni interesul cititorilor si de a le oferi o imagine asupra acestui limbaj. Cei ce doresc sa invete mai multe despre _assembly language_ sunt invitati sa citeasca cartile / tutorialele din sectiunea 'linkuri':introducere-in-asamblare#linkuri.
 
 

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
3676