После установки любой версии Xcode, предназначенной для компьютеров Mac на базе процессоров Intel, вы сможете писать ассемблерный код. Xcode - это набор инструментов, только одним из которых является IDE, поэтому вам не нужно его использовать, если вы этого не хотите. (Тем не менее, если есть определенные вещи, которые вы считаете неуклюжим, пожалуйста, сообщите об ошибке на репортер ошибок Apple - каждая ошибка уходит на разработку.) Кроме того, при установке Xcode будут установлены и Netwide Assembler (NASM), и GNU Assembler (GAS); это позволит вам использовать любой синтаксис ассемблера, который вам удобнее.
Вы также захотите взглянуть на Руководства по компиляции и отладке , потому что они документируют соглашения о вызовах, используемые для различных архитектур, на которых работает Mac OS X, а также как двоичный формат и загрузчик работает. В частности, соглашения о вызовах IA-32 (x86-32) могут немного отличаться от того, к чему вы привыкли.
Еще одна вещь, которую нужно иметь в виду, заключается в том, что интерфейс системных вызовов в Mac OS X отличается от того, к чему вы могли привыкнуть в DOS / Windows, Linux или других версиях BSD. Системные вызовы не считаются стабильным API в Mac OS X; вместо этого вы всегда проходите через libSystem. Это гарантирует, что вы пишете код, переносимый из одной версии ОС в другую.
Наконец, имейте в виду, что Mac OS X работает на довольно широком спектре аппаратного обеспечения - от 32-разрядного Core Single до мощного четырехъядерного Xeon. При кодировании на ассемблере вы можете не оптимизировать столько, сколько думаете; то, что оптимально на одной машине, может быть пессимально на другой. Apple регулярно измеряет свои компиляторы и настраивает их вывод с помощью флага оптимизации «-Os», чтобы он соответствовал всей линейке, а также имеются обширные библиотеки векторной / матричной обработки, которые вы можете использовать для достижения высокой производительности с помощью ручных настроек, специфичных для CPU. .
Собираться на сборку ради веселья - это здорово. В наши дни сборка на скорость не для слабонервных.