ZXNet эхоконференция «code.zx»


тема: Задача про рестарт



от: Valentin Pimenov
кому: All
дата: 01 Mar 1999
+-Привет, |All! +-------- ;условия задачи: ;вызов рестарта с функцией по: ;rst x ;db function ;HО! изменения в правилах: ;нельзя ничего сохранять в ячейках ;памяти, только на стеке! ;т.к. подразумевается возможность в ;любой момент прервать выполнение этой ;программы (по прерыванию) и переклю- ;читься на другую, ;которая, возможно, тоже выполняет этот ;же участок кода. (естественно, у них ;разные стеки :) ;т.е. условие более сильно, чем рекур- ;сивная реентерабельность. ;nb: ;вычисление адреса функции по номеру ;непринципиально. ;1. таблица адресов не может изменяться в процессе ;работы процедуры. ;2. функций 256 штук :) (а то уж больно все хитрые стали). ;интересует не столько скорость (хотя ;и она тоже), сколько красота решения. PUSH HL PUSH DE PUSH AF LD HL,6 ADD HL,SP LD E,(HL) INC HL LD D,(HL);de-return address LD A,(DE);function INC DE; de-new return address LD (HL),D;save to stack DEC HL LD (HL),E ;... ;A-FUNCTION NUMBER -> HL-ADRESS OF FUNCTION ;... POP AF POP DE EX (SP),HL RET +-Всего доброго, All! |С Вами был |Valentin Pimenov aka Valker/Style_Group +---------------

от: Ivan Mak
кому: Valentin Pimenov
дата: 06 Mar 1999
Приветствую Вас, Valentin! В день Valentin Pimenov написали All: VP> ;HО! изменения в правилах: VP> ;нельзя ничего сохранять в ячейках VP> ;памяти, только на стеке! VP> ;т.к. подразумевается возможность в VP> ;любой момент прервать выполнение этой VP> ;программы (по прерыванию) и переклю- VP> ;читься на другую, VP> ;которая, возможно, тоже выполняет этот VP> ;же участок кода. (естественно, у них VP> ;разные стеки :) VP> ;т.е. условие более сильно, чем рекур- VP> ;сивная реентерабельность. EX (SP),HL ; save HL PUSH DE ; save DE PUSH AF ; save A LD A,(HL) INC HL ; A -> HL EX DE,HL LD L,A LD H,TABLE/256 LD A,(HL) INC H LD H,(HL) LD L,A POP AF ; ret A EX (SP),HL ;─┐ ret DE & save function adress EX DE,HL ;─┘ RET ; goto function ; Function EX (SP),HL ; ret HL - 1-st step ot any function ! Вай! Протосы атакуют моих зерлингов! Пора сматываться. Ivan. - Разводись схемка, больша и маленька..




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Кодинг - На этот раз я расскажу о выводе на экран 64 символов в строке.
Authors - вот, наконец, вышла в свет never mind #o1
О разном - Просто приколы.
Руль - письма: Чунин Роман, Калини Вячеслав, Trident, KYV.
от авторов - сценовое вступление.

В этот день...   8 мая