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

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

10.01.2018, 16:25. Показов 1076. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Составить программу вычисления https://www.cyberforum.ru/cgi-bin/latex.cgi?y=(10*sin({x}_{1})+20*cos({x}_{2}))/x_3^3. Числа вводятся с клавиатуры. Вычисления чисел производить с использованием команд сопроцессора. Результат записать в текстовый файл mult.txt по формату:
Результат =
Числа:
Время:
Студент:
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.01.2018, 16:25
Ответы с готовыми решениями:

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

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

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

1
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8665 / 4502 / 1670
Регистрация: 01.02.2015
Сообщений: 13,926
Записей в блоге: 13
14.01.2018, 22:29
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
.486
.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
        aszPromptX1     db      0Dh, 0Ah, 'Enter the X1: ', 0
        aszPromptX2     db      0Dh, 0Ah, 'Enter the X2: ', 0
        aszPromptX3     db      0Dh, 0Ah, 'Enter the X3: ', 0
        aszMsgResult    db      0Dh, 0Ah, 'Result: ', 0
        aszPressLeftAlt db      0Dh, 0Ah, 0Dh, 0Ah, "Press Left Alt to exit", 0
        aszFmt1         db      'Результат = ', 0
        aszFmt2         db      0Dh, 0Ah, \
                                'Числа: 14 января 2018г.', 0Dh, 0Ah, \
                                'Время: 18:40', 0Dh, 0Ah, \
                                'Студент: AtomicExp', 0
        aszFileName     db      'mult.txt', 0
        aszErrorFileOpen        db      'Create file failed', 0
        aszErrorFileWrite       db      'Write file failed', 0
.data?
        X1              dq      ?
        X2              dq      ?
        X3              dq      ?
        Result          dq      ?
        hConsoleOutput  HANDLE  ?
        hConsoleInput   HANDLE  ?
        hFile           HANDLE  ?
        dwBytesWritten  dd      ?
        BufLen          dd      ?
        Buffer          db      1024 dup(?)
 
.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
 
main    proc
        ; получение описателей ввода и вывода консоли
        invoke  GetStdHandle,   STD_INPUT_HANDLE
        mov     hConsoleInput,  eax
        invoke  GetStdHandle,   STD_OUTPUT_HANDLE
        mov     hConsoleOutput, eax
        ;очистка экрана
        invoke  ClearScreen
        ;ввод X1
        invoke  ReadFloat,      ADDR aszPromptX1, \
                                LENGTHOF aszPromptX1 - 1, \
                                ADDR X1
        ;ввод X2
        invoke  ReadFloat,      ADDR aszPromptX2, \
                                LENGTHOF aszPromptX2 - 1, \
                                ADDR X2
        ;ввод X3
        invoke  ReadFloat,      ADDR aszPromptX3, \
                                LENGTHOF aszPromptX3 - 1, \
                                ADDR X3
 
        ;вычисление с использованием трансцендентных команд сопроцессора
        finit
        fld     [X1]
        fsin
        fadd    st(0),  st(0)
        fld     st(0)
        fadd    st(0),  st(0)
        fadd    st(0),  st(0)
        faddp   st(1),  st(0)
 
        fld     [X2]
        fcos
        fadd    st(0),  st(0)
        fld     st(0)
        fadd    st(0),  st(0)
        fadd    st(0),  st(0)
        faddp   st(1),  st(0)
        fadd    st(0),  st(0)
 
        faddp   st(1),  st(0)
 
        fld     [X3]
        fld     st(0)
        fmul    st(0),  st(0)
        fmulp   st(1),  st(0)
 
        fdivp   st(1),  st(0)
        ;сохранение результата
        fstp    [Result]
 
        ;вывод результата на экран
        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
        ;сохранение результата в файл
        ;- формирование сообщения
        mov     ecx,    LENGTHOF aszFmt1 - 1
        lea     esi,    [aszFmt1]
        lea     edi,    [Buffer]
        rep     movsb
        invoke  FloatToStr2, [Result], edi
        mov     al,     0
        mov     ecx,    20
        repne   scasb
        mov     ecx,    LENGTHOF aszFmt2 - 1
        lea     esi,    [aszFmt2]
        rep     movsb
        sub     edi,    offset Buffer
        mov     [BufLen],edi
        ;- открытие файла на запись
        mov     [hFile],        INVALID_HANDLE_VALUE
        invoke  CreateFile,\
                        ADDR aszFileName,\              ;file name
                        GENERIC_WRITE,\         ;open for write
                        0,\                     ;do not share
                        NULL,\                  ;default security
                        CREATE_ALWAYS,\         ;overwrite existing
                        FILE_ATTRIBUTE_NORMAL,\ ;normal file
                        NULL                    ;no template
        mov     [hFile],        eax
        cmp     eax,    INVALID_HANDLE_VALUE
        jne     @@WriteToFile
        invoke  WriteConsole, hConsoleOutput, ADDR aszErrorFileOpen,\
                LENGTHOF aszErrorFileOpen - 1, ADDR BufLen, NULL
        jmp     @@CloseFile
@@WriteToFile:
        invoke  WriteFile,      hFile, ADDR Buffer, BufLen,\
                                ADDR dwBytesWritten, NULL
        or      eax,    eax
        jz      @@ErrorWrite
 
        jmp     @@CloseFile
@@ErrorWrite:
        invoke  WriteConsole, hConsoleOutput, ADDR aszErrorFileWrite,\
                LENGTHOF aszErrorFileWrite - 1, ADDR BufLen, NULL
@@CloseFile:
        invoke  CloseHandle,    [hFile]
        ;ожидание нажатия Left Alt
        invoke  WriteConsole, hConsoleOutput, ADDR aszPressLeftAlt,\
                LENGTHOF aszPressLeftAlt - 1, ADDR BufLen, NULL
        @@WaitForLAlt:
                invoke  GetAsyncKeyState, VK_LMENU
                and     eax,    8000h
        jz      @@WaitForLAlt
        ;завершение программы
        invoke  ExitProcess, 0
main    endp
 
end     main
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.01.2018, 22:29
Помогаю со студенческими работами здесь

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

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

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

Вычисление выражения по формуле
Всем привет, помогите, пожалуйста, вычислить выражение с использованием FPU. Заранее спасибо. 4x*{(ln x)}^{2}-4*sqrt{1+x}+5

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
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. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru