Rev 151 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?
;***************************************************************
;*
;* MACROS.H
;*
;* ªà®áë,®¯à¥¤¥«¥¨ï.
;*
;* (C) Vitamin/CAIG/2001 2001-2006
;*
;* Revision 9.01.2006
;*
;***************************************************************
#if 0
ᯮ«ì§ã¥¬ë¥ ®¡®§ 票ï:
RP(A,B) == RPh=A,RPl=B
XZ,YZ- ª®®à¤¨ âë(à §¬¥àë) ¢ § ª®¬¥áâ å
XP,YP- ª®®à¤¨ âë(à §¬¥àë) ¢ ¯¨ªá¥« å
XS- ¯®§¨æ¨ï ¢ ᨬ¢®« å (6 ¯¨ªá)
«îç¨ ª®¬¯¨«ï樨 (¯à®áâ® ®¡êâì ¢ á ¬®¬ ç «¥ ¯à®£à ¬¬ë
¢ª«î票ï MACROS.H):
PRODUCE -release-¢¥àá¨ï
NOSLB -¥â ¯®¤¤¥à¦ª¨ áªà®««¡ ஢
NOCOMBO -¥â ¯®¤¤¥à¦ª¨ COMBOBOX
NOASKER -¥â ¯®¤¤¥à¦ª¨ ASKER
IM2MOD -¨á¯®«ì§ãîâáï IM2
NOFILER -¥â ä ©«¥à
RDCAT -¯®¤¤¥à¦ª çâ¥¨ï ª â «®£ (¥á«¨ NOFILER
NOLOADFIL -¥â ¯à®æ¥¤ãàë ç⥨ï ä ©«®¢
NOSAVEFIL -¥â ¯à®æ¥¤ãàë § ¯¨á¨ ä ©«®¢
HIMEMDRV -¯®¤¤¥à¦ª ¤à ©¢¥à®¢ ¯ ¬ï⨠>128ª
NOMEMDRV -¥â ¯®¤¤¥à¦ª¨ ¢¥à奩 ¯ ¬ïâ¨
¡ê¥¨¥ ª®áâ â:
WINCOLOR -梥⠮ª®
HDRCOLOR -梥⠧ £®«®¢ª®¢ ®ª®
ACTCOLOR -梥⠢뤥«¥®© ®¡« áâ¨
ACTPCOLR -梥⠢뤥«¥®© PUSHLIKE-®¡« áâ¨
CPAGE1 -áâà ¨æ ¤«ï INCLUDE "EXTERN"
===================
¯¨á ¨¥ ¤¥áªà¨¯â®à ®ª :
WIN_DESCRIPTOR:
DB WINX,WINY,WINWID,WINHEI -ª®®à¤¨ âë ¨ à §¬¥àë
DB STYLE -á⨫ì
DB RESERVED -१¥à¢
DW WINTEXT -⥪áâ
DW WINACT - ªâ¨¢ë¥ §®ë
DW WINHOT -£®àï稥 ª« ¢¨è¨
DW WINSPR -á¯à ©âë
DW WINFLG -ä« ¦ª¨
DW WINSWT -¯¥à¥ª«îç ⥫¨
[DW WINSLB] -áªà®««¡ àë (!NOSLB)
DW WINPLZ -á« ©¤¥àë
DW WINLST -ᯨ᮪
DW WINCALL -¢ë§®¢ ¯à¨ ᮧ¤ ¨¨
DW -1 -ª®¥æ ¤¥áªà¨¯â®à
®«ï ®¯¨á ⥫¥© ¤®«¦ë ¨¬¥âì 䨪á¨à®¢ ®¥ ᬥ饨¥. ᫨
¥â ®¡ê¥ªâ®¢ ®¯à¥¤¥«¥®£® ⨯ , ¯®«¥ ®¯¨á â¥«ï ¤®«¦® ¡ëâì
à ¢® 0.
#endif
WIN_XPOS=0
WIN_YPOS=WIN_XPOS+1
WIN_WDT=WIN_YPOS+1
WIN_HGT=WIN_WDT+1
WIN_OPT=WIN_HGT+1
WIN_TXT=WIN_OPT+2
WIN_ACT=WIN_TXT+2
WIN_HOT=WIN_ACT+2
WIN_SPR=WIN_HOT+2
WIN_FLG=WIN_SPR+2
WIN_SWT=WIN_FLG+2
#ifndef NOPOLZ
WIN_SLB=WIN_SWT+2
WIN_PLZ=WIN_SLB+2
#else
WIN_PLZ=WIN_SWT+2
#endif
WIN_LST=WIN_PLZ+2
WIN_CLL=WIN_LST+2
;⨫¨ ®ª
WIN_HEADER=1 ;¥áâì § £®«®¢®ª
WIN_REFRESH=2 ;ॣ¨áâà¨à®¢ âì ®ª® ¨ à¨á®¢ âì
WIN_MOVABLE=4 ;¯¥à¥¬¥é ¥¬®¥
WIN_NOMODAL=8 ;¥¬®¤ «ì®¥ (¢ë室-¯à®¬ § âì)
WIN_NOBACK=16 ;¥ § ¯®¬¨ âì § ¤¨© ä®
#if 0
*¡ê¥ªâ-⥪áâ: ASCIIZ-ä®à¬ â á ã¯à ¢«ïî騬¨ ª®¤ ¬¨. ¥¢ ï
£à ¨æ ¯¥ç â¨- 1 ᨬ¢®« ¯à ¢¥¥ «¥¢®© £à ¨æë ®ª .
*¡ê¥ªâ- ªâ¨¢ ï §® : ¡®à ¤¥áªà¨¯â®à®¢
DESCACT DB X,Y,WID,HEI
DB FLAG
...
DB -1
#endif
;⨫¨ ªâ¨¢®© §®ë
ACT_ENA=1 ;à §à¥è¥
ACT_LGT=2 ;¯®¤á¢¥ç¨¢ ¥¬ ï
ACT_PSH=4 ;" ¦¨¬ ¥¬ ï"
#if 0
*¡ê¥ªâ-£®àïç ï ª« ¢¨è : ¡®à ¤¥áªà¨¯â®à®¢
DESCHOT DB KEY
DW OPERAND
...
DB -1
᫨ áâ à訩 ¡ ©â OPERAND==0,â® ªâ¨¢¨§ æ¨ï £®àï祩 ª« ¢¨è¨
«®£¨ç® ªâ¨¢ 樨 §®ë á ®¬¥à®¬ .OPERAND, ¨ ç¥- ¯¥à¥å®¤
¤à¥á OPERAND
*¡ê¥ªâ-á¯à ©â: ¡®à ¤¥áªà¨¯â®à®¢
DESCSPR DB X,Y,WID,HEI,FLAG
DW DATA
...
DB -1
®à¬ â FLAG «®£¨ç¥ ¯ à ¬¥âàã ¢ C' ¤«ï PUT_SPRT
*¡ê¥ªâ-ä« ¦ª¨: ¡®à ¤¥áªà¨¯â®à®¢
DESCHOT DB NUMBER -®¬¥à ªâ¨¢®© §®ë
DB VAL -0/255
DW OPERAND
...
DB -1
᫨ OPERAND!=0, â® ¯à¨ ªâ¨¢ 樨 ä« ¦ª _¢ë§®¢_ OPERAND
*¡ê¥ªâ-¯¥à¥ª«îç ⥫¨: ¡®à ¤¥áªà¨¯â®à®¢
DESCSWT DB NUMBER -®¬¥à ªâ¨¢®© §®ë ¯¥à¢®£® ᢨâç
DB COUNT -ç¨á«® ᢨâ祩
DB EQUAL -®¬¥à ¢ë¤¥«¥®£® ( ç¨ ï á 0)
DW OPERAND
...
DB -1
*¡ê¥ªâ-áªà®««¡ à: ¡®à ¤¥áªà¨¯â®à®¢
DESCSLB DB NUMBER - ªâ¨¢ ï §® (à §¬¥à ¯® áªà®««¡ àã)
DB HIGH -YZ
DB COUNT -í«¥¬¥â®¢ ¢ "ᯨ᪥"
DW 0 -१¥à¢
DB DELTA -⥪ãé ï ¯®§¨æ¨ï
DW OPERAND
...
DB -1
*¡ê¥ªâ-á« ©¤¥à: ¡®à ¤¥áªà¨¯â®à®¢
DESCPLZ DB NUMBER - ªâ¨¢ ï §® (à §¬¥à ¯® á« ©¤¥àã)
DB FLAG -0- ¢¥à⨪ «ìë©, 1-£®à¨§®â «ìë©
DB EQUAL -§ 票¥ (0..31)
DW OPERAND
...
DB -1
*¡ê¥ªâ-ᯨ᮪: ¤¥áªà¨¯â®à
DESCLST DB NUMBER - ªâ¨¢ ï §® (¡¥§ ¯®¤á¢¥âª¨)
DB HIGH -YZ
DB COUNT -í«¥¬¥â®¢ ¢ ᯨ᪥
DW 0 -१¥à¢
DB DELTA -®¬¥à ¯¥à¢®£® ¢¨¤¨¬®£®
DW LISTDATA -¬ áᨢ áâப
DB LEN -â ª®© ¤«¨ë
DB -1
ਠ¢ë¡®à¥ í«¥¬¥â ᯨ᪠WINDOW ¢®§¢à é ¥â A=254 ¨ C=®¬¥à
¢ë¡à ®£® í«¥¬¥â .
¥áªà¨¯â®à®¢ ᯨ᪮¢ ¬®¦¥â ¡ëâì ¥áª®«ìª®, ® ¥«ì§ï ®¯à¥¤¥«¨âì
¨§ ª ª®£® ᯨ᪠¡ë« ¢ë¡à í«¥¬¥â
#endif
; ªà®áë ¤®áâ㯠ª í«¥¬¥â ¬ áâàãªâãàë
TEST MACRO tbit,of
BIT tbit,(IX+of)
ENDM
;®¦® ¢ ª ç¥á⢥ ¯¥à¢®£® ¯ à ¬¥âà 㪠§ë¢ âì ᯨ᮪ ॣ¨áâ஢
;MOV EDCB,WIN_XPOS
; ==
;LD E,(IX+WIN_XPOS):LD D,(IX+WIN_XPOS+1)
;LD C,(IX+WIN_XPOS+2),LD B,(IX+WIN_XPOS+3)
MOV MACRO re1,re2,of
LD re1,(IX+of)
LD re2,(IX+of+1)
ENDM
;¡à â® MOV
MACRO STOR
IF ?\0+1
DISPLAY "FIELD \0 IS UNDEFINED"
ELSE
LOCAL
COFF=\P
REPEAT
LD (IX+COFF),\C\N
COFF=COFF+1
UNTIL "\C"-","
ENDL
ENDIF
ENDM
;®¦® ¢ ª ç¥á⢥ ¯¥à¢®£® ¯ à ¬¥âà 㪠§ë¢ âì ᯨ᮪ ॣ¨áâ஢
;MOVHL ABC
; ==
;LD A,(HL):INC HL:LD B,(HL):INC HL:LD C,(HL):INC HL
MOVHL MACRO re
LD re,(HL)
INC HL
ENDM
;¡à â® MOVHL
STORHL MACRO re
LD (HL),re
INC HL
ENDM
LDCP MACRO
LD A,(HL)
CP 255
ENDM
;HL+=A
ADDHLA MACRO
ADD A,L
LD L,A
ADC A,H
SUB L
LD H,A
ENDM
;DE+=A
ADDDEA MACRO
ADD A,E
LD E,A
ADC A,D
SUB E
LD D,A
ENDM
;A*=8
AMUL8 MACRO
ADD A,A
ADD A,A
ADD A,A
ENDM
;HL+=3
HLPL3 MACRO
INC HL
INC HL
INC HL
ENDM
;HL+=2
HLPL2 MACRO
INC HL
INC HL
ENDM
;ëà ¢¨¢ ¨¥ ªã᪠ª®¤ ¯® £à ¨æ¥ 256 ¡ ©â