О, вот это то самое! Спасибо всем. А где бы это можно было бы применить?
Вид для печати
О, вот это то самое! Спасибо всем. А где бы это можно было бы применить?
Кисо... а ты зачем просило то?
воще мона в результате прогу настроить...
на конкретный адрес
гаккон... а как вы это делаешь? проставляешь адресы переходов?
Вообще это активно юзается в плагинах RC, все плагины настраиваются на работу с адреса загрузки. С ходу еще могу вспомнить Laser Compact - распаковщик самонастраивался.
А в gens, например, не тот же принцип? Грузится по любому адресу. Потом работает только с этого адреса.Цитата:
Сообщение от Spectre
Сейчас глянул Gens - там тоже исполбзуется автонастройка на адрес запуска. Но я писал про современные утилиты (RC, LC), Gens это уже история.
Нет гарантий однако, что не снимет, например, его в регистр и чем-то ещё не загадит стек.Цитата:
Сообщение от TomCaT
Т.е. возвращаться из себя процедура прерывания будет не через стек?Цитата:
Сообщение от fk0
Тогда пожалуй гарантии нет.
Но если узнавать сразу после вызова из Васика, то сдрес вызова по USR попадает в BC.
Зачем такие сложности, все делается также как на x86
call на pop
call label1
label1: pop hl
в hl получаем значение label1
Во-первых, call - команда абсолютного перехода, а абсолютных адресов мы не знаем. :v2_tong:Цитата:
Сообщение от deathsoft