Порівняльний аналіз кодів та данних програм, що створюються системами програмування різних рівнів Паскаль і Асемблер (Звіт з лабораторної роботи № 1), страница 3

0B96:00C6 40            INC   AX                                      

0B96:00C7 8B3E7C00      MOV        DI,[007C]                         

0B96:00CB D1E7          SHL              DI,1                               b[j]=i+1

0B96:00CD 89856600      MOV         [DI+0066],AX                      

0B96:00D1 A17C00        MOV          AX,[007C]                         

0B96:00D4 40            INC   AX                                   inc (j)

0B96:00D5 A37C00        MOV          [007C],AX                         

0B96:00D8 833E7A0005    CMP       WORD PTR [007A],+05          i<5

0B96:00DD 75C1          JNZ              00A0                              

0B96:00DF BF9601        MOV           DI,0196                            

0B96:00E2 1E            PUSH               DS                                

0B96:00E3 57            PUSH               DI                                

0B96:00E4 9ADD05110C    CALL    0C11:05DD                             writeln;           

0B96:00E9 9A9102110C    CALL     0C11:0291                         

0B96:00EE C7067E003333  MOV   WORD PTR [007E],3333              

0B96:00F4 BF9601        MOV           DI,0196                           

0B96:00F7 1E            PUSH               DS                                

0B96:00F8 57            PUSH               DI                                

0B96:00F9 BF0F00        MOV           DI,000F                           

0B96:00FC 0E            PUSH              CS                                

0B96:00FD 57            PUSH              DI                                

0B96:00FE 31C0          XOR              AX,AX                             

0B96:0100 50            PUSH               AX                                

0B96:0101 9A0107110C    CALL      0C11:0701                                       writeln ('Isxodnui massiv');    

0B96:0106 9ADD05110C    CALL    0C11:05DD                         

0B96:010B 9A9102110C    CALL     0C11:0291                         

0B96:0110 A17C00        MOV           AX,[007C]                         

0B96:0113 48            DEC  AX                                

0B96:0114 8946FE        MOV            [BP-02],AX                        

0B96:0117 31C0          XOR              AX,AX                             

0B96:0119 3B46FE        CMP            AX,[BP-02]                        

0B96:011C 7F41          JG   015F                       

0B96:011E A37A00        MOV          [007A],AX                          

0B96:0121 EB04          JMP               0127                              

0B96:0123 FF067A00      INC           WORD PTR [007A]                   

0B96:0127 BF9601        MOV           DI,0196                           

0B96:012A 1E            PUSH              DS                                 

0B96:012B 57            PUSH               DI                                

0B96:012C B020          MOV             AL,20                             

0B96:012E 50            PUSH               AX                                

0B96:012F 31C0          XOR              AX,AX                              

0B96:0131 50            PUSH               AX                                

0B96:0132 9A7B06110C    CALL     0C11:067B                         

0B96:0137 8B3E7A00      MOV        DI,[007A]                         

0B96:013B D1E7          SHL              DI,1                               

0B96:013D 8B856600      MOV         AX,[DI+0066]            

0B96:0141 99            CWD                                   

0B96:0142 52            PUSH               DX                                

0B96:0143 50            PUSH               AX                                 

0B96:0144 B80300        MOV           AX,0003                           

0B96:0147 50            PUSH               AX                                

0B96:0148 9A8907110C    CALL      0C11:0789                   write(b[i])      

0B96:014D 9AFE05110C    CALL     0C11:05FE                         

0B96:0152 9A9102110C    CALL      0C11:0291                         

0B96:0157 A17A00        MOV          AX,[007A]                         

0B96:015A 3B46FE        CMP           AX,[BP-02]                        

0B96:015D 75C4          JNZ               0123                              

0B96:015F C7067E004444  MOV    WORD PTR [007E],4444              

Висновки: В ході даної роботи ми закріпили знання структури  програми на мові асемблера, навички роботи з debug для контроля виконання програми; ознайомилися з транслятором Pascal, вивчили особливості його трансляції, проаналізували код asm-, та pascal-програми отриманий в результаті трансляції. Виявилося, що код на асемблері набагато бистродіючий та займає менше місця на диску.