Вивчення компіляторів мови Паскаль та асемблер (Звіт з лабораторної роботи № 1), страница 5

3C44:00EE 31C0          XOR   AX,AX                             

3C44:00F0 A3BC00        MOV   [00BC],AX                 k:=0;        

3C44:00F3 31C0          XOR   AX,AX                             

3C44:00F5 A3BA00        MOV   [00BA],AX                 s:=0;         

3C44:00F8 C70654000100  MOV   WORD PTR [0054],0001      for i:=1        

3C44:00FE EB04          JMP   0104                              

3C44:0100 FF065400      INC   WORD PTR [0054]                   

3C44:0104 8B3E5400      MOV   DI,[0054]                          

3C44:0108 D1E7          SHL   DI,1                              

3C44:010A 8B855400      MOV   AX,[DI+0054]                      

3C44:010E 8B3E5400      MOV   DI,[0054]                         

3C44:0112 D1E7          SHL   DI,1                               

3C44:0114 3B858600      CMP   AX,[DI+0086]              if (a[i]>b[i])        

3C44:0118 7E14          JLE   012E                              

3C44:011A FF06BC00      INC   WORD PTR [00BC]          

3C44:011E A1BA00        MOV   AX,[00BA]                          

3C44:0121 8B3E5400      MOV   DI,[0054]                         

3C44:0125 D1E7          SHL   DI,1                              

3C44:0127 03855400      ADD   AX,[DI+0054]              s:=s+a[i];        

3C44:012B A3BA00        MOV   [00BA],AX                         

3C44:012E 833E540019    CMP   WORD PTR [0054],+19      to 25         

3C44:0133 75CB          JNZ   0100                     do         

3C44:0135 BFBE01        MOV   DI,01BE                           

3C44:0138 1E            PUSH  DS                                

3C44:0139 57            PUSH  DI                                

3C44:013A A1BA00        MOV   AX,[00BA]                         

3C44:013D 99            CWD                                     

3C44:013E 52            PUSH  DX                                

3C44:013F 50            PUSH  AX                                

3C44:0140 31C0          XOR   AX,AX                             

3C44:0142 50            PUSH  AX                                

3C44:0143 9A2207190D    CALL  0D19:0722             

3C44:0148 B020          MOV   AL,20                             

3C44:014A 50            PUSH  AX                                

3C44:014B 31C0          XOR   AX,AX                             

3C44:014D 50            PUSH  AX                                

3C44:014E 9A7B06190D    CALL  0D19:067B                         

3C44:0153 A1BC00        MOV   AX,[00BC]                         

3C44:0156 99            CWD                                     

3C44:0157 52            PUSH  DX                                

3C44:0158 50            PUSH  AX                                

3C44:0159 31C0          XOR   AX,AX                             

3C44:015B 50            PUSH  AX                                

3C44:015C 9A2207190D    CALL  0D19:0722                         

3C44:0161 9AFE05190D    CALL  0D19:05FE                         

3C44:0166 9A9102190D    CALL  0D19:0291                         

3C44:016B C70652005555  MOV   WORD PTR [0052],5555          i=0x5555

Висновок: виконавчий файл програми написаної на С виявився більше написаного на Pascal. Це відбулося через особливості компілятора мови С. З вищевикладеного випливає , що програма, написана мовою С , хоча і буде вимагати більше системних ресурсів, можливо буде виконуватися трохи швидше такої ж програми на Pascal (якщо не враховувати час роботи складного завантажника), але набагато повільніше еквівалента, написаного на асемблері.