_TOXA_ 0 13 мая, 2008 Опубликовано 13 мая, 2008 · Жалоба Доброго времени суток. Короче, есть проблема: написано часть программы (весомая часть) на ассемблере, и часть на С. Хотелось бы вставить в код программы на С часть на ассемблере и все это дело откомпилировать. Может глуповато чуть-чуть, но просто переписывать какую- либо из частей не хочется, да уже и время подпирает. И еще вопрос: если делать вставку в С' шный текст асмовского кода, будет компилятор видеть все регистры (OPTION_REG,INTCON,STATUS и т.д.), или там как-нибудь надо будет их хитрым образом описывать? Заранее спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vanner 0 13 мая, 2008 Опубликовано 13 мая, 2008 · Жалоба В чем вопрос? Бери любой нравящийся компилятор и смотри как использовать ассемблерные вставки и файлы в документации. Особенности оформления ассемблерного текста, вызов функций и т.п. будут там описаны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_TOXA_ 0 13 мая, 2008 Опубликовано 13 мая, 2008 · Жалоба В чем вопрос? Бери любой нравящийся компилятор и смотри как использовать ассемблерные вставки и файлы в документации. Особенности оформления ассемблерного текста, вызов функций и т.п. будут там описаны. Ну впринципе да. Так оно и есть. Просто взял скачал с нета какой-то компилятор, просто не разобрался сразу, а он ошибки выдавал - не знал регистры. А потом help почитал, посмотрел примеры и все пошло. А вообще, хочу найти компилятор под MPLAB, просто там как-то все роднее... На сайте microchip'а вроде есть, тока не знаю, вроде там не все подходят для PIC16. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Grigorij 0 13 мая, 2008 Опубликовано 13 мая, 2008 · Жалоба Доброго времени суток. Короче, есть проблема: написано часть программы (весомая часть) на ассемблере, и часть на С. Хотелось бы вставить в код программы на С часть на ассемблере и все это дело откомпилировать. Может глуповато чуть-чуть, но просто переписывать какую- либо из частей не хочется, да уже и время подпирает. И еще вопрос: если делать вставку в С' шный текст асмовского кода, будет компилятор видеть все регистры (OPTION_REG,INTCON,STATUS и т.д.), или там как-нибудь надо будет их хитрым образом описывать? Заранее спасибо. Могу посоветовать HI-TECH. Он (HI-TECH LITE) входит в MPLAB 8.0, хотя насколько я знаю, его можно скачать отдельно и прикрутить к MPLAB-у. Сейчас на нем пишу программу для МК PIC16F690. В принципе довольно удобно. Конечно есть свои нюансы, но чтение документации и форум позволяют преодолеть возникающие препятствия. Асмовский код компилятор видеть будет (и регистры OPTION_REG, INTCON, STATUS И т.д.), собственно как и Ваши переменные. Вставить его (асмовский код) можно с использованием, например, директив #asm ... #enasm. Также можно использовать написанные ранее библиотеки (я, к сожалению, пока не знаю как). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
asmon 0 13 мая, 2008 Опубликовано 13 мая, 2008 · Жалоба Да, пожалуй, для 16 пиков лучше хайтека сишных компиляторов не найти. Вот 18 и выше - это другое дело. Тут, как говорится, есть варианты. Итак OPTION_REG,INTCON,STATUS и прочие регистры асм увидит, но вначале каждого нужно ставить нижний пробел, например: #asm bcf _STATUS, 0 #endasm То же самое нужно делать и для объявленных вами глобальных переменных. Например: char i; #asm movlw 0x0D movwf _i #endasm Вот с локальными переменными - проблема. Лучше с этим не заморачиваться, хотя, если очень очень нужно - всегда можно посмотреть асмовский листинг. И ещё один совсем маленький ньюанс - вставки типа asm("bcf _STATUS, 0") и #asm bcf _STATUS, 0 #endasm отличаются, это важно в циклах. Почитайте даташит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obama 0 21 мая, 2008 Опубликовано 21 мая, 2008 · Жалоба Посоветуйте С -компилятор для PIC16 Рекомендую CCS - он ставится автоматом при установке MPLAB 8 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_TOXA_ 0 21 мая, 2008 Опубликовано 21 мая, 2008 · Жалоба Рекомендую CCS - он ставится автоматом при установке MPLAB 8 Не знаю. Пробовал ставить какой-то CCS, так что-то не разобрался. Он компилит, а что дальше не понятно. У меня MPLAB v.7.20. Скачал HI-TECH, так там нормально. все понял, разобрался, даже уже вроде запустил свое творение. сейчас отлаживаю. Но все равно за совет спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться