|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
21.06.2012, 20:51 | #1 (permalink) |
Новичок
Регистрация: 21.06.2012
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Квадратное уравнение, Ассемблер
Код:
.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 ; C++: ; 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 |
21.06.2012, 20:51 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Если поискать по форуму, то можно найти много похожего, рекомендую к прочтению Решить дифференциальное уравнение в Паскале Диофантово уравнение Как записать уравнение в QBasic? |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|