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


тема: керналь



от: 500:812/00.00
кому: Yaroslav Kozlov
дата: 23 May 1998


Привет, Yaroslav !


AM>> NAME01 EQU 00
AM>> NAME02 EQU 01

AM>> и т.д. (вместо NAME?? более-менее читаемое имя)

YK> Зачем??

YK> ORG TABLE
YK> DEFW PROG1
YK> DEFW PROG2
YK> DEFW PROG3
YK> ....

А ты ориентируешься по _HОМЕРУ_ функции?????
А если этих функций около сотни,
то что делает 55-я, и какой номер у
ф-ции "ПЕРЕДАТЬ В ЛИHИЮ СИМВОЛ ИЗ [A]"?

[ ]
AM>> а используется так:

AM>> RST 16: DB _MENU

AM>> RST 16: DB _PRINT
AM>> DB "Hello All!",0

YK> BASIC 48....

зато это наглядно
по крайней мере для меня!
вот пара примеров:

============================================
цель - мне надо вывести "галочеку"
в зависимости от флагов:

: бит вызов функции куда
STP_T BIT 0,(IY-81): RST 16: DB _ON_OFF: DW ST_ECHO
BIT 1,(IY-81): RST 16: DB _ON_OFF: DW ST_EPOI
BIT 3,(IY-81): RST 16: DB _ON_OFF: DW ST_INBF
BIT 4,(IY-81): RST 16: DB _ON_OFF: DW ST_PRIN
BIT 5,(IY-81): RST 16: DB _ON_OFF: DW ST_PWRC
BIT 6,(IY-81): RST 16: DB _ON_OFF: DW ST_KIBF
BIT 7,(IY-81): RST 16: DB _ON_OFF: DW ST_PRKE
BIT 7,(IY-68): RST 16: DB _ON_OFF: DW ST_TIME
BIT 7,(IY-80): RST 16: DB _ON_OFF: DW ST_FILE
RET
;******************************

а вот пример работы с менюхами:
STP_SERV CALL STP_S
LD IX,WSETUPS
RST 16: DB _OPEN_WIN
STP_SS RST 16: DB _MENU : RET C

[ ]

тут мы вводим какое-то число

STP_SS6 RST 16: DB _PRINT,AT,6,26,0
LD HL,SS_OBUF
RST 16: DB _INP_3NUM
JR C,NSTP_SS
LD (OUT_DELAY),A
JR NSTP_SS

;********************************

а вот тут мы выводим инфу о диске:

;ВЫВОД FILES,DEL,FREE,MARK,SIZE
PRINT_INFO1 POP HL
PRINT_INFO BIT 7,(IY-69): RET Z

LD A,(IX+30) ; ФАЙЛОВ
LD HL,INF_FL: RST 16: DB _DECO_NUM

LD A,(IX+33) ; СТЕРТЫХ
LD HL,INF_DL: RST 16: DB _DECO_NUM

LD A,(IX+26) ; ОТМЕЧЕHЫХ
LD HL,INF_SL: RST 16: DB _DECO_NUM

LD C,(IX+31): LD B,(IX+32) ;FREE
LD HL,INF_FR : CALL DECODE_BC4

LD C,(IX+27): LD B,(IX+28) ;MARK
LD HL,INF_SZ: CALL DECODE_BC4

PUSH IX: LD IX,MID_WIN
RST 16: DB _PRINT
DB AT,0,7
INF_FL DB " ",AT,1,7
INF_DL DB " ",AT,2,6
INF_FR DB " ",AT,3,7
INF_SL DB " ",AT,4,6
INF_SZ DB " ",AT,8,8
INF_ST DB 32,0
POP IX : RET
;**************************

ну как, можно понять?

[ ]

AM>> а использовать принцип Ис-доса
AM>> LD C,??? : RST 16 - в сад!

YK> Я его совсем не использую...

т.е. юзаешь
LD r,?: CALL adr
что-ли?
с _моей_ точки зрения - потери памяти
(по 2 байта на вызов),
а вызовов (у меня) сотни!

[ ]

YK> Там могут, конечно быть везде фиксиро-
YK> ванные обращения по CALL. Я имею ввиду
YK> "чужие обращения на керналь". Вот тут,
YK> уж вряд ли, что сделать можно. Раз, уж

для "чужих обращений" я использую
тот-же RST 16!
примеры "чужих обращений" - внешний setup
для 2.20, оверлей статистики для 4.00...
как оказалось - удобно!
(хотя это только мое мнение)

Hу вот и все
*MAS* с кувалдой

-+- ручки [левая и правая]




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

Похожие статьи:
Gates - информация о гейтах Гродненской сети (Gate Grodno C_NET <> Minsk ZxNET).
Groups - анкеты действующих групп: Extreme Entertainment.
Drink'em - Алкодомино.
Открытые письма Nemo №6.256
Обзор игр - azzurro 8-bit jam.

В этот день...   19 апреля