Мова асемблера x86Мова асемблера x86 — загальна назва групи асемблерних мов, що беруть свій початок від перших мов асемблера мікропроцесорів Intel 8086 та Intel 8088 і забезпечують деякий рівень сумісності на рівні початкових текстів програм. У порівнянні з мовами асемблера інших процесорів, відмінною рисою асемблерів для архітектури x86 є наявність двох цілком відмінних синтаксисів, зумовлених історичними особливостями розвитку двох важливих для цієї комп'ютерної платформи операційних систем (MS-DOS і Unix). Також слід відзначити наявність кількох реалізацій програм-асемблерів, кожна з яких може мати несумісні з іншими особливості (такі як макроси, препроцесор, адресування змінних та інше). Мнемоніки та коди операційСинтаксисЕлементи синтаксисуНабір командТиповими командами мови асемблера є:
Синтаксис мови асемблера визначається системою команд конкретного процесора чи мікроконтролера. Intel-синтаксисIntel-синтаксис є одним з найпоширеніших, використовується для IBM-сумісних комп'ютерів. AT&T-синтаксисВідрізняється від Intel-синтаксису наявність суфіксів до мнемонік та префіксів до операндів. Асемблерні фрагменти у мові C
main ()
{
int a = 1; // оголошуємо змінну a і кладемо туди значення 1
int b = 2; // оголошуємо змінну b і кладемо туди значення 2
int c; // оголошуємо змінну c, але не ініціалізуємо її
// Початок асемблерної вставки
__asm{
mov eax, a // завантажуємо значення змінної a в регістр EAX
mov ebx, b // завантажуємо значення змінної b в регістр EBX
add eax, ebx // додаємо EAX з EBX, записуючи результат в EAX
mov c, eax // завантажуємо значення EAX у змінну c
}
// Кінець асемблерної вставки
// Виводимо вміст c на екран
// За допомогою звичної функції printf
printf ("a + b =% x +% x =% x \ n", a, b, c);
}
Джерела |
Portal di Ensiklopedia Dunia