Assembler äëÿ íà÷èíàþùèõ


         

Âû÷èñëåíèå êîðíåé êâàäðàòíîãî óðàâíåíèÿ


            001C  2B C0                  SUB     AX,AX
            001E  50                           PUSH    AX
            001F  8C C8                  MOV     AX,CS
            0021  8E D8                  MOV     DS,AX
            0023  8E C0                  MOV     ES,AX
 
            0025  9B DB E3                     FINIT             ;-----ST(0)-----;-----ST(1)------
            0028  9B DF 06 0002 R              FILD    B               ; B         ; ?
            002D  9B D8 8E 0000                FMUL    ST(0)           ; B**2      ; ?
            0032  9B DF 06 0000 R              FILD    A               ; A         ; B**2
            0037  9B DE 0E 0008 R              FIMUL   FOUR      ; 4*A       ; B**2
            003C  9B DE 0E 0004 R              FIMUL   C               ; 4*A*C           ; B**2
            0041  9B DE E1                     FSUBRP  ST(1),ST(0)    ; D=B**2-4*A*C  ; ?
            0044  9B D9 E4                     FTST
            0047  9B DD 3E 0006 R              FSTSW   STATUS
            004C  9B                           FWAIT
            004D  8A 26 0007 R                 MOV     AH,BYTE PTR STATUS+1
            0051  9E                           SAHF
            0052  72 37                  JB      IMAGINARY
            0054  9B D9 FA                     FSQRT             ; SQR(D)          ;
 
          Ôèã. 7. 26 Âû÷èñëåíèå êîðíåé êâàäðàòíîãî óðàâíåíèÿ (íà÷àëî)
            0057  9B D9 C0                     FLD     ST(0)           ; SQR(D)          ; SQR(D)
            005A  9B D9 E0                     FCHS              ; -SQR(D)         ; SQR(D)
            005D  9B DE 06 0002 R              FIADD   B               ; B-SQR(D)      ; SQR(D)
            0062  9B D9 E0                     FCHS              ; -B+SQR(D)     ; SQR(D)
            0065  9B D9 C9                     FXCH    ST(1)           ; SQR(D)          ; -B+SQR(D)
            0068  9B DE 06 0002 R              FIADD   B               ; B+SQR(D)      ; -B+SQR(D)

Ñîäåðæàíèå  Íàçàä  Âïåðåä