Вивчення роботи компіляторів мов Pascal, C і Assembler, страница 3

22DC:0071 C70664000808         MOV WORD PTR [0064],0808        a[9]:=2056

22DC:0077 C7066E005555         MOV WORD PTR [006E],5555       s:=$5555

22DC:007D 31C0                        XOR AX,AX                    

22DC:007F A36600                     MOV [0066],AX                               for i:=0

22DC:0082 EB04                         JMP 0088

22DC:0084 FF066600                  INC WORD PTR [0066]

22DC:0088 C7066E005555         MOV WORD PTR [006E],5555       s:=$5555

22DC:008E 8B3E6600                 MOV DI,[0066]

22DC:0092 D1E7                         SHL DI,1

22DC:0094 8B855200                  MOV AX,[DI+0052]

22DC:0098 A36800                      MOV [0068],AX                              a1:=a[i]

22DC:009B 8B3E6600                 MOV DI,[0066]

22DC:009F D1E7                          SHL DI,1

22DC:00A1 8B855200                  MOV AX,[DI+0052]

22DC:00A5 A36A00                     MOV [006A],AX                             a2:=a[i]

22DC:00A8 A16800                      MOV AX,[0068]

22DC:00AB 99                              CWD

22DC:00AC B90800                     MOV CX,0008

22DC:00AF F7F9                          IDIV CX

22DC:00B1 A36800                      MOV [0068],AX                             a1:=a1 div 8

22DC:00B4 A16800                      MOV AX,[0068]

22DC:00B7 99                               CWD

22DC:00B8 B90080                       MOV CX,8000

22DC:00BB 31DB                         XOR BX,BX

22DC:00BD 9A2C075323             CALL 2353:072C

22DC:00C2 A36800                       MOV [0068],AX                            a1:=a1*32768

22DC:00C5 A16A00                      MOV AX,[006A]

22DC:00C8 99                                CWD

22DC:00C9 B90008                       MOV CX,0800

22DC:00CC F7F9                           IDIV CX

22DC:00CE A36A00                      MOV [006A],AX                         a2:=a2 div 2048

22DC:00D1 A16A00                      MOV AX,[006A]

22DC:00D4 99                               CWD

22DC:00D5 B90080                      MOV CX,8000

22DC:00D8 31DB                         XOR BX,BX

22DC:00DA 9A2C075323            CALL 2353:072C

22DC:00DF A36A00                    MOV [006A],AX                            a2:=a2*32768

22DC:00E2 C7066E005555          MOV WORD PTR [006E],5555

22DC:00E8 A16800                      MOV AX,[0068]

22DC:00EB 3B066A00                 CMP AX,[006A]                            if a1=a2

22DC:00EF 7507                           JNZ 00F8

22DC:00F1 A16C00                     MOV AX,[006C]

22DC:00F4 40                               INC AX

22DC:00F5 A36C00                     MOV [006C],AX                                  then c:=c+1

22DC:00F8 833E660009              CMP WORD PTR [0066],+09               to 9

22DC:00FD 7585                          JNZ 0084                                                        do

22DC:00FF C7066E005555          MOV WORD PTR [006E],5555

22DC:0105 BF8401                      MOV DI,0184                                   'Total found '

22DC:0108 1E                               PUSH DS

22DC:0109 57                                PUSH DI

22DC:010A BF0000                      MOV DI,0000

22DC:010D 0E                               PUSH CS

22DC:010E 57                                PUSH DI

22DC:010F 31C0                           XOR AX,AX

22DC:0111 50                                PUSH AX

22DC:0112 9A70065323              CALL 2353:0670                     write('Total found ')

22DC:0117 A16C00                      MOV AX,[006C]                     c

22DC:011A 99                               CWD

22DC:011B 52                               PUSH DX

22DC:011C 50                               PUSH AX

22DC:011D 31C0                          XOR AX,AX

22DC:011F 50                                PUSH AX

22DC:0120 9AF8065323               CALL 2353:06F8                     write(c)

22DC:0125 BF0D00                       MOV DI,000D                          ' numbers'

22DC:0128 0E                                 PUSH CS

22DC:0129 57                                 PUSH DI

22DC:012A 31C0                           XOR AX,AX

22DC:012C 50                                PUSH AX

22DC:012D 9A70065323               CALL 2353:0670                      write(' numbers')

22DC:0132 9ADD055323              CALL 2353:05DD                      writeln

22DC:0137 9A91025323                CALL 2353:0291

22DC:013C C7066E005555           MOV WORD PTR [006E],5555

22DC:0142 C7066E005555            MOV WORD PTR [006E],5555

7.  Висновки по роботі: Ознайомилися з компіляторами. Вивчили особливості компіляції. Проаналізували код, отриманий у результаті компіляції.