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

 
 
> Абсолютный и относительный переход из макроса.
Alt.F4
сообщение Aug 27 2011, 19:47
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



Добрый день.
Где можно прочесть про переходы из макросов?
Недавно наткнулся на форум, где писали, что абсолютный переход не работает в макросе. Раньше никогда о таком не слышал.
Спасибо.
З.Ы.
абсолютный - call, jmp (PC -> k)
относительный - rcall, rjmp (PC -> PC+k)

Сообщение отредактировал Alt.F4 - Aug 28 2011, 06:47
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alt.F4
сообщение Aug 28 2011, 16:44
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



А какая тогда проблема у человека, создавшего тот пост (учитывая, что avrasm сделал метки локальными в его макросе)?

з.ы. вчера много кода дописывал + уменьшал размер, выводя в подпрограмму общие действия нескольких макросов. Дак после всех махинаций стало где-то стэк срывать, прокручиваю варианты...

Сообщение отредактировал Alt.F4 - Aug 28 2011, 16:45
Go to the top of the page
 
+Quote Post
xemul
сообщение Aug 28 2011, 16:57
Сообщение #3



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(Alt.F4 @ Aug 28 2011, 20:44) *
А какая тогда проблема у человека, создавшего тот пост (учитывая, что avrasm сделал метки локальными в его макросе)?

Уф-ф... jmp на метку byteOut из любой инкарнации макроса всегда будет выполняться по её адресу в первой инкарнации. Скомпилите и увидите. Если не увидите, прогоните этот кусок в симуляторе.
Цитата
з.ы. вчера много кода дописывал + уменьшал размер, выводя в подпрограмму общие действия нескольких макросов. Дак после всех махинаций стало где-то стэк срывать, прокручиваю варианты...

Макросы не уменьшают, а увеличивают размер результирующего кода. Однотипные действия для экономии места обычно оформляют функциями.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 13th August 2025 - 19:11
Рейтинг@Mail.ru


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