У автора вопроса авр-ский R0 был попорчен, я и не заморачивался. Если надо - пожалуйста:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено 51 05 апреля 2004 г. 19:11
В ответ на: ;О) ещё самая малость - сохранить/достать R0 текущего банка отправлено =mse= 05 апреля 2004 г. 17:31



int_rout:
push PSW
push ACC
push DPL
push DPH
;push whatever_else
;.......
;....... Здесь сам код обработчика
;.......
;pop whatever_else
pop DPH
pop DPL
pop ACC
pop PSW
;
;Начало процедуры принудительного возврата
;
push R0 ;Сохраняем ТЕКУЩИЙ R0
mov R0,SP ;Копируем SP в R0
dec R0 ;Теперь R0 указывает на старший байт адреса возврата
mov @R0,#high(kuda_nado);Подменяем старший байт адреса возврата
dec R0 ;Теперь R0 указывает на младший байт адреса возврата
mov @R0,#low(kuda_nado) ;Подменяем младший байт адреса возврата
pop R0 ;Восстанавливаем ТЕКУЩИЙ R0
reti ;Возврат kuda_nado


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru