Форум программистов, компьютерный форум, киберфорум
Assembler: математика, вычисления
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Assembler Вычисление выражения по формуле https://www.cyberforum.ru/ assembler-math/ thread2223395.html
Входные данные необходимо вводить с клавиатуры; результат должен быть выведен на консоль.
Вычислить сумму ряда Assembler
Входные данные необходимо вводить с клавиатуры; результат должен быть выведен на консоль. s_1=\sum_{i=1}^{N}(\cos\: {x})^i
Assembler Вычисление выражения по формуле Входные данные необходимо вводить с клавиатуры; результат должен быть выведен на консоль. https://www.cyberforum.ru/ assembler-math/ thread2223390.html Assembler Вычислить произведение ряда https://www.cyberforum.ru/ assembler-math/ thread2223389.html
Входные данные необходимо вводить с клавиатуры; результат должен быть выведен на консоль.
Assembler Вычисление выражения по формуле с FPU
Входные данные необходимо вводить с клавиатуры; результат должен быть выведен на консоль.
Assembler Вычислить произведение ряда, используя FPU https://www.cyberforum.ru/ assembler-math/ thread2222777.html
Не могли бы вы помочь Исходные данные необходимо вводить с клавиатуры, результат выводить на консоль.
Assembler Вычислить сумму ряда Входные данные необходимо вводить с клавиатуры; результат должен быть выведен на консоль. https://www.cyberforum.ru/ assembler-math/ thread2221024.html Вычисление выражения по формуле Assembler
Входные данные необходимо вводить с клавиатуры; результат должен быть выведен на консоль.
Assembler Вычислить сумму ряда https://www.cyberforum.ru/ assembler-math/ thread2220465.html
Входные данные необходимо вводить с клавиатуры; результат должен быть выведен на консоль.
Assembler Вычислите, используя FPU, следующее выражение Исходные данные необходимо вводить с клавиатуры, результат выводить на консоль. https://www.cyberforum.ru/ assembler-math/ thread2216454.html
Assembler Реализовать процедуру умножения квадратных матриц (SSE)
Реализовать процедуру умножения квадратных матриц (размером кратным четырём) без использования специальных расширений и с использованием расширений SSE, сравнить время выполнения этих реализаций. Использовать операцию: aAx + y предполагается, что a,b– скаляры, x,y – векторы, A,B – матрицы
Assembler Emu8086 мат.формула .small Вычислить с учетом чисел с плавающей запятой следующее выражение: s1=\sum_{i=1}^{N}(tg\: x)^i Ввести информацию которую нужно ввести - с клавиатуры https://www.cyberforum.ru/ assembler-math/ thread2204920.html
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
06.04.2018, 22:56 0

Команда сопроцессора - fy12x - Assembler - Ответ 12285643

06.04.2018, 22:56. Показов 3348. Ответов 12
Метки (Все метки)

Лучший ответ Сообщение было отмечено Marihuana как решение

Решение

Не по теме:

Marihuana, вы как не для себя спрашиваете - чтобы проверить ваш код нужно сделать минимальную тестовую программу, вставить ваш фрагмент, выловить ошибки компиляции и затем приступить к отладке. Как думаете - много желающих?



Добавлено через 5 часов 11 минут
Смотрите, все ваши вычисления с целочисленными результатами, отсюда и ошибки округлений.
Без ввода X.
Если нужен ввод - посмотрите в соседних темах подраздела - там есть применение библиотечных функций
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
.686
.model flat, stdcall
option casemap :none
 
        include \masm32\include\windows.inc
 
        include \masm32\include\user32.inc
        include \masm32\include\kernel32.inc
        include \masm32\include\masm32.inc
 
        includelib \masm32\lib\user32.lib
        includelib \masm32\lib\kernel32.lib
        includelib \masm32\lib\masm32.lib
.data
        promptUserInputNumber       DB 10, 13, 'Please enter your number: ', 0
        promptUserInputOperator     DB 'Please enter your operator: ', 0
        aszPressEnter   db      0Dh, 0Ah, 0Dh, 0Ah, "Press ENTER to exit", 0
        sum_string      db      10, 13, "Result of your equation is %d", 0
    X       dq  1.0
    a       dq  3.4
.data?
        hConsoleOutput  HANDLE  ?
        hConsoleInput   HANDLE  ?
        Buffer          db      1024 dup(?)
        BufLen          dd      ?
        Result          dq      ?
 
.code
 
main    proc
 
        ; получение описателей ввода и вывода консоли
        invoke  GetStdHandle,   STD_INPUT_HANDLE
        mov     hConsoleInput,  eax
 
        invoke  GetStdHandle,   STD_OUTPUT_HANDLE
        mov     hConsoleOutput, eax
 
        invoke  ClearScreen
 
    finit               ;обнуляем стэк
    ;sin(x)/sqrt(x)
    fld [X]
    fld st(0)
    fsin
    fxch    st(1)
    fsqrt
    fdivp   st(1),  st(0)
    ;((sin(3.4x))^2)/x^2
    fld [X]
    fld st(0)
    fmul    [a]
    fsin
    fmul    st(0),  st(0)
    fxch    st(1)
    fmul    st(0),  st(0)
    fdivp   st(1),  st(0)
    ;
    faddp   st(1),  st(0)
    fsqrt
    ;x+(Pi/2)*exp(-abs(3.4))
    fld [X]
    fldpi           ;pi/2
    fld1
    fadd    st(0),  st(0)
    fdivp   st(1),  st(0)
    fld [a]     ;-abs(3.4)
    fabs
    fchs
    ;вычисление exp(st(0))
        fldl2e                  ;st(0)=1/ln(2)=log2(e)
        fmulp   st(1),  st(0)   ;st(0)=x/ln(2)=x*log2(e)
        fld     st(0)
        frndint
        fsub    st(1), st(0)
        fxch    st(1)
        f2xm1           ;st(0)=2^(mantissa)-1
        fld1            ;st(0)=2^(mantissa)-1+1=2^(mantissa)
        faddp   st(1), st(0)
        fscale
        fstp    st(1)
    ;
    fmulp   st(1),  st(0)   ;(Pi/2)*exp(-abs(3.4))
    faddp   st(1),  st(0)   ;x+(Pi/2)*exp(-abs(3.4))
    fsqrt
 
    faddp   st(1),  st(0)
 
    fstp    [Result]
 
ResultShow:
        ;вывод результата
    invoke  FloatToStr2, [Result], ADDR Buffer
    invoke  StrLen, ADDR Buffer
    mov     [BufLen],   eax
    invoke  WriteConsole, hConsoleOutput, ADDR Buffer,\
        BufLen, ADDR BufLen, NULL
 
        ;ожидание нажатия ENTER
        invoke  WriteConsole, hConsoleOutput, ADDR aszPressEnter,\
                LENGTHOF aszPressEnter - 1, ADDR BufLen, NULL
        invoke  ReadConsole, hConsoleInput, ADDR Buffer,\
                LENGTHOF Buffer, ADDR BufLen, NULL
 
        invoke  ExitProcess, 0
main    endp
 
end     main
Добавлено через 2 минуты
А с отрицательными X будет ошибка, т.к. корень квадратный из отрицательного числа не определён на множестве действительных чисел.

Вернуться к обсуждению:
Команда сопроцессора - fy12x Assembler
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2018, 22:56
Готовые ответы и решения:

Добрый день. Вероятность того что команда а и команда б забьет 2,3,4,5 голов
Команда а, сыграла дома 12 матчей забила 17 мячей и пропустила 7 Команда б, сыграла в гостях 12...

Константы сопроцессора
Зачем в сопроцессоре команды загрузки констант? С ПИ понятно, например, а вот зачем загружать как...

Команды сопроцессора.
Подскажите, пожайлуста, как выполнить умножение при помощи сопроцессора и еще, как вводить числа с...

Стек сопроцессора
Друзья, не могу до конца разобраться с работой стека. В стек загружаются данные последовательно,...

12
06.04.2018, 22:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.04.2018, 22:56
Помогаю со студенческими работами здесь

Работа сопроцессора
Помогите найти ошибку mov a,ax fldpi fxch fild a fmul st,st(1) mov...

Обновление сопроцессора
Вчера переустановил винду, с 7 на 7, и когда винда установилась в разделе звука был только HDMI...

SASM-вывод из сопроцессора
Нужно вывести с регистра st0 значение которое туда записывается в ходе математических операций. Сам...

Программа с задеиствованием сопроцессора
Добрыи день.Я тут новенькии,частенько читаю этот форум и он мне интересен,так как учусь на...

Включение/отключение сопроцессора
Доброго времени суток. Подскажите, как можно выполнить включение и выключение арифметического...

Обработка исключений сопроцессора
Добрый день. Кто подскажет как передать управление своему обработчику исключений сопроцессора? ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru