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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

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

Сообщение pyzhman »

Наконец-то!
Docendo discimus
МКС
Встал на лапы
Сообщения: 147
Зарегистрирован: Чт янв 10, 2013 21:03:18

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

Сообщение МКС »

Наконец-то!

Прошло пол месяца, ну что поддувало тебе полегчало?
Faun
Встал на лапы
Сообщения: 95
Зарегистрирован: Вт ноя 09, 2010 22:39:31

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

Сообщение Faun »

Здравствуйте :).
..а в этом разделе можно подписаться (как опытный ассемблерщик) помогать с вашими вопросами(новичка), в обмен на помощ с протеусом?.
Добавимся в вайбер-скайп, и взаимовыгодно будем помогать...
в личку пишите, жду "взаимопомощи" :)
Последний раз редактировалось Faun Ср фев 27, 2019 10:51:27, всего редактировалось 1 раз.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

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

Мой уютный бложик... заходите!
Faun
Встал на лапы
Сообщения: 95
Зарегистрирован: Вт ноя 09, 2010 22:39:31

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

Сообщение Faun »

Нуу, в общем-то верно.. Зато здесь сидят те, кто ждет помощи в ассемблере... а тут бац!, "...так я-ж с протеусом на ты!. а в асм-е всё ни как..".
...Загляну и туда, пасип :)
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

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

Сообщение Kavka »

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

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

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

Добавлено after 11 minutes 34 seconds:
Получается, что макрос "виден" только в одном файле? Как-то совсем не по феншую...
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

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

Мой уютный бложик... заходите!
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15539
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

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

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

Сообщение Kavka »

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

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

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

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

Добавлено after 1 minute 55 seconds:
Не, чего-то не понимаю, однако. И найти доку что-то не плучается... :-(
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

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

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

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

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

Мой уютный бложик... заходите!
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

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

Сообщение Kavka »

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

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

Загвоздка оказалась в том, что нужны определения из заголовозников от avr-libc, а они только через препроцессор. Ну, и я, неверно интерпретировал ошибки компилятора.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

ну, вас, Петровых, не поймешь... :dont_know:
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Bachok
Родился
Сообщения: 1
Зарегистрирован: Ср мар 20, 2019 11:56:11

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

Сообщение Bachok »

Извините что не по теме. Может кто-нибудь прислать на почту Sampavel86@gmail.ru прошивку по ссыке https://remont-aud.net/dump/car_audio/d ... -1-0-47425 . Моих куриных мозгов не хватает пройти тест. Так бы даже не стал беспокоить, спасибо за понимание.
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

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

Сообщение Kavka »

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

ARV, извините, уж, за назойливость.
file.S
Assembler code which must be preprocessed.
https://gcc.gnu.org/onlinedocs/gcc-3.3/gcc/Overall-Options.html
Ассемблер с обработкой препроцессором, однако...
:)
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

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

Мой уютный бложик... заходите!
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

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

Сообщение Kavka »

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

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

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

Не отрицаю, что затронутая тема может оказаться из разряда "на вкус и цвет... бозон Хигса кактус". :))
ARV, спасибо за участие.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

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

Сообщение ПростоНуб »

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

Только в том случае, если компилятору явно не указано, что делать с данным файлом. Например, ключем -x assembler-with-cpp. И тогда вообще расширение может быть хоть ".мой ассемблерный изврат" :)))
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

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

Мой уютный бложик... заходите!
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

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

Сообщение ПростоНуб »

ARV, когда люди в чем-то сомневаются, они проводят эксперимент. В данном случе, времени на проведение такого эксперимента надо даже меньше, чем написание Вашего поста. Я, зная то, что gcc уже очень давно адаптирован к юникоду, таких сомнений не питаю :)))
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

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

Сообщение Kavka »

-x assembler-with-cpp
Ну, да, какбы оно так.
Только не хочется лезть в глубь настроек проекта в студии, или в дебри make-файла...
Тем не менее спасибо за подсказку.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Ответить

Вернуться в «AVR»