ASM86

ASM86 был продан Intel как ассемблер для своего семейства процессоров x86 . Сегодня он больше не продается и не разрабатывается. Однако его синтаксис широко используется ассемблерами x86, такими как Netwide Assembler , Microsoft Macro Assembler или Borlands Turbo Assembler . Синтаксис современных ассемблеров x86 в основном основан на синтаксисе ASM86 или идентичен ему, поэтому он также широко известен как «синтаксис Intel» или «синтаксис Intel Assembler».

Различия в синтаксисе

Есть два преобладающих Синтаксисы для x86 сборок: Intel синтаксис и AT & T синтаксис . Синтаксис Intel доминирует в Windows, тогда как синтаксис AT&T доминирует в экосистеме GNU / Linux .

AT&T Intel
Порядок параметров Сначала источник, затем пункт назначения
mov $5, %eax
Сначала пункт назначения, затем источник
mov eax, 5
Размер параметра Мнемоникам дается суффикс, обозначающий длину операнда: q = QWord , l = DWord, w = Word b = Byte.
addl $4, %esp
add esp, 4
Сигилы Ближайшие значения имеют префикс «$», регистр «%».
Эффективные адреса DISP (БАЗА, ИНДЕКС, МАСШТАБ) . Пример:
movl mem_location(%ebx,%ecx,4), %eax
Пример:
mov eax, [ebx + ecx*4 + mem_location]

Индивидуальные доказательства

  1. a b c Рам Нараям: Ассемблеры Linux: сравнение GAS и NASM . 17 октября 2007 г. Проверено 13 января 2015 г.
  2. ^ Создание Unix . Bell Labs. Архивировано из оригинального 20 мая 2011 года , извлекаемых 13 января 2015 года.