Ser60 писал(а):Понимаю. Но при программировании MSP430 на ассемблере в CCS или IAR можно использовать .h файлы для С.
Точее, для Си и для асма используется один и тот же набор .h- и, как выяснилось, .com-файлов.Так вот, набор файлов общий, а как возникают какие-то различия в сишной и ассемблерной нотации, используют условную компиляцию, по параметру __ASM_HEADER__.
Я до этого ни разу не имел дела с ГНУсью, а в нормальных асмах
ВСЕ задается в исходнике, а не спрятано где-то в ключах и прочих невидимых хитростях. Тому же AVR: указал в начале исходника
.include <m8.inc>
и все, асм знает, что работаем с Мегой-8. А в этой ГНУси, блин, все через *опу. Поэтому-то я поначалу и не обратил внимания на файлы .com. То есть, конечно, я заглянул в парочку из них, но чего-то специфически ассемблерного там не обнаружил и решил, что эти файлы только для Си. Ну, и забыл про них. Более того, вчера вечером, сочиняя ответ и очередной набор вопросов, я таки нашел файл msp430g2553.com, заглянул в него и лишний раз убедился, что ничего специфически ассемблерного там нет. А вот файл lnk_msp430g2553.com, как оказалось, как раз для асма. Но он мне не попался под руку. Попадись он, так я бы, скорее всего, и сам бы разобрался. Но увы, сразу он мне не попался, откуда и наша дискуссия.
В общем, спасибо!
Честно скажу, читать его мне не хочется. С одной стороны, знаешь один ассемблер - считай, что знаешь все, а я их знал столько, что сейчас и не вспомнишь. Начиная с языка символического кодирования ЭВМ "Минск-22" и ассемблера Системы-360. С другой стороны, читать
такие объемы английского текста ради того, чтобы прояснить несколько непонятных мест для меня чересчур, не осилю. Да и не особенно надо, все что меня интересовало, я уже выяснил, остальное же - асм, как асм. Ну, различает в именах малые и большие буквы, ГНУсная мерзость, но что делать - другого все равно нет...
Плюсик я нажал.
Кстати, как я понимаю, незаполненные вектора будут содержать 0xFFFF. А как ЦПУ на это отреагирует, если вдруг произойдет непредусмотренное прерывание? В смысле, не обидится ли на нечетный адрес команды? Или банально сочтет его тождественным ресету?
У любимой PDP-11 в этом пункте, помнится, было разночтение - "большие" машинки делали Trap to 4, если не врет мой склероз, а малые, в смысле LSI-11 (у нас - Э-60) просто игнорировали младший бит адреса. А как 430?