'.Set noat' не поддерживается для сборки MIPS? - PullRequest
3 голосов
/ 27 октября 2011

В настоящее время я изучаю GNU as и нахожу много полезной информации в "info as".

Я обнаружил, что ".set noat" используется в указанном коде MIPS, но при поиске этой директивы в "info as" я нашел ее объяснение в узле "alpha-директива", но не в "MIPS Dependent Features". Зачем? я что-то упустил в руководстве?

ТИА

Ответы [ 2 ]

2 голосов
/ 27 октября 2011

GNU as поддерживает наборы целевых процессоров (архитектуры ЦП) от семейства микроконтроллеров 8041 до самого мощного Cray и выше. Машинно-зависимый раздел руководства содержит 42 архитектуры.

Большинство 121 псевдоинструкций являются общими для всех архитектур, а также семантики меток и ссылок.им.Большие различия между целями заключаются в конкретных инструкциях процессора, режимах адреса и кодировании команд.Впечатляюще, as может генерировать одинаковые форматы объектных файлов для большинства целей: COFF, ELF, a.out и SOM.

Поскольку большинство псевдоинструкций влияют на ассемблер, а не на выполнение ЦП, неудивительно, чтоони будут применяться к большому количеству архитектур.

2 голосов
/ 27 октября 2011

.set at/noat является действительной конструкцией для архитектуры MIPS и работает аналогично Alpha, отключая / включая предупреждение, когда пользователь использует регистр $at.

Как это иногда бывает, документация и кодне всегда на 100% синхронизированы.Поэтому, пожалуйста, сообщите об ошибке в binutils , а еще лучше - предоставьте патч.Делая это, вы можете учиться у профессионалов (если они действительно не заняты, как это иногда бывает).

Об MIPS против Alpha: кажется, что архитектура Alpha сильно зависит от MIPS.

...