[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Правильно, дядя Вова!
Hog с сотоварищами оценили некоторое лукавство в позиции задаваемых Вами вопросов и в силу того, что "хлебаем один и тотже суп" из Microchip'овской тарелки соответственно знаем преимущества и недостатки всех: аппар.. 2-ур. стековых микроконтроллеров PIC12, PIC16, а также 8-ур. PIC16 (C PIC 17 профессиональной необходимости пока не возникало).
Пока абсолютно непонятно в каких программных приложениях (а именно- в обработчике прерываниях) Вас так "заморочили" эти проблемы с адресами возврата?
НЕТ, конечно, HITECH-С (для"молодой :-)"серии PIC) не может разрешить эту проблему. И НЕТ никакой надобности в Ваших публичных извинениях. Просто неясно за что??? Меня уже , просто гложет интерес, в какой-такой задаче Вы не можете силой программы "выйграть бой с этим аппаратным стеком"? Если не затруднит-хоть в кратце обрисуйте.
Ну и теперь, уже зная Ваше отношение к недопустимости присутствия Engl.forms в конфе (что по-своему справедливо) перевёл стандартное из DS...., чисто в подтверждение "истинны", которая, "...где-то рядом " (R)/X-files :
Стек.
Кристалл PIC16... имеет восьмиуровневый аппаратный стек шириной 13 бит.
Область стека не принадлежит ни к программной области ни к области данных, а указатель стека пользователю недоступен. Текущее значение программного счетчика посылается в стек, когда выполняется команда CALL или производится обработка прерывания. При выполнении процедуры возврата из подпрограммы (команды RETLW , RETFIE или RETURN), в программный счетчик выгружается содержимое стека. Регистр PCLATH (0Ah) не изменяется при операциях со стеком.
С уважением, Hog
E-mail: info@telesys.ru