Body #28
25 марта 2001

■·······················[  Coding  ]·························■
(c) Brom^Ellipse 

Всем  привет, это опять я со своими нужными процедурами. На этот
раз  я  хочу  предложить  вашему  вниманию процедуру корректного
обращения к TR-DOS'у через точку входа #3d13. Возожно для многих
процедура   покажется  знакомой  по  этому  на  авторство  я  не
претендую :)

DOS     CALL SV_REG
        EX AF,AF'
        XOR A
        LD (#5D10),A
        LD (#5DOF),A
        DEC A
        LD (#5CЗA),A
        EX AF,AF'  
        LD IY,#5CЗA
        PUSH HL
        LD HL,ERROR
        EX (SP),HL
        LD (#5CЗD),SP
        CALL #3D13
        DI 
        POP HL
        LD (SOST_BC+1),BC
        CALL LD_REG
SOST_BC LD BC,0
        RET 
                  
ERROR   DI 
        LD SP,(#5CЗD)
        POP HL
        CALL LD_REG
        JR DOS

;сохраняем  содержимое  всех   регистров   для   последующего
;успешного их востановления
     
SV_REG  EX (SP),HL
        LD (RETURN2+1),HL
        POP HL
        PUSH HL,DE,BC,AF,IX,IY
        EXX 
        PUSH HL,DE,BC
        EX AF,AF'
        PUSH AF
        EX AF,AF'
        EXX 
RETURN2 JP 0

;востанавливаем состояния регистров  на  момент  обрашения  к
;процедуре DOS
     
LD_REG  POP HL
        LD (RETURN1+1),HL
        POP AF
        EX AF,AF'
        POP BC,DE,HL
        EXX 
        POP IY,IX,AF,BC,DE,HL
RETURN1 JP 0

 



Other articles:


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

Similar articles:
Fantasy - A Tale Strugatsky "Way to Amalthea (continued).
Forum - Improve Art Studio. Ideas on file compression.
Iron - Video GoldStar RN800AW Art vision. Tips on disassembly and repair.

В этот день...   3 May