реклама на сайте
подробности

 
 
> AVR Studio Assembler, #include "file"
marcinio
сообщение Oct 28 2007, 18:28
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 42
Регистрация: 3-07-07
Пользователь №: 28 861



Короче говоря - код моей проги стал слишком громоздким и непонятным. Вот я и решил его разделить. Сделал новый *.asm документ, где теперь хранитса модуль TWI операций(сделал его так, чтобы было БЫ удобно пользовать и в других проектах - просто готовый модуль).
Прибавил я документ к MAIN.asm (в MAIN.asm написал #include "TWI_Operation_Module").
Но странно то, что дебаггер начинает прогу с TWI_Operation_Module, а не с MAIN.asm, где кстати все векторы interrupt и конешно же - сама программа. 07.gif
Как надо прибавлять файлы с кодом и чтобы прога началась с MAIN.asm!? smile.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Guest_=AVR=_*
сообщение Oct 28 2007, 22:08
Сообщение #2





Guests






Цитата
.inc файлы вставлять в начале main файла, .asm файлы - в конце:
.inc-файлы вставлять ТАМ, где надо, а не в начале или в конце. В идеологии ассемблера это буквальная подстановка, сродни макросам в С, и производится она непосредственно там, где дается директива .include - строка в строку. Простейший вариант структурирования кода - вычленение функционально родственных фрагментов в отдельные .inc-файлы с последующим их включением в общий код там, где это нужно.

В начале текста нужно размещать только штатный архитектурный .inc-файл (XXXdef.inc), а свои вычлененные в .inc фрагменты - там, где это нужно. Разумеется, при этом следует учитывать все "стандартные" ограничения AVRASM2 типа его патологической нелюбви к Forward References - многопроходный ассемблер все это разруливает на раз, а это угробище впадает в ступор. Именно поэтому я пишу на IAR AVR ASM, тараканы которого имеют меньший размер и куда меньшую зловредность по сравнению с AVRASM2 aka AVR Studio Assembler 2

Сообщение отредактировал =AVR= - Oct 28 2007, 22:09
Go to the top of the page
 
+Quote Post
defunct
сообщение Oct 29 2007, 10:00
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(=AVR= @ Oct 29 2007, 01:08) *
.inc-файлы вставлять ТАМ, где надо, а не в начале или в конце. В идеологии ассемблера это буквальная подстановка, сродни макросам в С, и производится она непосредственно там, где дается директива .include - строка в строку. Простейший вариант структурирования кода - вычленение функционально родственных фрагментов в отдельные .inc-файлы с последующим их включением в общий код там, где это нужно.

inc файл предполагает описание макросов, констант, имен регистров и т.п. природа inc файла аналогична сишному .h.
asm - файл непосредственно код.
Поэтому .inc так же как и .h в C целесообразно подключать вначале файла, а asm - по месту, и наиболее благоприятное место для них - в конце файла. Таким образом легко можно просмотреть какие файлы подключены к проекту не блуждая по километровому main.

Цитата
В начале текста нужно размещать только штатный архитектурный .inc-файл (XXXdef.inc), а свои вычлененные в .inc фрагменты - там, где это нужно.

Штатный xxxdef.inc мне например нравится включать в свой собственный hal.inc, который в свою очередь я вставляю как и все inc файлы в начале main.


Цитата
Разумеется, при этом следует учитывать все "стандартные" ограничения AVRASM2 типа его патологической нелюбви к Forward References

Нет у него никакой паталогической нелюбови к Forward Refs, вы что-то попутали.

Цитата
Именно поэтому я пишу на IAR AVR ASM

Каждому конечно свое, но ассемблер чувствительный к регистру - это уже не ассемблер.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 09:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01381 секунд с 7
ELECTRONIX ©2004-2016