Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2022, 11:04   #1
Dmitry0-10
 
Регистрация: 01.02.2022
Сообщений: 6
По умолчанию Вычислить дискриминант квадратного уравнения

Дорогие друзья, уважаемые программисты помогите пожалуйста желательно в стиле FASM
Вариант 1. Напишите программу для вычисления формулы дискриминанта уравнения ax^2+bx+1. D=b^2-4a*c. Все числа со знаком. Размер a — байт, размер b и с — слово. Проверьте работу программы в отладчике.
Пример:
Код:
use16                 ;Генерировать 16-битный код
org 100h              ;Программа начинается с адреса 100h
 
    movsx ax,[a]      ;AX = a
    add ax,[b]        ;AX = a+b
    cwd               ;DX:AX = a+b
    idiv [c]          ;AX = (a+b)/c, в DX остаток
    cwd               ;DX:AX = (a+b)/c
    mov word[x],ax    ;\
    mov word[x+2],dx  ;/ x = DX:AX
 
    mov ax,4C00h      ;\
    int 21h           ;/ Завершение программы
;-------------------------------------------------------
a   db -55
b   dw -3145
c   dw 100
x   dd ?
Dmitry0-10 вне форума Ответить с цитированием
Старый 05.03.2022, 05:01   #2
Nif-naf
Форумчанин
 
Аватар для Nif-naf
 
Регистрация: 05.09.2016
Сообщений: 131
По умолчанию

В литературе есть Пильщиков. Его макросы преобразуют число в Dos
Немного о GoAsm.
Nif-naf вне форума Ответить с цитированием
Старый 05.03.2022, 15:59   #3
Nif-naf
Форумчанин
 
Аватар для Nif-naf
 
Регистрация: 05.09.2016
Сообщений: 131
Подмигивание

Код:
.data
msg db 20dup(?)
A dd 1
B dd 2
C dd 3
D dd 4
X dd ?
Y dd ?
Z dd ?
.code
fninit
fld dword ptr A
fmul dword ptr C
fstp dword ptr X
fld dword ptr B
fmul dword ptr B
fstp dword ptr Y
fld dword ptr D
fmul dword ptr X
fsub dword ptr Y
fchs
fstp dword ptr Z
fwait
(перевод Z в строку)
lea dx, msg
mov ah, 9h
int 21h
mov ah, 4ch
int 21h
end.
Немного о GoAsm.

Последний раз редактировалось Nif-naf; 06.03.2022 в 05:52.
Nif-naf вне форума Ответить с цитированием
Старый 18.04.2022, 01:58   #4
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Цитата:
Сообщение от Nif-naf Посмотреть сообщение
Код:
A dd 1 ; целое
B dd 2 ; целое
C dd 3 ; целое
D dd 4 ; целое
...
fld dword ptr A ; вещественное
fmul dword ptr C ; вещественное
fstp dword ptr X
fld dword ptr B ; вещественное
fmul dword ptr B ; вещественное
fstp dword ptr Y
fld dword ptr D ; вещественное
А это ничего, что изначально задаются целые числа, но команды загружают вещественные?
macomics вне форума Ответить с цитированием
Старый 18.04.2022, 12:54   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

А ему всё нипочём. Раз есть Пильщиков.
Ну а это
Цитата:
макросы преобразуют число в Dos
вообще улёт.

Последний раз редактировалось digitalis; 18.04.2022 в 18:25.
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С#Решение квадратного уравнения Nuc Помощь студентам 0 21.01.2021 01:23
График квадратного уравнения strangegirlXX JavaScript, Ajax 2 21.10.2013 17:21
Решение квадратного уравнения Stiv Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 30.11.2007 15:15
корни квадратного уравнения InseR Общие вопросы Delphi 12 01.06.2007 17:30