<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=AT%26T-%D1%81%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%81</id>
	<title>AT&amp;T-синтаксис - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=AT%26T-%D1%81%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%81"/>
	<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=AT%26T-%D1%81%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%81&amp;action=history"/>
	<updated>2026-07-17T01:53:54Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://camokathomelab.servebeer.com/mediawiki/index.php?title=AT%26T-%D1%81%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%81&amp;diff=20741&amp;oldid=prev</id>
		<title>imported&gt;Fuxx: {{нп3|X86 assembly language|Синтаксис ассемблера X86 в английской Википедии|en|X86 assembly language}}</title>
		<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=AT%26T-%D1%81%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%81&amp;diff=20741&amp;oldid=prev"/>
		<updated>2025-08-07T06:44:51Z</updated>

		<summary type="html">&lt;p&gt;{{нп3|X86 assembly language|Синтаксис ассемблера X86 в английской Википедии|en|X86 assembly language}}&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;AT&amp;amp;T-синтаксис&amp;#039;&amp;#039;&amp;#039; — один из форматов записи [[мнемоника|мнемоники]] инструкций [[процессор]]а.&lt;br /&gt;
&lt;br /&gt;
== Особенности ==&lt;br /&gt;
Отличия [[AT&amp;amp;T]]-[[ассемблер]]а ([[gas]]) от [[Intel]]-ассемблера ([[MASM]], [[TASM]], [[FASM]], [[NASM]]):&lt;br /&gt;
* Комментарий начинается с символа «#», а не «;»; в свою очередь символ «;» разделяет команды и позволяет записывать несколько команд в одной строке.&lt;br /&gt;
* Отсутствие префикса операнда указывает на адрес в памяти, поэтому &amp;#039;&amp;#039;movl $foo,%eax&amp;#039;&amp;#039; помещает адрес переменной &amp;#039;&amp;#039;foo&amp;#039;&amp;#039; в регистр %eax, а &amp;#039;&amp;#039;movl foo,%eax&amp;#039;&amp;#039; помещает в %eax содержимое переменной foo.&lt;br /&gt;
* Имена регистров начинаются с символа %, то есть %eax, %dl, вместо eax, dl, и т. д. Это позволяет включать в код внешние переменные C, не опасаясь ошибок и не используя префиксов с подчёркиванием (_). Например:&lt;br /&gt;
%eax, %ebx, %ecx, %edx&lt;br /&gt;
* Размер [[операнд]]а определяется как суффикс имени инструкции. Суффиксы:&lt;br /&gt;
** b (от &amp;#039;&amp;#039;byte&amp;#039;&amp;#039;) — операнды размером в 1 байт&lt;br /&gt;
** w (от &amp;#039;&amp;#039;word&amp;#039;&amp;#039;) — операнды размером в 1 слово (2 байта)&lt;br /&gt;
** l (от &amp;#039;&amp;#039;long&amp;#039;&amp;#039;) — операнды размером в 4 байта&lt;br /&gt;
** q (от &amp;#039;&amp;#039;quad&amp;#039;&amp;#039;) — операнды размером в 8 байт&lt;br /&gt;
** t (от &amp;#039;&amp;#039;ten&amp;#039;&amp;#039;) — операнды размером в 10 байт&lt;br /&gt;
** o (от &amp;#039;&amp;#039;octo&amp;#039;&amp;#039;) — операнды размером в 16 байт&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
 movb %al,%ah&lt;br /&gt;
 movw %ax,%bx&lt;br /&gt;
 movl %ebx,%eax&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Порядок операндов — вначале источник, затем приёмник, а не наоборот, как в [[Intel-синтаксис|синтаксисе Intel]]. Например:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
 mov eax,ebx ;(Intel)&lt;br /&gt;
 movl %ebx,%eax #(AT&amp;amp;T)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* числовые константы имеют следующую форму записи:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
 20h ;(Intel)&lt;br /&gt;
 $0x20 #(AT&amp;amp;T, знак доллар в начале)&lt;br /&gt;
&lt;br /&gt;
 mov ebx, 10h ;(Intel)&lt;br /&gt;
 movl $0x10,%ebx #(AT&amp;amp;T)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* для записи/считывания значения из определённого адреса в регистр знак доллара отсутствует:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt; movl 0xffff,%eax&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* сегмент.смещение (только в реальном режиме) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
 00:0FFh ;(Intel)&lt;br /&gt;
 00.$0xFF #(AT&amp;amp;T)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* регистр.смещение :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
 es:[bx+0x1a] ;(Intel)&lt;br /&gt;
 %es.0x1a(%bx) #(AT&amp;amp;T)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Указания на индексные методы адресации отличаются тем, что используются круглые, а не квадратные скобки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
 sub eax,[ebx+ecx*4h-20h] ;(Intel)&lt;br /&gt;
 subl -0x20(%ebx,%ecx,0x4),%eax #(AT&amp;amp;T) вычесть из EAX значение (ECX * 4) + EBX - 32&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Отличаются мнемоники некоторых команд (например, &amp;lt;code&amp;gt;cdq&amp;lt;/code&amp;gt; называется &amp;lt;code&amp;gt;cltd&amp;lt;/code&amp;gt; в AT&amp;amp;T).&lt;br /&gt;
&lt;br /&gt;
Отличаются команды ассемблера (такие, как объявление констант, резервирование места).&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Intel-синтаксис]]&lt;br /&gt;
* [[Язык ассемблера]]&lt;br /&gt;
* [[AT&amp;amp;T]]&lt;br /&gt;
* [[:b:ru:Ассемблер в Linux для программистов C|Книга по ассемблеру в Linux на WikiBooks]]&lt;br /&gt;
* [http://asm.sourceforge.net/articles/linasm.html Использование ассемблера в Linux (англ.)]&lt;br /&gt;
* {{нп3|X86 assembly language|Синтаксис ассемблера X86 в английской Википедии|en|X86 assembly language}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Ассемблер]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Fuxx</name></author>
	</entry>
</feed>