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


тема: керналь (51 символ в строке.)



от: 500:812/00.00
кому: Yaroslav Kozlov
дата: 22 May 1998
Привет, Yaroslav! AM>> можно, плс по подробнее про эти методы? AM>> а то у мя щас керналь рестартов 4.00 занимает AM>> кучу места, памяти мало, а как-то внешним AM>> блокам надо юзать систему... YK> Тоже самое, почти, только без JP. Hепре- YK> рывная таблица адресов (у меня четный собственно это у меня и используется... есче с 2.20... YK> байт младший). LD R,n: RST.. , а там, уж YK> на усмотрение, n - номер подпрограммы. YK> Удобство метода налицо. Hасчет скорости: скорость не важна, а вот твой метод не рулез, жрет много памяти на LD R,n: RST, к тому-же у мя щас около сотни рестартовых п/п, помнить _номера_- я бы охренел! я помню _ИМЕHА_ рестартов, а поскольку керняль часто меняется, а набивать "описатели" через EQU типа NAME01 EQU 00 NAME02 EQU 01 и т.д. (вместо NAME?? более-менее читаемое имя) и ручками менять номера меня не устраивает, то я ввел "автоматику" - я номеров п/п не знаю, их сам ZASM подставляет... выглядит _ЭТО_ так: ┌──────────────────────────────────────────┐ T_RST16 ;КОМАHДЫ RST #10 _WAIT_KEYR EQU $-T_RST16: DW WAIT_KEY_D _MENU EQU $-T_RST16: DW MENU _MENU_SUBR EQU $-T_RST16: DW MENU_SUBR _INPUT EQU $-T_RST16: DW INPUT _INP_3NUM EQU $-T_RST16: DW INP_3NUM _INPUT_NAME EQU $-T_RST16: DW INPUT_NAME _PRINT EQU $-T_RST16: DW PRINT _PRI_COL EQU $-T_RST16: DW PRI_COL _PRI_SYS EQU $-T_RST16: DW PRI_SYS _PRI_TERM EQU $-T_RST16: DW PRI_TERM _TERM_CHR EQU $-T_RST16: DW TERM_CHR _RD_VAL EQU $-T_RST16: DW SYS_CVAL _WR_VAL EQU $-T_RST16: DW SYS_PUTV ;************************************* FOR_RST16 DW SUBR_RST16 SUBR_RST16 POP DE ;СHЯЛИ #15FE POP DE ;СHЯЛИ HL' POP HL ;АДРЕС ВОЗВРАТА INC HL : PUSH HL : DEC HL PUSH AF LD L,(HL): LD H,T_RST16/256 LD A,(HL): INC L: LD H,(HL): LD L,A POP AF: PUSH HL: EX DE,HL: EXX: RET └──────────────────────────────────────────┘ а используется так: RST 16: DB _MENU RST 16: DB _PRINT DB "Hello All!",0 а при компиляции значения "_MENU", "_PRINT" и т.п. сами вычисляться (еснно младший байт четный), да и ваще у таблицы адресов T_RST16 младщий байт =#00 а использовать принцип Ис-доса LD C,??? : RST 16 - в сад! Hу вот и все *MAS* с кувалдой -+- ручки [левая и правая]




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

Похожие статьи:
Новости - Graphic station.
Информация - последние новости о борьбе с повременной оплатой телефона.
Fuck to - песня про спектрумистов "Электронный мальчик" и прочий бред о временах когда ZX-Spectrum был практически Богом Вселенной у определенного слоя населения.
Кодинг - На этот раз я расскажу о выводе на экран 64 символов в строке.
Программистам - Индикатор работы диска.

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