Препроцесор у мові ассемблера. Принципи написання програм, що обробляють вихідний текст програми мовою ассемблера, що містить директиви препроцесора і макрокоманди, страница 2

                 MOV AX,16

                 CMP AX,BX

                 CODE ENDS

                 END

утримуючий результат роботи препроцесора і  підтверджуючий  пра

вильность  файл "text2.lst",

                 1                     INCLUDE MYMAC.LIB

1                2                MYM  MACRO L1,L2,L3,L4

1                3                         MOV AX,L1

1                4                         MOV CX,L1

1                5                            DEC L1

1                6                              ENDM

1                7                      MYM2 MACRO P3,KK

1                8                         MOV AX,P3

1                9                         MOV CX,KK

1               10                              ENDM

1               11                      MYM3 MACRO C1,C2

1               12                            DEC C1

1               13                            INC C2

1               14                              ENDM

1               15                         MYM4 MACRO C1

1               16                            IFB <>

1               17                         MOV C1,AX

1               18                         MOV DX,C1

1               19                              ELSE

1               20                            DEC C1

1               21                         MOV DX,C1

1               22                             ENDIF

1               23                              ENDM

1               24

                26   0000                DATA SEGMENT PARA

                27                        IFB <>

                28   0000  0022           AS  DW 34

                29                        ELSE

                30                        K   DB 56

                31                        ENDIF

                32   0002  11B8           W   DW 4536

                33   0004  00             M   DB 0

                34   0005  0057           DFGHA DW 87

                35   0007                DATA ENDS

                36   0000                CODE SEGMENT;

                37   0000  42                INC DX

                38                           MYM4 AX

1               39                       IFB < >

1               40   0001  8B C0         MOV AX, AX

1               41   0003  8B D0         MOV DX, AX

1               42                        ELSE

1               43                       DEC AX

1               44                       MOV DX, AX

1               45                        ENDIF

                46   0005  8B C1            MOV AX,CX

                47   0007  3D CF           DDD: CMP CX,DI

                48   0009  00               A DB 0

                49   000A  8B 05            MOV BX,5

                50                          MYM AX,BX,10,20

1               51   000C  8B C0         MOV AX, AX

1               52   000E  8B C8         MOV CX, AX

1               53   0010  48            DEC AX

                54   0011  3D CA            CMP CX,DX

                55   0013  8B 0002r         MOV DX,W

                56                 ZN:

                57   0015  48               DEC AX

                58                          MYM2 10,20

1               59   0016  8B 0A         MOV AX, 10

1               60   0018  8B 14         MOV CX, 20

                61   001A  8B D9            MOV BX,CX

                62                          MYM3 BX,CX

1               63   001C  4B            DEC BX

1               64   001D  41            INC CX

                65   001E  8B 10            MOV AX,16

                66   0020  3D C3            CMP AX,BX

                67   0022                 CODE ENDS

                68                      END

===================table of segment=========================

                     DATA  0007

                     CODE  0022

====================symbol table=============================

                   AS      WORD       DS:0000

                    W      WORD       DS:0002

                    M      BYTE       DS:0004

                DFGHA      WORD       DS:0005

                    A      BYTE       CS:0009

                  DDD      NEAR       CS:0007

                   ZN      NEAR       CS:0015

=========================macro table===============================

                              MYM

                             MYM2

                             MYM3

                             MYM4

 утримуючий розширений лістинг файлу "text2.asm".

7. Висновки з проробленої роботи.

У цій роботі були розглянуті принципи роботи препроцесора,   а також компіляція програм мовою ассемблера, що містить його директиви.