Самоучитель по программированию ПИК на ассемблере. Носов.
- PenguinChik
- Нашел транзистор. Понюхал.
- Сообщения: 151
- Зарегистрирован: Ср дек 01, 2021 15:09:09
Самоучитель по программированию ПИК на ассемблере. Носов.
Кто-нибудь пользовался этим самоучителем? А то я повторяю программный код на ассемблере, и у меня при компиляции выскакивает
куча ошибок. Я уже много раз код перепроверил - расхождений с самоучителем вроде нет. Прям не знаю, что делать. Если кто использовал этот самоучитель, скажите, там рабочие коды?
И могут ли быть ошибки, если у меня другая версия MPLAB стоит?
куча ошибок. Я уже много раз код перепроверил - расхождений с самоучителем вроде нет. Прям не знаю, что делать. Если кто использовал этот самоучитель, скажите, там рабочие коды?
И могут ли быть ошибки, если у меня другая версия MPLAB стоит?
- Реклама
Re: Самоучитель по программированию ПИК на ассемблере. Носов
во всех книжках бывают ошибки. От бездумного повторения толку нет, а вот если сами найдете и исправите ошибки - толк будет.
- Родэрик
- Нашел транзистор. Понюхал.
- Сообщения: 162
- Зарегистрирован: Чт ноя 26, 2015 23:22:35
- Откуда: не с Уфы
- Контактная информация:
Re: Самоучитель по программированию ПИК на ассемблере. Носов
Тебе нужен mpasm, а сейчас у тебя pic-as
Re: Самоучитель по программированию ПИК на ассемблере. Носов
лучший самоучитель это даташит+протеус ,
Re: Самоучитель по программированию ПИК на ассемблере. Носов
Да уж, когда не знаешь что такое регистр и как ногой дернуть, несомненно, 500-страничный даташит на инглише лучший "помощник"
Пока протеус заставишь работать как надо, забудешь зачем его устанавливал...
Пока протеус заставишь работать как надо, забудешь зачем его устанавливал...
Астролябия-сама меряет, было бы что мерять!!!
- Реклама
Re: Самоучитель по программированию ПИК на ассемблере. Носов
есть даташиты на русском , а дальше по аналогии ,
я старый чел (60 лет) изучил месяца за два и дальше по нарастающей ,команд то всего 35
молодым то и вовсе должно как орешки щелкать
Добавлено after 3 minutes 6 seconds:
Re: Самоучитель по программированию ПИК на ассемблере. Носов.
никаких мплабов не проходил ,только даташит+протеус+блокнот винды
я старый чел (60 лет) изучил месяца за два и дальше по нарастающей ,команд то всего 35
молодым то и вовсе должно как орешки щелкать
Добавлено after 3 minutes 6 seconds:
Re: Самоучитель по программированию ПИК на ассемблере. Носов.
никаких мплабов не проходил ,только даташит+протеус+блокнот винды
Re: Самоучитель по программированию ПИК на ассемблере. Носов
[uquote="PenguinChik",url="/forum/viewtopic.php?p=4312374#p4312374"]Кто-нибудь пользовался этим самоучителем? А то я повторяю программный код на ассемблере, и у меня при компиляции выскакивает
куча ошибок. Я уже много раз код перепроверил - расхождений с самоучителем вроде нет. Прям не знаю, что делать. Если кто использовал этот самоучитель, скажите, там рабочие коды?
И могут ли быть ошибки, если у меня другая версия MPLAB стоит?[/uquote]
В большинстве случаев имелся в виду старо-добрый mplab 8.92...
Как насчет mplab X не скажжу - IDE навороченная и на "устаревших ПК" весьма избыточная и медлительная.
Самоучителей большое множжество - не имея под руками конкретной книги подсказать что-либо практически невозможно.
Тем более, что используя IDE нужно еще корректно настройку проекта сделать.
Как вариант - можно глянуть ссылки на учебно-справочные материалы, что порассыпал где-то в старых темах:
( https://radiokot.ru/forum/viewtopic.php?f=62&t=94201
https://radiokot.ru/forum/viewtopic.php?f=62&t=156720 )
там где-то и несколько проектов для ПИКов под ассемблером для mplab 8.92 и "шпоры" по системе команд и схемки программаторов "для простолюбителей" были
Это еще там, где бесплатной IDE нету можно делать (у меня так для c51asm для mcs51 сделано из практического жлобства - данный компилятор свободно-бесплатный). Для ПИКов и АВРок вполне удачно "стандартно-устаревшие" IDE удобны - там и симуляторы встроенные весьма приличные имеются.
Доугое дело - пойдут обновленные серии МК - там ужж придется и компиляторы обновлять (или файлы описаний ресурсов в старых модифицировать/дописывать).

куча ошибок. Я уже много раз код перепроверил - расхождений с самоучителем вроде нет. Прям не знаю, что делать. Если кто использовал этот самоучитель, скажите, там рабочие коды?
И могут ли быть ошибки, если у меня другая версия MPLAB стоит?[/uquote]
В большинстве случаев имелся в виду старо-добрый mplab 8.92...
Как насчет mplab X не скажжу - IDE навороченная и на "устаревших ПК" весьма избыточная и медлительная.
Самоучителей большое множжество - не имея под руками конкретной книги подсказать что-либо практически невозможно.
Тем более, что используя IDE нужно еще корректно настройку проекта сделать.
Как вариант - можно глянуть ссылки на учебно-справочные материалы, что порассыпал где-то в старых темах:
( https://radiokot.ru/forum/viewtopic.php?f=62&t=94201
https://radiokot.ru/forum/viewtopic.php?f=62&t=156720 )
там где-то и несколько проектов для ПИКов под ассемблером для mplab 8.92 и "шпоры" по системе команд и схемки программаторов "для простолюбителей" были
Запуск компилятора с командной строки *.bat файлом?vitos писал(а):...
Добавлено after 3 minutes 6 seconds:
Re: Самоучитель по программированию ПИК на ассемблере. Носов.
никаких мплабов не проходил ,только даташит+протеус+блокнот винды
Это еще там, где бесплатной IDE нету можно делать (у меня так для c51asm для mcs51 сделано из практического жлобства - данный компилятор свободно-бесплатный). Для ПИКов и АВРок вполне удачно "стандартно-устаревшие" IDE удобны - там и симуляторы встроенные весьма приличные имеются.
Доугое дело - пойдут обновленные серии МК - там ужж придется и компиляторы обновлять (или файлы описаний ресурсов в старых модифицировать/дописывать).
- PenguinChik
- Нашел транзистор. Понюхал.
- Сообщения: 151
- Зарегистрирован: Ср дек 01, 2021 15:09:09
Re: Самоучитель по программированию ПИК на ассемблере. Носов
А какая разница между PIC-AS и MPASM ? Я уже понял, что там немного различный синтаксис...Просто смысл было придумывать PIC-AS, если есть MPASM? Что, PIC-AS чем-то лучше ?
Re: Самоучитель по программированию ПИК на ассемблере. Носов
Mpasm это компилятор от разработчика данных микроконтроллеров.
Помимо него есть еще много компиляторов от "сторонних авторов" - что использовать каждый определяет самостоятельно.
Однако... Компилятор от разработчика МК(тем более, ежли оный идет в составе среды разработки) более удобно использовать.
Второй определяющий выбор фактор - распространенность избранного компилятора - чем более распространен, тем легче "найти общий язык" с друзьями-радиолюбителями.
Осваивать несколько компиляторов одного и того же языка программирования (тем более ассемблера) это из разряда садомазохизма для избранных.
Так сложилось, что на "начальном этапе" развития было весьма много желающих писать компиляторы. Со временем этот вопрос потихоньку "утрясли" в пользу стандартно применяемого набора компиляторов и IDE.

Помимо него есть еще много компиляторов от "сторонних авторов" - что использовать каждый определяет самостоятельно.
Однако... Компилятор от разработчика МК(тем более, ежли оный идет в составе среды разработки) более удобно использовать.
Второй определяющий выбор фактор - распространенность избранного компилятора - чем более распространен, тем легче "найти общий язык" с друзьями-радиолюбителями.
Осваивать несколько компиляторов одного и того же языка программирования (тем более ассемблера) это из разряда садомазохизма для избранных.
Так сложилось, что на "начальном этапе" развития было весьма много желающих писать компиляторы. Со временем этот вопрос потихоньку "утрясли" в пользу стандартно применяемого набора компиляторов и IDE.
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1907
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: Самоучитель по программированию ПИК на ассемблере. Носов
Если собираетесь начать писать код (судя по названию темы), почему бы не начать с языка высокого уровня? С, с MPLAB или напр. CCS являются перспективными. Лучше всего то, что способ выражения в алгоритмическом письме в конечном итоге вероятно в будушем принесет пользу другим микроконтроллерам (напр. STM8, STM32) - команды напр. только иметь другое имя.
На уровне контроллеров еще 10-15 лет назад, при проекты низкой сложности, средней сложности и даже часть высокой сложности помещаютсяь в память без использования чистого ассемблера. Будете писать код для логики в выбранном устройстве и взаимодействие между периферией, а не то, как управлять конкретным МК на уровне регистров и портов. В первом варианте напр. переход от одной МК к другой часто занимает секунды/минуты - напр. беру старый проект, переименовываю контроллер, устанавливаю новые выходы, некоторые функции пишу по-другому, некоторые - удаляю и компилирую. Готово - новый проект на новом чипе с использованием большей части старого кода.
На уровне контроллеров еще 10-15 лет назад, при проекты низкой сложности, средней сложности и даже часть высокой сложности помещаютсяь в память без использования чистого ассемблера. Будете писать код для логики в выбранном устройстве и взаимодействие между периферией, а не то, как управлять конкретным МК на уровне регистров и портов. В первом варианте напр. переход от одной МК к другой часто занимает секунды/минуты - напр. беру старый проект, переименовываю контроллер, устанавливаю новые выходы, некоторые функции пишу по-другому, некоторые - удаляю и компилирую. Готово - новый проект на новом чипе с использованием большей части старого кода.
- PenguinChik
- Нашел транзистор. Понюхал.
- Сообщения: 151
- Зарегистрирован: Ср дек 01, 2021 15:09:09
Re: Самоучитель по программированию ПИК на ассемблере. Носов
[uquote="BOB51",url="/forum/viewtopic.php?p=4312548#p4312548"]Mpasm это компилятор от разработчика данных микроконтроллеров.
[/uquote]
А что PIC-AS, разве это не от разработчика? У меня в MPLAB был PIC-AS...MPLAB - это же от разработчика.
А что PIC-AS, разве это не от разработчика? У меня в MPLAB был PIC-AS...MPLAB - это же от разработчика.
- КРАМ
- Друг Кота
- Сообщения: 25259
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Самоучитель по программированию ПИК на ассемблере. Носов
Какая разница от кого он?
Важно, что mpasm и pic-as разные по синтаксису проекта ассемблеры.
Pic-as по сути часть Си-проекта и может быть легко скомбинирован с Си-файлами исходника.
И в МПЛАБе нет pic-as. Он есть только в составе компилятора. Без установки ХС8 работать с ним невозможно.
Важно, что mpasm и pic-as разные по синтаксису проекта ассемблеры.
Pic-as по сути часть Си-проекта и может быть легко скомбинирован с Си-файлами исходника.
И в МПЛАБе нет pic-as. Он есть только в составе компилятора. Без установки ХС8 работать с ним невозможно.
- PenguinChik
- Нашел транзистор. Понюхал.
- Сообщения: 151
- Зарегистрирован: Ср дек 01, 2021 15:09:09
Re: Самоучитель по программированию ПИК на ассемблере. Носов
Ну да...разные. Кто-то в видеоуроке ставит метку, и обозначает ее словом METKA, чтобы с помощью команды "goto" к ней вернуться. И все у него нормально компилируется. Я ставлю METKA, и у меня ругается, типо компилятор не понимает, что это за команда такая.
Последний раз редактировалось PenguinChik Пн окт 31, 2022 16:20:14, всего редактировалось 1 раз.
Re: Самоучитель по программированию ПИК на ассемблере. Носов
Компилятор ассемблера для работы в составе ЯВУ(Си) и компилятор для самостоятельного использования весьма разные...
И не только для ПИКов.

Помимо того у ПИКов еще и разница даже в mpasm для проектов с фиксированными и перемещаемыми программами...

И не только для ПИКов.
Помимо того у ПИКов еще и разница даже в mpasm для проектов с фиксированными и перемещаемыми программами...
Re: Самоучитель по программированию ПИК на ассемблере. Носов
А слово МЕТКА - русскими буквами? Ну тогда чож удивляетесь то.
В MPASM и PIC-AS мнемоники и синтаксис команд должны быть одинаковыми, поскольку в даташите на микроконтроллер оное уже прописано.
В MPASM и PIC-AS мнемоники и синтаксис команд должны быть одинаковыми, поскольку в даташите на микроконтроллер оное уже прописано.
Последний раз редактировалось MLX90640 Пн окт 31, 2022 16:34:26, всего редактировалось 1 раз.
- КРАМ
- Друг Кота
- Сообщения: 25259
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Самоучитель по программированию ПИК на ассемблере. Носов
[uquote="PenguinChik",url="/forum/viewtopic.php?p=4312613#p4312613"]у меня ругается[/uquote]
Еще раз предлагаю не заниматься пустопорожним мазохизмом и выбрать один из двух вариантов:
1. Поставить версию MPLABX 5.35 и спокойно писать на MPASM с примерами из книжки
2. Изучить документацию на PIC-AS и править код согласно документации.
ЗЫ. Метки в PIC-AS ДОЛЖНЫ иметь на конце двоеточние. В MPASMX двоеточие необязательно.
Еще раз предлагаю не заниматься пустопорожним мазохизмом и выбрать один из двух вариантов:
1. Поставить версию MPLABX 5.35 и спокойно писать на MPASM с примерами из книжки
2. Изучить документацию на PIC-AS и править код согласно документации.
ЗЫ. Метки в PIC-AS ДОЛЖНЫ иметь на конце двоеточние. В MPASMX двоеточие необязательно.
Re: Самоучитель по программированию ПИК на ассемблере. Носов
Что-то у топикстартера НЕ ТО (туманит)...
mpasm такое вполне пропускает без замечаний...

Код: Выделить всё
дуб
nop
goto дуб- PenguinChik
- Нашел транзистор. Понюхал.
- Сообщения: 151
- Зарегистрирован: Ср дек 01, 2021 15:09:09
Re: Самоучитель по программированию ПИК на ассемблере. Носов
Ну вот, установил МПЛАБ 4.05, и все равно повылазили ошибки. Может там нужно еще что-нибудь дополнительно подключать к проету?
- Вложения
-
- Воп2.jpg
- (230 КБ) 159 скачиваний
Re: Самоучитель по программированию ПИК на ассемблере. Носов
Для обозначения 16-ричной формы числа пишите префикс 0x , то есть 0x06. И там все адреса регистров - однобайтные, поэтому нет смысла записывать как двухбайтное число, плодя лишние нули.
Во-вторых, принято, чтобы инструкции шли во втором столбце табуляции, то есть, от начала строки нажмите один раз клавишу Tab на клавиатуре и дальше пишите инструкцию movlw .
Судя по всему, этот самоучитель от Носова похож на аналогичное творение Корабельникова, который в свое время "прославился" множеством ошибок.
Во-вторых, принято, чтобы инструкции шли во втором столбце табуляции, то есть, от начала строки нажмите один раз клавишу Tab на клавиатуре и дальше пишите инструкцию movlw .
Судя по всему, этот самоучитель от Носова похож на аналогичное творение Корабельникова, который в свое время "прославился" множеством ошибок.
- КРАМ
- Друг Кота
- Сообщения: 25259
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Самоучитель по программированию ПИК на ассемблере. Носов
[uquote="MLX90640",url="/forum/viewtopic.php?p=4312884#p4312884"]этот самоучитель от Носова похож на аналогичное творение Корабельникова[/uquote]
К гадалке не ходи...
Определение регистров периферии в коде вместо включения хедера контроллера в проект, магическое число в конфиге - кагбэ намекаэ...
[uquote="PenguinChik",url="/forum/viewtopic.php?p=4312879#p4312879"]Может там нужно еще что-нибудь дополнительно подключать к проекту?[/uquote]
К проекту нужно подключить хедер - файл <название МК>.inc.
Кроме того, в третий раз предлагаю читать документацию на ассемблер. В данном случае на mpasmx. Ну и на среду.
Кроме того, не нужно скачивать среду разработки из непонятных источников. Судя по версии, вы ее нашли на помойках интернета. Качать нужно с сайта производителя: https://www.microchip.com/en-us/tools-r ... 20Archives
К гадалке не ходи...
Определение регистров периферии в коде вместо включения хедера контроллера в проект, магическое число в конфиге - кагбэ намекаэ...
[uquote="PenguinChik",url="/forum/viewtopic.php?p=4312879#p4312879"]Может там нужно еще что-нибудь дополнительно подключать к проекту?[/uquote]
К проекту нужно подключить хедер - файл <название МК>.inc.
Кроме того, в третий раз предлагаю читать документацию на ассемблер. В данном случае на mpasmx. Ну и на среду.
Кроме того, не нужно скачивать среду разработки из непонятных источников. Судя по версии, вы ее нашли на помойках интернета. Качать нужно с сайта производителя: https://www.microchip.com/en-us/tools-r ... 20Archives


