11.1. Синтаксис AT&T

Проблема в том, что ассемблер для UNIX кардинально отличается от того, что рассматривалось в этой книге до сих пор. В то время как основные ассемблеры для MS DOS и Windows используют синтаксис, предложенный компанией Intel, изобилующий неоднозначностями, часть которых решается за счет использова­ния поясняющих операторов типа byte ptr, word ptr или dword ptr, а часть не ре­шается вообще (все те случаи, когда приходится указывать код команды вруч­ную), в UNIX с самого начала используется вариант универсального синтаксиса AT&T, синтаксис SysV/386, который специально создавался с целью устранения неоднозначностей в толковании команд. Вообще говоря, существует и ассемблер для DOS/Windows, использующий АТ&Т-синтаксис, - это gas, входящий в набор средств разработки DJGPP, а также ассемблер, использующий Intel-синтаксис и способный создавать объектные файлы в формате ELF, применяемом в большин­стве UNIX-систем, - это бесплатно распространяемый в Internet ассемблер NASM. Мы будем рассматривать только ассемблеры, непосредственно входящие в состав операционных систем, то есть те, которые вызываются стандартной командой as.