Nu aveti permisiuni pentru a descarca fisierul grader_test1.in
Diferente pentru introducere-in-asamblare intre reviziile #35 si #39
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:
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 .
Exemplele prezentate in acest articol sunt scrise in sintaxa Intel.
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