Ассемблер (ASM) для AVR в вопросах и ответах
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Здравствуйте
.
..а в этом разделе можно подписаться (как опытный ассемблерщик) помогать с вашими вопросами(новичка), в обмен на помощ с протеусом?.
Добавимся в вайбер-скайп, и взаимовыгодно будем помогать...
в личку пишите, жду "взаимопомощи"
..а в этом разделе можно подписаться (как опытный ассемблерщик) помогать с вашими вопросами(новичка), в обмен на помощ с протеусом?.
Добавимся в вайбер-скайп, и взаимовыгодно будем помогать...
в личку пишите, жду "взаимопомощи"
Последний раз редактировалось Faun Ср фев 27, 2019 10:51:27, всего редактировалось 1 раз.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
о протеусе лучше, пожалуй, в теме о протеусе... там и научат, если чтоFaun писал(а):чтобы меня научили протеусом пользоваться?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Нуу, в общем-то верно.. Зато здесь сидят те, кто ждет помощи в ассемблере... а тут бац!, "...так я-ж с протеусом на ты!. а в асм-е всё ни как..".
...Загляну и туда, пасип
...Загляну и туда, пасип
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Приветствую всех!
Вопрос про GNU ассемблер.
Сделал макро, проверил. Разместил в отдельном файле.
Ставлю .include "gnu-as_macros.S". При сборке ругается на неизвестный опкод - не видит макроса.
Что-то прям как про те лыжи...
Где и чем намазать, чтобы поехало? 
Получилось только с препроцессором: #include "gnu-as_macros.S".
Добавлено after 11 minutes 34 seconds:
Получается, что макрос "виден" только в одном файле? Как-то совсем не по феншую...
Вопрос про GNU ассемблер.
Сделал макро, проверил. Разместил в отдельном файле.
Ставлю .include "gnu-as_macros.S". При сборке ругается на неизвестный опкод - не видит макроса.
Что-то прям как про те лыжи...
Получилось только с препроцессором: #include "gnu-as_macros.S".
Добавлено after 11 minutes 34 seconds:
Получается, что макрос "виден" только в одном файле? Как-то совсем не по феншую...
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
вы абсолютно неправильно используете ассемблерные модули!
в файле с расширением .S точно такой же модуль проекта, как и любой файл .c - его надо добавлять к числу компилируемых модулей, а не инклюдить.
в файле с расширением .S точно такой же модуль проекта, как и любой файл .c - его надо добавлять к числу компилируемых модулей, а не инклюдить.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Kavka
Попробуй расширение *.txt (#include "gnu-as_macros.txt") - по крайней мере в моём "слэнге" для штатных avrasm2, микрочипьева "среднемладшего" и с51asm подключение текстового файла проходит без замечаний.
Единственно сам файлик надо в простом редакторе делать - у мня dpad (https://yadi.sk/d/LCkSxcvnkqHfWg), у кого еще какой (но не word!!!)...

Попробуй расширение *.txt (#include "gnu-as_macros.txt") - по крайней мере в моём "слэнге" для штатных avrasm2, микрочипьева "среднемладшего" и с51asm подключение текстового файла проходит без замечаний.
Единственно сам файлик надо в простом редакторе делать - у мня dpad (https://yadi.sk/d/LCkSxcvnkqHfWg), у кого еще какой (но не word!!!)...
Re: Ассемблер (ASM) для AVR в вопросах и ответах
вы абсолютно неправильно используете ассемблерные модули!
в файле с расширением .S точно такой же модуль проекта, как и любой файл .c - его надо добавлять к числу компилируемых модулей, а не инклюдить.
в файле с расширением .S точно такой же модуль проекта, как и любой файл .c - его надо добавлять к числу компилируемых модулей, а не инклюдить.
Ещё раз повторюсь - макрос в отдельном файле. Только макрос.
Его надо подключить к другим ассемблерным файлам, чтобы макрос можно было использовать в программе.
Там компилировать нечего, чтобы его отдельным файлом к проекту подключать.
BOB51, ну да, если использовать препроцессор (#include ...), а не ассемблеровскую директиву (.include "..."), то работает. Вопрос поэтому и возник.
Получается, что зона видимости макроса это файл где он определён и через директиву ассемблера макрос не вставляется.
Добавлено after 1 minute 55 seconds:
Не, чего-то не понимаю, однако. И найти доку что-то не плучается...
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
все именно так.Kavka писал(а):если использовать препроцессор (#include ...), а не ассемблеровскую директиву (.include "..."), то работает. Вопрос поэтому и возник.
Получается, что зона видимости макроса это файл где он определён и через директиву ассемблера макрос не вставляется.
gnu-as использует препроцессор точно так же, как и компилятор С/С++, поэтому все директивы препроцессора так же работают (почти - с типом int в макросах есть нюансы).
соответственно, содержимое подключаемого файла видимо там, где он подключен - точно так же, как и с .h-файлами.
только вот расширение .S давать таким подключаемым добавкам не комильфо, т.к. это расширение для ассемблерных модулей предназначено.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Разобрался. Нашёл .include на #define, в смысле нашла коса на камень. 
В итоге, в моём случае, не обойтись без препроцессора.
.include работает как положено. Проверил на простом макросе.
ARV, выглядело так, как будто макрос не определён совсем. Не смотря на на этот самый .include, которым и подключался файл с макросом.
Загвоздка оказалась в том, что нужны определения из заголовозников от avr-libc, а они только через препроцессор. Ну, и я, неверно интерпретировал ошибки компилятора.
В итоге, в моём случае, не обойтись без препроцессора.
.include работает как положено. Проверил на простом макросе.
ARV, выглядело так, как будто макрос не определён совсем. Не смотря на на этот самый .include, которым и подключался файл с макросом.
Загвоздка оказалась в том, что нужны определения из заголовозников от avr-libc, а они только через препроцессор. Ну, и я, неверно интерпретировал ошибки компилятора.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
ну, вас, Петровых, не поймешь... 

если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Извините что не по теме. Может кто-нибудь прислать на почту Sampavel86@gmail.ru прошивку по ссыке https://remont-aud.net/dump/car_audio/d ... -1-0-47425 . Моих куриных мозгов не хватает пройти тест. Так бы даже не стал беспокоить, спасибо за понимание.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
только вот расширение .S давать таким подключаемым добавкам не комильфо, т.к. это расширение для ассемблерных модулей предназначено.
ARV, извините, уж, за назойливость.
https://gcc.gnu.org/onlinedocs/gcc-3.3/gcc/Overall-Options.htmlfile.S
Assembler code which must be preprocessed.
Ассемблер с обработкой препроцессором, однако...
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Не понял, при чем тут назойливость и я. Да, ассемблер с препроцессором, а маленькая .s без препроцессора, но все это МОДУЛИ проекта, которые компилируются раздельно и потом их объектные файлы линкуются в общий результат.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Kavka писал(а):только вот расширение .S давать таким подключаемым добавкам не комильфо, т.к. это расширение для ассемблерных модулей предназначено.
Я как бы вот к чему. Если сделать расширение не .S, например .asm, то такой файл не будет обрабатываться препроцессором и надо отдельно запускать препроцессор.
Соответственно и основной файл модуля и подключаемые файлы через #include тоже .S, чтобы и они обрабатывались препроцессором автоматически.
Формально получается, что все файлы должны быть ассемблерными модулями с обработкой препроцессором - все *.S
ARV, возможно вас смущает, то что все файлы .S, но не все должны быть включены в компиляцию (в проект).
Но ведь аналогичная ситуация с "чистым" ассемблером, когда все файлы *.asm. Но точно так же, одни для компиляции, другие используются косвенно, через .include.
Не отрицаю, что затронутая тема может оказаться из разряда "на вкус и цвет... бозон Хигса кактус".
ARV, спасибо за участие.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист 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 в вопросах и ответах
сомневаюсь, что с кириллическими символами в именах файлов, скармливаемых GCC, все так просто...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- ПростоНуб
- Собутыльник Кота
- Сообщения: 2723
- Зарегистрирован: Пт сен 07, 2018 20:20:02
- Откуда: деревня в Тульской губернии
Re: Ассемблер (ASM) для AVR в вопросах и ответах
ARV, когда люди в чем-то сомневаются, они проводят эксперимент. В данном случе, времени на проведение такого эксперимента надо даже меньше, чем написание Вашего поста. Я, зная то, что gcc уже очень давно адаптирован к юникоду, таких сомнений не питаю 
Re: Ассемблер (ASM) для AVR в вопросах и ответах
-x assembler-with-cpp
Ну, да, какбы оно так.Только не хочется лезть в глубь настроек проекта в студии, или в дебри make-файла...
Тем не менее спасибо за подсказку.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)