Новичок
Регистрация: 29.04.2009
Сообщений: 5
Репутация: 11
![]() |
Здравствуйте. Подскажите, пожалуйста- существует ли современная версия асемблера типа Parallax для PIC18 микроконтроллеров. Раньше такой был для PIC16, я на нем в середине 90х написал свою первую работающую программу для означенных МК. Там, помню, программа писалась в мнемониках, похожих на семейство х51. Не надо было заморачиваться с переключением банков памяти, удобно было работать с таблицами, какие-то еще вкусности...
|
||
Оценка
|
Новичок
Регистрация: 29.04.2009
Сообщений: 5
Репутация: 11
![]() |
Ну, и не надо... Сам нашел http://www.tech-tools.com/cv16_main.htm. Хотелось бы знать мнение других по данной теме...
|
||
Оценка
|
Новичок
Регистрация: 25.11.2008
Адрес: ДОНЕЦК
Сообщений: 313
Репутация: 58
![]() |
ассемблер для того и существует, чтоб им пользовались любители
"заморачиваться " в остальных случаях работают на С а ежли охота владеть асмом одновременнео сработая с разными семействами - я уже тут "таблички" выкладывал ![]() http://www.rlocman.ru/forum/showthre...4249#post54249 |
||
Оценка
|
Эксперт
Регистрация: 08.11.2009
Сообщений: 2,310
Репутация: 643
![]() ![]() ![]() ![]() ![]() ![]() |
|
||
Оценка
|
Новичок
Регистрация: 25.11.2008
Адрес: ДОНЕЦК
Сообщений: 313
Репутация: 58
![]() |
а никак - я с С не дружу, поскольку почти все решения на кристаллах с малым объемом ПЗУ, да и переучиваться сейчас накладно (тем более для трех уже освоенных семейств) и время...
база в ближайшие год-два снова скакнет вперед, а "вечный студент" уже не котируется - молодым лучше с более высокотехнологичных языков начинать, ежли есть возможность в какую-нибудь "силиконовую долину" сбежать, иначе - лопата&лом будут их основным рабочим инструментом... ![]() |
||
Оценка
|
Новичок
Регистрация: 29.04.2009
Сообщений: 5
Репутация: 11
![]() |
По поводу С- я сравнивал языки С, Паскаль и Бейсик от Микроэлектроники для решения одних и тех же задач, взятых из примеров той же Микроэлектроники. Разницы в объеме откомпилированных программ не заметил (быстродействие не сравнивал), но программа на С так же сложна(для меня, по крайней мере) как и программа на ассемблере для ПИКов... Мнемоники для 51 семейства на порядок проще (для меня, по крайней мере). А мне нужно просто сейчас переписать одну написанную мной программу с Бейсика (Протон Бейсик) на Асемблер (нужно повысить быстродействие), поэтому мне интересно мнение сообщества по данной теме. (Повторяю, на этом ассемблере я уже писал программы, а осваивать практически заново не самые удобные мнемоники- сложновато в моём возрасте). И вот еще вопрос- в MPLAB ведь можносоздавать макросы- мнемоники 51 асма? Кто-нибудь так делает?
Последний раз редактировалось Zahar; 06.08.2011 в 19:31.
Причина: Грамматическая ошибка
|
||
Оценка
|
Эксперт
Регистрация: 08.11.2009
Сообщений: 2,310
Репутация: 643
![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Цитата:
Zahar вы понимаете что эти фразы взаимоисключают друг друга ![]() а ассемблер МРLAB-а поддерживает очень много всего включая и макросы |
||
Оценка
|
Новичок
Регистрация: 29.04.2009
Сообщений: 5
Репутация: 11
![]() |
Цитата:
2. Так я и хочу узнать, КАК создать макрос, например, DJNZ или CSNZ в MPLAB! |
||
Оценка
|
Новичок
Регистрация: 11.08.2009
Адрес: SPb
Сообщений: 155
Репутация: 28
![]() |
Если позволите, скажу свое мнение.
Сравнение ассемблера и Си некорректно. Похоже на сравнение велосипеда и автомобиля. Да, на велосипеде иногда можно быстрее доехать до места, выбрав короткую лесную тропинку, но .. В общем, профессионалы пишут на Си. Потому что это удобнее. Потому что Си придумали тогда, когда ассемблер уже был, а это значит, что Си чем-то лучше ассемблера ![]() ![]() В очень редких слечаях профессионалы делают ассемблерные вставки в Си, там, где очень критична скорость работы программы. Но это очень редко. На самом деле такая ситуация, когда не хватает памяти для десятка команд, или надо ужать основной цикл на пару команд для увеличения быстродействия, означает, что неправильно выбран сам контроллер. Профессионал всегда имеет запас хотя бы процентов 20-30 как по коду так и по быстродействию контроллера. Вообще, задача написать самый короткий код с самым высоким быстродействием была характерна для 80-х годов прошлого века. Сейчас (опять же для профи) более актуальна другая задача - написать работающий код за максимально короткое время. Это связано с экономикой, с рынком, где опоздание на пару недель по сравнению с конкурентом означает многомиллионные потери. Из всего этого не следует, что ассемблер знать не надо. Наоборот, довольно часто возникают вопросы типа: а как компилятор реализовал ту или иную конструкцию Си в кодах ассемблера? Человек берет ассемблерный листинг своей программы на Си (В МПЛАБе есть такая возможность) и с интересом смотрит, как компилятор Си решает проблему перехода через границу страницы памяти при, например, обращении к подпрограмме. И с удивлением обнаруживает, что Компилятор очень аккуратно и грамотно решает эту задачу, полностью освобожная программиста от этих заморочек. Когда-то на заре юности я не знал ни ассемблера ни Си. А надо было написать программу для Электроники-60. Я посмотрел описание ассемблера, попытался разобраться с жуткими конструкциями типа @@ (дважды косвенно) и понял, что ассемблер - это не для среднего ума. И стал писать в машинных кодах, с которыми разобрался достаточно быстро. И был абсолютно уверен, что на ассемблере пишут только высоколобые эстеты ![]() C тех пор прошло много лет. Сейчас первый семестр мои студенты пишут программы на ассемблере. И когда они в начале семестра начинаю стонать: А мы не знаем ассемблера, а мы ничего никогда на нем не писали - я им отвечаю: Ничего ребята, трудно изучать только первые пять языков программирования - дальше легче. Почему мы начинаем с ассемблера? Потому что он требует досконального знания архитектуры контроллера и дает глубокое понимание его работы. Язык высокого уровня прячет некоторые нюансы, которые потом все равно приходится изучать, чтобы выловить все ошибки. А второй семестр (курсовик) студенты пишут на Си, который неплохо знают. И просто получают кучу удовольствия от программирования по сравнению с первым семестром. Ничего - тяжело в учении - легко в бою. ![]() Общий вывод такой : если вы пишите программы для ПИКа раз в полгода, то , возможно, нет смысла уходить от ассемблера. Если чаще - то лучше потратить пару недель/месяцев и изучить азы этого языка. Желание писать макросы для ассемблера - это попытка создать свой язык, представляющий собой нечто среднее между ассемблером и Си. Все это ИМХО, конечно.
Последний раз редактировалось Sergey_53; 07.08.2011 в 12:36.
|
||
Оценка
|
Ответ |
Страница 1 из 2
|
Опции темы | Поиск в этой теме |
Оценка этой теме | |
Похожие темы |
|
|
Обратная связь РадиоЛоцман Вверх |