kavidi
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору .286 .model small .data a dd 2.0 b dd 4.0 c dd 2.0 D dd ? mes1 db 'No roots! $' temp dd 4.0 temp2 dd 2.0 .stack 256h .code ;Main PROC main proc push @data pop ds ;;;;;;;;;;;;;;;;;;;;; finit ; discriminante ; D = sqr(b)-4*a*c fld b fmul b fld a fld temp fmul fld c fmul fsubp st(1),st(0) fst D ; <=> ftst fstsw ax sahf jc j1 jz j2 ; D > 0 ; X1 = (-b-sqrt(D))/(2*a) ; X2 = (-b+sqrt(D))/(2*a) finit fld temp2 fmul a fld D fsqrt fld b fchs fsave temp2[4] frstor temp2[4] fsubr fdivr ; first root frstor temp2[4] fadd fdivr ; second root jmp ex ; D < 0 ; !no roots! j1: mov ah, 09h mov dx, offset mes1 int 21h jmp ex ; D = 0 ; X = -b/(2*a) j2: finit fld temp2 fmul a fld b fdivr fchs ; root ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ex: mov ax, 04C00h int 21h main endp ;end of main end main | Всего записей: 1 | Зарегистр. 12-05-2009 | Отправлено: 18:06 12-05-2009 | Исправлено: kavidi, 18:22 12-05-2009 |
|