Замена .SET в командной строке

У меня есть сборка (Microblaze), которую мне нужно собрать (с помощью кросс-ассемблера и компоновщика GCC) и выполнить много раз с (одними и теми же) константами, которые в настоящее время фиксируются с помощью

.SET

команды, меняющиеся каждый раз.

Есть ли способ автоматизировать настройку констант в сборке таким образом и избежать скучной задачи сброса кода для каждой сборки?


person adrianmcmenamin    schedule 12.03.2015    source источник
comment
Не уверен, что понял ваш вопрос, что вы хотите автоматизировать? Но да, если у вас есть какой-то источник констант, вы можете использовать внешние инструменты для создания набора директив .set, которые вы затем можете передать ассемблеру перед файлами, которые на них ссылаются.   -  person Jester    schedule 13.03.2015


Ответы (1)


Вы можете использовать мощь препроцессора C в ваших ассемблерных файлах. Это можно сделать, просто изменив расширение файла с .s на .S (заглавная S) на Unix-подобной платформе или на .sx в Windows. Затем использование gcc вместо gas для этих файлов позволит препроцессору C сначала пройти через исходный код, а затем автоматически будет вызван gas.

В этом случае вы можете использовать все обычные препроцессоры #define, #ifdef и т. д. И, конечно же, вы можете передать эти определения из командной строки с помощью параметра gcc -D.

person dkz    schedule 13.03.2015