Отговори на тема  [ 33 мнения ]  Отиди на страница Предишна  1, 2, 3
Въпрос за MPLAB 
Автор Съобщение
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Вто Май 23, 2006 4:56 pm
Мнения: 113
Местоположение: Варна
Мнение 
setoy написа:
Добре, само че асемблера няма откъде да знае коя е текущо установената банка , това е твоя работа. Да речем :

select bank0
//wlizame w prekyswane
movwf porta

Става много весело ако вътре в прекъсването не оставиш банките така както са били.


Да, това е така и е точно описан потенциален проблем. Основната причина обаче е, че когато компилатора изгражда програмата регистрите нямат стойности, а само адреси. Примерно, компилатора вижда PORTA и генерира инструкция, в която е включен адреса на PORTA, като стойноста му е неизвестна. Освен това всички провеки като if, else и т.н. стават в така наречения runtime, т.е. по време на компилиране. И за пореден път казвам, че компилатора, пък и дори симулатора няма как да следят логиката на програмата, в смисъл да ти кажат ч е това което искаш да направиш няма да стане и да дават грешки. Той единствено следи за коректен синтаксис и всички променливи да са дефинирани. Ти искаш някъв хибрид между компилатори и симулатор едновременно :)

А такива файлове, в които са описани всички регистри има, и точно от там компилатора взима адреса.

Най-добре вземи прочети помощната информация за MPASM. Там е описано всичко. :idea:

@Zeus, разбирам напълно идеята ти. Преди като пишех на асемблер, съм имал доста проблеми с тия банки. Но това което искаш не може да стане, мисля че ти обясних достатъчно ясно защо. Що не обмислиш идеята да минеш на С, или пък да ползваш 18-та или по-восока серия пикове?


Вто Мар 27, 2007 10:56 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Яну 30, 2006 2:48 am
Мнения: 1248
Местоположение: София
Мнение 
В PIC24... няма банки.
Пък и векторите на прекъсванията са колкото прекъсванията


Сря Мар 28, 2007 1:27 pm
Профил WWW
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Вто Окт 03, 2006 11:58 am
Мнения: 924
Местоположение: Ботевград
Мнение 
Ок, явно не става. Благодаря на всички за мненията. Колкото за С, вече преминавам, но имам една програмка за довършване, в доста напреднал стадии е на асемблер и не ми се преработва. Също съм си набавил и 18 серия чипове и ще почвам да се занимавам и с тях, като остане време. Явно проблемите, дето ме тромозят са тормозили и други, и Майкрочип оправят нещата с времето ;)


Чет Мар 29, 2007 10:45 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 33 мнения ]  Отиди на страница Предишна  1, 2, 3

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни