Struktura makrok AVR assemblyben

VF vf at elte.hu
Sat Sep 13 18:15:31 CEST 2003


Hi!

Volt rola szo regebben, hogy kellenenek strukturak az AVR assemblybe.
Emlitettem hogy makrokkal meg lehet csinalni. Kesz van :)
Sajna csak IAR-ben lehetseges, de igy nagyon egyszeru.
Gyakorlatilag siman atforditottam az amigas exec/types.i-t az IAR
formatumaba. Valahogy igy nez ki:

STRUCTURE  MACRO
\1         equ     0
SOFFSET    var     \2
           ENDM

UBYTE      MACRO
\1         equ     SOFFSET
SOFFSET    var     SOFFSET+1
           ENDM

UWORD      MACRO
\1         equ     SOFFSET
SOFFSET    var     SOFFsET+2
           ENDM

LABEL      MACRO
\1         equ     SOFFSET
           ENDM

STRUCT     MACRO
\1         equ     SOFFSET
SOFFSET    equ     SOFFSET+\2
           ENDM

Stb... Van meg ALIGNWORD, ALIGNLONG, APTR, LONG, ULONG.
BYTE es WORD nincs, mert azok a kulcsszavak mat foglaltak IAR-ben.

Igy lehet belole epitkezni:

#include   <types.h>

           STRUCTURE  LN,0  ;List Node
           APTR    LN_SUCC
           APTR    LN_PRED
           UBYTE   LN_TYPE
           UBYTE   LN_PRI
           APTR    LN_NAME
           LABEL   LN_SIZE

           STRUCTURE  valami,LN_SIZE
           APTR....
           STRUCT  masik,masik_size
           [..]
           LABEL   valami_size

Hasonloan egyszeruen lehet ENUM-ot is csinalni:

ENUM       MACRO
EOFFSET    var     \1
           ENDM

EITEM      MACRO
\1         equ     EOFFSET
EOFFSET    var     EOFFSET+1
           ENDM

           ENUM    5
           EITEM   cmd_read
           EITEM   cmd_write
           EITEM...

Stb... Nagyon ugyes dolgokat lehet csinalni igy!

-- 
Valenta Ferenc <vf at elte.hu>   Visit me at http://ludens.elte.h u/~vf/
"Rogton maga jon, csak elvittek elezni a bardot"


____________________________________________________________________
Miert fizetsz az internetert? Korlatlan, ingyenes internet hozzaferes a FreeStarttol.
Probald ki most! http://www.freestart.hu



More information about the Elektro mailing list