Обсуждаем контроллеры компании Atmel.
Ответить

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сб фев 02, 2019 07:00:10

Наконец-то!

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сб фев 16, 2019 17:12:11

Наконец-то!

Прошло пол месяца, ну что поддувало тебе полегчало?

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Ср фев 27, 2019 10:47:22

Здравствуйте :).
..а в этом разделе можно подписаться (как опытный ассемблерщик) помогать с вашими вопросами(новичка), в обмен на помощ с протеусом?.
Добавимся в вайбер-скайп, и взаимовыгодно будем помогать...
в личку пишите, жду "взаимопомощи" :)
Последний раз редактировалось Faun Ср фев 27, 2019 10:51:27, всего редактировалось 1 раз.

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Ср фев 27, 2019 10:50:15

Faun писал(а):чтобы меня научили протеусом пользоваться?
о протеусе лучше, пожалуй, в теме о протеусе... там и научат, если что :)

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Ср фев 27, 2019 10:54:38

Нуу, в общем-то верно.. Зато здесь сидят те, кто ждет помощи в ассемблере... а тут бац!, "...так я-ж с протеусом на ты!. а в асм-е всё ни как..".
...Загляну и туда, пасип :)

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Ср мар 20, 2019 06:36:50

Приветствую всех!

Вопрос про GNU ассемблер.
Сделал макро, проверил. Разместил в отдельном файле.
Ставлю .include "gnu-as_macros.S". При сборке ругается на неизвестный опкод - не видит макроса.
Что-то прям как про те лыжи... :-( Где и чем намазать, чтобы поехало? :-)

Получилось только с препроцессором: #include "gnu-as_macros.S".

Добавлено after 11 minutes 34 seconds:
Получается, что макрос "виден" только в одном файле? Как-то совсем не по феншую...

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Ср мар 20, 2019 06:43:52

вы абсолютно неправильно используете ассемблерные модули!
в файле с расширением .S точно такой же модуль проекта, как и любой файл .c - его надо добавлять к числу компилируемых модулей, а не инклюдить.

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Ср мар 20, 2019 08:23:10

Kavka
Попробуй расширение *.txt (#include "gnu-as_macros.txt") - по крайней мере в моём "слэнге" для штатных avrasm2, микрочипьева "среднемладшего" и с51asm подключение текстового файла проходит без замечаний.
Единственно сам файлик надо в простом редакторе делать - у мня dpad (https://yadi.sk/d/LCkSxcvnkqHfWg), у кого еще какой (но не word!!!)...
:roll:

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Ср мар 20, 2019 09:39:13

вы абсолютно неправильно используете ассемблерные модули!
в файле с расширением .S точно такой же модуль проекта, как и любой файл .c - его надо добавлять к числу компилируемых модулей, а не инклюдить.

Ещё раз повторюсь - макрос в отдельном файле. Только макрос.
Его надо подключить к другим ассемблерным файлам, чтобы макрос можно было использовать в программе.
Там компилировать нечего, чтобы его отдельным файлом к проекту подключать.

BOB51, ну да, если использовать препроцессор (#include ...), а не ассемблеровскую директиву (.include "..."), то работает. Вопрос поэтому и возник.

Получается, что зона видимости макроса это файл где он определён и через директиву ассемблера макрос не вставляется.

Добавлено after 1 minute 55 seconds:
Не, чего-то не понимаю, однако. И найти доку что-то не плучается... :-(

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Ср мар 20, 2019 10:47:14

Kavka писал(а):если использовать препроцессор (#include ...), а не ассемблеровскую директиву (.include "..."), то работает. Вопрос поэтому и возник.

Получается, что зона видимости макроса это файл где он определён и через директиву ассемблера макрос не вставляется.
все именно так.
gnu-as использует препроцессор точно так же, как и компилятор С/С++, поэтому все директивы препроцессора так же работают (почти - с типом int в макросах есть нюансы).

соответственно, содержимое подключаемого файла видимо там, где он подключен - точно так же, как и с .h-файлами.

только вот расширение .S давать таким подключаемым добавкам не комильфо, т.к. это расширение для ассемблерных модулей предназначено.

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Ср мар 20, 2019 11:22:05

Разобрался. Нашёл .include на #define, в смысле нашла коса на камень. :-)
В итоге, в моём случае, не обойтись без препроцессора.
.include работает как положено. Проверил на простом макросе.

ARV, выглядело так, как будто макрос не определён совсем. Не смотря на на этот самый .include, которым и подключался файл с макросом.

Загвоздка оказалась в том, что нужны определения из заголовозников от avr-libc, а они только через препроцессор. Ну, и я, неверно интерпретировал ошибки компилятора.

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Ср мар 20, 2019 11:29:05

ну, вас, Петровых, не поймешь... :dont_know:

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Ср мар 20, 2019 12:16:43

Извините что не по теме. Может кто-нибудь прислать на почту Sampavel86@gmail.ru прошивку по ссыке https://remont-aud.net/dump/car_audio/d ... -1-0-47425 . Моих куриных мозгов не хватает пройти тест. Так бы даже не стал беспокоить, спасибо за понимание.

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Пт мар 22, 2019 16:54:06

только вот расширение .S давать таким подключаемым добавкам не комильфо, т.к. это расширение для ассемблерных модулей предназначено.

ARV, извините, уж, за назойливость.
file.S
Assembler code which must be preprocessed.
https://gcc.gnu.org/onlinedocs/gcc-3.3/gcc/Overall-Options.html
Ассемблер с обработкой препроцессором, однако...
:)

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Пт мар 22, 2019 18:17:12

Не понял, при чем тут назойливость и я. Да, ассемблер с препроцессором, а маленькая .s без препроцессора, но все это МОДУЛИ проекта, которые компилируются раздельно и потом их объектные файлы линкуются в общий результат.

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сб мар 23, 2019 06:57:08

Kavka писал(а):только вот расширение .S давать таким подключаемым добавкам не комильфо, т.к. это расширение для ассемблерных модулей предназначено.

Я как бы вот к чему. Если сделать расширение не .S, например .asm, то такой файл не будет обрабатываться препроцессором и надо отдельно запускать препроцессор.
Соответственно и основной файл модуля и подключаемые файлы через #include тоже .S, чтобы и они обрабатывались препроцессором автоматически.
Формально получается, что все файлы должны быть ассемблерными модулями с обработкой препроцессором - все *.S

ARV, возможно вас смущает, то что все файлы .S, но не все должны быть включены в компиляцию (в проект).
Но ведь аналогичная ситуация с "чистым" ассемблером, когда все файлы *.asm. Но точно так же, одни для компиляции, другие используются косвенно, через .include.

Не отрицаю, что затронутая тема может оказаться из разряда "на вкус и цвет... бозон Хигса кактус". :))
ARV, спасибо за участие.

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сб мар 23, 2019 11:12:35

Если сделать расширение не .S, например .asm, то такой файл не будет обрабатываться препроцессором и надо отдельно запускать препроцессор.

Только в том случае, если компилятору явно не указано, что делать с данным файлом. Например, ключем -x assembler-with-cpp. И тогда вообще расширение может быть хоть ".мой ассемблерный изврат" :)))

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сб мар 23, 2019 17:54:55

сомневаюсь, что с кириллическими символами в именах файлов, скармливаемых GCC, все так просто...

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Вс мар 24, 2019 00:20:55

ARV, когда люди в чем-то сомневаются, они проводят эксперимент. В данном случе, времени на проведение такого эксперимента надо даже меньше, чем написание Вашего поста. Я, зная то, что gcc уже очень давно адаптирован к юникоду, таких сомнений не питаю :)))

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Пт мар 29, 2019 11:31:50

-x assembler-with-cpp
Ну, да, какбы оно так.
Только не хочется лезть в глубь настроек проекта в студии, или в дебри make-файла...
Тем не менее спасибо за подсказку.
Ответить