Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

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
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru