реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> ATtiny26L и Последняя Студио, Поведение Тиньки не соотв. Студио
GeorgyBey
сообщение Jan 19 2006, 18:30
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 205
Регистрация: 21-12-04
Из: Киев
Пользователь №: 1 593



Всем привет a14.gif
Накарябал немного в 26ю Тиньку, так, что RCALL не проходит, приходится ICALL применять.
Распоследняя Студио симулирует нормально, уходит через Zрегистр далеко за конец написанного,
выполняет, возвращается - все ОК.
Заливаю в Тиньку - из подпрограммы по ICALL не возвращается cranky.gif bb-offtopic.gif
Даже если всей П/П вошел и тут же вышел взад.
Может кто сталкивался с фокусами косвенного вызова подпрограмм?


--------------------
На "нет" и "нах" :)
Go to the top of the page
 
+Quote Post
defunct
сообщение Jan 20 2006, 08:46
Сообщение #2


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



применял косвенный вызов на Tiny13, проблем не было.
Вы грузите в Z ссылку на Word или на байт флеша?

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

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

ps: тут вон Rst7 недавно поднял тему насчет неправильной работы tiny26 с X pointer'ом, может какая-то битая партия tiny26 пришла?

Сообщение отредактировал defunct - Jan 20 2006, 08:48
Go to the top of the page
 
+Quote Post
GeorgyBey
сообщение Jan 20 2006, 09:43
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 205
Регистрация: 21-12-04
Из: Киев
Пользователь №: 1 593



Вообще-то я "тупенько" записываю начало отодвинутого куска в 30й регистр (например $6F) и не трогаю 31й с нулями в нем. tongue.gif

Может в этом проблема? Не так попросил? cranky.gif


--------------------
На "нет" и "нах" :)
Go to the top of the page
 
+Quote Post
GeorgyBey
сообщение Jan 20 2006, 10:47
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 205
Регистрация: 21-12-04
Из: Киев
Пользователь №: 1 593



Цитата(defunct @ Jan 20 2006, 12:46) *
должно быть так:

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


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


--------------------
На "нет" и "нах" :)
Go to the top of the page
 
+Quote Post
defunct
сообщение Jan 20 2006, 14:39
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(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


Сообщение отредактировал defunct - Jan 20 2006, 14:42
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 21:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01422 секунд с 7
ELECTRONIX ©2004-2016