petek, 15. marec 2002

SDK MACROS - BIIS


V nadaljevanju je originalna BIIS rutina kot "macro", ki se uporabi v običajnem asembler programu. Vsi ukazi, ki vsebujejo "&" so macro ukazi. Nekaj jih služi za kontrolo pravilnosti podanih parametrov, nekaj pa se jih "zamenja" z vrednostmi, ki so zapisane v programski kodi samega programa.


CATALOG BIIS.A                        REPLACE=YES

*  SDK MACROS - BIIS - LJUBLJANA - 1.0
         CNOP  0,4
&IME     L     15,=V(BISSSSSS) .       EXTRN MODUL ZA BIN.ISKANJE
         BALR  14,15
         DC    H'&A'              DOLŽINA ARGUMENTA
         AIF   (T'&IME EQ 'O').HOP1
&IME.B   DC    A(&START)          ADRESA ZAČETKA TABELE
&IME.A   DC    A(&ARGUM)          ADRESA ARGUMENTA
         DC    H'&B'              VELIKOST KORAKA
         DC    H'&C'   POLOŽAJ ARGUMENTA V ELEMENTU TABELE
&IME.E   DC    A(&END)            ADRESA KONCA TABELE
         AGO   .HOP2
.HOP1    ANOP
         DC    A(&START)          ADRESA ZAČETKA TABELE
         DC    A(&ARGUM)          ADRESA ARGUMENTA
         DC    H'&B'              VELIKOST KORAKA
         DC    H'&C'         POLOŽAJ ARGUMENTA V ELEMENTU TABELE
         DC    A(&END)            ADRESA KONCA TABELE
.HOP2    ANOP
         SPACE
         AGO   .END
.M9      ANOP
      MNOTE *,'DOLŽINA KORAKA MANJŠA OD DOLŽINE ARGUMENTA + POLOŽAJA'
         AGO   .MEX
.M10     ANOP
&A       SETA  &A+255
         SPACE
*  SDK MACROS - BIIS - LJUBLJANA - 1.0
         CNOP  0,4
&IME     L     15,=V(BISSSSSS) .       EXTRN MODUL ZA BIN.ISKANJE
         BALR  14,15
         DC    H'&A'              DOLŽINA ARGUMENTA +255
         AIF   (T'&IME EQ 'O').HOP3
&IME.B   DC    A(&START)          ADRESA ZAČETKA TABELE
&IME.A   DC    A(&ARGUM)          ADRESA ARGUMENTA
         DC    H'&B'              VELIKOST KORAKA
         DC    H'&C'   POLOŽAJ ARGUMENTA V ELEMENTU TABELE
&IME.E   DC    A(&END)            ADRESA KONCA TABELE
         AGO   .HOP4
.HOP3    ANOP
         DC    A(&START)          ADRESA ZAČETKA TABELE
         DC    A(&ARGUM)          ADRESA ARGUMENTA
         DC    H'&B'              VELIKOST KORAKA
         DC    H'&C'         POLOŽAJ ARGUMENTA V ELEMENTU TABELE
         DC    F'&END'            ŠTEVILO ELEMENTOV TABELE
.HOP4    ANOP
         SPACE
         AGO   .END
.MEX     ANOP
         MNOTE 9,'MACRO NI GENERIRAN'
         MEXIT
.END     ANOP
         MEND
   BKEND
/+

Ni komentarjev:

Objavite komentar