Аналіз коду системних утиліт. Декомпіляція коду (Звіт з лабораторної роботи № 5), страница 2

0CF1:01AE B43D          MOV   AH,3D   ;Функция  3dH: Открыть описатель файла                          

0CF1:01B0 CD21          INT   21      ;Прерывание DOS                          

0CF1:01B2 725B          JB    020F                              

0CF1:01B4 A37303        MOV   [0373],AX                         

0CF1:01B7 33DB          XOR   BX,BX                             

0CF1:01B9 B43E          MOV   AH,3E   ;Функция 3eH: Закрыть описатель файла

0CF1:01BB CD21          INT   21      ;Прерывание DOS                          

0CF1:01BD 8B1E7303      MOV   BX,[0373]                         

0CF1:01C1 B445          MOV   AH,45;Функция45H:Дублировать описатель файла - DUP                           

0CF1:01C3 CD21          INT   21      ;Прерывание DOS                          

0CF1:01C5 33DB          XOR   BX,BX                             

0CF1:01C7 B445          MOV   AH,45;Функция45H:Дублировать описатель файла - DUP                            

0CF1:01C9 CD21          INT   21      ;Прерывание DOS                          

0CF1:01CB 8BE8          MOV   BP,AX                             

0CF1:01CD B43E          MOV   AH,3E   ;Функция 3eH: Закрыть описатель файла                          

0CF1:01CF CD21          INT   21      ;Прерывание DOS                          

0CF1:01D1 BB0200        MOV   BX,0002                           

0CF1:01D4 B445          MOV   AH,45;Функция45H:Дублировать описатель файла - DUP                            

0CF1:01D6 CD21          INT   21       ;Прерывание DOS                         

0CF1:01D8 8B0E5917      MOV   CX,[1759] ;Число записываемых байт                        

0CF1:01DC BA5717        MOV   DX,1757 ;DS:DX адрес буфера, содержащего записываемые данные                         

0CF1:01DF BB0100        MOV   BX,0001  ;Описатель файла                         

0CF1:01E2 B440          MOV   AH,40  ;Функция 40H: Писать в файл через описатель                         

0CF1:01E4 CD21          INT   21       ;Прерывание DOS                          

0CF1:01E6 FC            CLD                                     

0CF1:01E7 BA6117        MOV   DX,1761  ;DS:DX адрес буфера, содержащего записываемые данные                                                   

0CF1:01EA B90010        MOV   CX,1000  ;Число записываемых байт                         

0CF1:01ED 8BDD          MOV   BX,BP   ;Описатель файла                          

0CF1:01EF B43F          MOV   AH,3F  ;Функция 3fH: Читать файл через описатель                         

0CF1:01F1 CD21          INT   21      ;Прерывание DOS                          

0CF1:01F3 728F          JB    0184                              

0CF1:01F5 0BC0          OR    AX,AX                             

0CF1:01F7 7502          JNZ   01FB                              

0CF1:01F9 EB89          JMP   0184                              

0CF1:01FB 8BC8          MOV   CX,AX                             

0CF1:01FD 8BF2          MOV   SI,DX                             

0CF1:01FF AC            LODSB                                   

0CF1:0200 3C1A          CMP   AL,1A                             

0CF1:0202 7480          JZ    0184                              

0CF1:0204 3C0D          CMP   AL,0D                             

0CF1:0206 7518          JNZ   0220                              

0CF1:0208 C6067C0B01    MOV   BYTE PTR [0B7C],01                

0CF1:020D EB5D          JMP   026C                              

0CF1:020F B80400        MOV   AX,0004                           

0CF1:0212 BB0200        MOV   BX,0002                           

0CF1:0215 33C9          XOR   CX,CX                             

0CF1:0217 B200          MOV   DL,00                             

0CF1:0219 B603          MOV   DH,03                             

0CF1:021B E86311        CALL  1381