
                   M A K R  K  - quick reference                 by A'rpi
                  ================================               1998.09.20.

Makr megadsa:
~~~~~~~~~~~~~~~
Egysoros makr:
  #makronev(paramterek):kimenet=parancsok

Tbbsoros:
  #makronev(paramterek):kimenet
    parancsok
    parancsok...
    ...
  ENDM

Megj.: a paramterek s a kimenet elhagyhat  (pl: #MAKRO=!RUTIN)

a "parancsok" s a "kimenet" rszben hasznlhat:

 %n   = az n-edik paramter  (pl: AX:=%3)     n=1..9
 %(n) = ugyanez, de n lehet nagyobb 9-nl   (pl: AX:=%(17)  )
 %?n  = az n-edik param. ha van, klnben semmi  (pl IF .NB %?2 THEN...)
        msszval nem ktelez paramterre val hivatkozs
 %In %I(n) %I?n = ugyanaz mint I nlkl, de az idzjelet levgja a
        paramterrl (ha van rajta)   pl: #XYZ=%I1  s  XYZ 'MOV AX,5'
 %N   = a paramterek szma  (pl: IF %N=3 THEN...)
 %*   = az sszes paramter  (pl: #XYZ=XYZ1(%*)//XYZ2(%*)
        (egyms utn rja az sszes paramtert, vesszvel elvlasztva
 %<   = paramterek lptetse balra (%1 trlse, helyre %2, %2 helyre %3 stb)
 %O   = a kimen paramter sorsa, pl. ECX:=MAKRO esetn %O=ECX
 %R   = rekurzi engedlyezse egy sorra
 %%   = "%" karakter

csak a "parancsok" rszben hasznlhat:
 %.   = tbb sor elvlasztsa
        (csak addig volt rdekes mig nem voltak tbbsoros makrk)
        pl:  #XYZ=PUSH(ALL) !VALAMI %. AX+=5

Makr hvsa:
~~~~~~~~~~~~~
  MAKRO(paramterek)
  MAKRO paramterek
  MAKRO'paramter'[,'param2'...]


