Форум программистов, компьютерный форум, киберфорум
Assembler: математика, вычисления
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 1
Регистрация: 22.02.2018
Сообщений: 77

Вычисление выражения по формуле

01.04.2018, 17:06. Показов 1077. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Входные данные необходимо вводить с клавиатуры; результат должен быть выведен на
консоль.
Изображения
 
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.04.2018, 17:06
Ответы с готовыми решениями:

Вычисление выражения по формуле
Добрый день! Подскажите как реализовать на ассемблере nasm программу для высчитывания формулы: b*x^2 + sin(y)

Вычисление выражения по формуле
Помогите изменить код для формулы. Z=\frac{X \cdot Y}{X+Y} st_k segment stack 'stack' dw 100 dup(?) st_k ends ...

Вычисление выражения по формуле
Составить программу вычисления y=(10*sin({x}_{1})+20*cos({x}_{2}))/x_3^3. Числа вводятся с клавиатуры. Вычисления чисел производить с...

1
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8665 / 4502 / 1670
Регистрация: 01.02.2015
Сообщений: 13,926
Записей в блоге: 13
01.04.2018, 20:46
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
.486
.model flat, stdcall
option casemap :none
 
        include d:\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
        aszPromptX      db      0Dh, 0Ah, 'Enter the X: ', 0
        aszPromptZ      db      0Dh, 0Ah, 'Enter the Z: ', 0
        aszMsgResult    db      0Dh, 0Ah, 'Result: ', 0
        aszPressEnter   db      0Dh, 0Ah, 0Dh, 0Ah, "Press ENTER to exit", 0
.data?
        hConsoleOutput  HANDLE  ?
        hConsoleInput   HANDLE  ?
        X               dq      ?
        Z               dq      ?
        Result          dq      ?
        Buffer          db      1024 dup(?)
        BufLen          dd      ?
.code
 
;ввод числа в формате double
ReadFloat       proc    lptrPrompt:DWORD, iLengthPrompt:DWORD, lptrFloat:DWORD
 
        invoke  WriteConsole, hConsoleOutput, lptrPrompt,\
                iLengthPrompt, ADDR BufLen, NULL
        invoke  ReadConsole, hConsoleInput, ADDR Buffer,\
                LENGTHOF Buffer, ADDR BufLen, NULL
        lea     esi,    [Buffer]        ;удаление из буфера
        add     esi,    [BufLen]        ;символов перевода строки
        mov     [esi-2],word ptr 0
        finit
        invoke  StrToFloat, ADDR Buffer, lptrFloat
        ret
ReadFloat       endp
 
;arcctg(x)
Arcctg  proc
        fld1
        fpatan
        fldpi
        fld1
        fadd    st(0),  st(0)
        fdivp   st(1),  st(0)
        fxch    st(1)
        fsubp   st(1),  st(0)
        ret
Arcctg  endp
 
;Вычисляет значение exp(x)
;на входе:
;  st(0) - аргумент функции x
;на выходе:
;  st(0) - значение функции
Exp     proc
        ;fld     x              ;st(0)=x
        fldl2e                  ;st(0)=1/ln(2)=log2(e)
        fmul                    ;st(0)=x/ln(2)=x*log2(e)
        fld     st
        frndint
        fsub    st(1), st
        fxch    st(1)
        f2xm1
        fld1
        fadd
        fscale
        fstp    st(1)
        ret
Exp     endp
 
main    proc
 
        ; получение описателей ввода и вывода консоли
        invoke  GetStdHandle,   STD_INPUT_HANDLE
        mov     hConsoleInput,  eax
 
        invoke  GetStdHandle,   STD_OUTPUT_HANDLE
        mov     hConsoleOutput, eax
 
        invoke  ClearScreen
        ;ввод X
        invoke  ReadFloat,      ADDR aszPromptX, \
                                LENGTHOF aszPromptX - 1, \
                                ADDR X
        ;ввод Z
        invoke  ReadFloat,      ADDR aszPromptZ, \
                                LENGTHOF aszPromptZ - 1, \
                                ADDR Z
        ;вычисление
        finit
        fld     [Z]
        call    Arcctg
        fld     [X]
        fld1
        fadd    st(1),  st(0)
        fadd    st(1),  st(0)
        faddp   st(1),  st(0)
        fchs
        call    Exp
        faddp   st(1),  st(0)
        fld     [X]
        fmulp   st(1),  st(0)
 
        fstp    [Result]
        ;очистка FPU
        finit
        ;вывод результата
        invoke  WriteConsole, hConsoleOutput, ADDR aszMsgResult,\
                LENGTHOF aszMsgResult - 1, ADDR BufLen, NULL
        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
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.04.2018, 20:46
Помогаю со студенческими работами здесь

Вычисление выражения по формуле
Помогите пожалуйста с решением вот этого задания при помощи сопроцессора, тупо не могу вникнуть как решать натуральный логарифм:...

Вычисление выражения по формуле
На ассемблере решать. Без разницы Tasm,Masm главное было коод и с черным экраном отправьте. Пожалуйста помогитеее срочно.Вычислите,...

Вычисление выражения по формуле
Нужно решить задачу на ассемблере, самую простую.. а я в нем не жу жу. Z=a^2*sqrt((c*d)/b) Вот задача. Z=a^2\; \cdot\sqrt{\frac{c\cdot...

Вычисление выражения по формуле
Вычислите, используя FPU, следующее выражение, входные данные необходимо вводить с клавиатуры и результат должен быть выведен на консоль

Вычисление выражения по формуле
Вычислите, используя FPU, следующее выражение: Входные данные необходимо вводить с клавиатуры; результат должен выводиться на консоль.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru