Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ATtiny26L и Последняя Студио
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
GeorgyBey
Всем привет a14.gif
Накарябал немного в 26ю Тиньку, так, что RCALL не проходит, приходится ICALL применять.
Распоследняя Студио симулирует нормально, уходит через Zрегистр далеко за конец написанного,
выполняет, возвращается - все ОК.
Заливаю в Тиньку - из подпрограммы по ICALL не возвращается cranky.gif bb-offtopic.gif
Даже если всей П/П вошел и тут же вышел взад.
Может кто сталкивался с фокусами косвенного вызова подпрограмм?
defunct
применял косвенный вызов на Tiny13, проблем не было.
Вы грузите в Z ссылку на Word или на байт флеша?

должно быть так:

lds ZH, High( ProcLabel ) ; без сдвига влево!!
lds ZL, Low( ProcLabel ) ; аналогично
icall

ps: тут вон Rst7 недавно поднял тему насчет неправильной работы tiny26 с X pointer'ом, может какая-то битая партия tiny26 пришла?
GeorgyBey
Вообще-то я "тупенько" записываю начало отодвинутого куска в 30й регистр (например $6F) и не трогаю 31й с нулями в нем. tongue.gif

Может в этом проблема? Не так попросил? cranky.gif
GeorgyBey
Цитата(defunct @ Jan 20 2006, 12:46) *
должно быть так:

lds ZH, High( ProcLabel ) ; без сдвига влево!!
lds ZL, Low( ProcLabel ) ; аналогично
icall


lds - грузит из стат.памяти, понятно, а "вас-из-дас" ProcLabel ?
Или где почитать?
defunct
Цитата(GeorgyBey @ Jan 20 2006, 12:47) *
Цитата(defunct @ Jan 20 2006, 12:46) *

должно быть так:

lds ZH, High( ProcLabel ) ; без сдвига влево!!
lds ZL, Low( ProcLabel ) ; аналогично
icall


lds - грузит из стат.памяти, понятно, а "вас-из-дас" ProcLabel ?
Или где почитать?



Извините, это у меня опечатка вышла.. конечно же LDI !
ProcLabel - это метка вызываемой процедуры...

в общем лучше перепишу пример:

Код
  ldi Zh, high( ProcLabel )
  ldi ZL, low( ProcLabel )
  icall
  ...

ProcLabel:
  ...
  ret
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.