Y = A*X-3*(B+3/K) <<<Этот пример надо на ассемблере написать
mov cx, A
mul cx, X
mov bx, B
mul bx, -3
add cx, bx
mov ax, K
div ax, -9
add cx, ax
movsx edx, ax
mov Y, edx
я попыталась, но ответ не верный
ПОМОГИТЕЕЕЕЕЕ
Другие языки программирования и технологии
Ассемблер!!!! вычисление арифметической функции
3 * (3 / K) и 9 / K при целочисленном делении дают РАЗНЫЕ результаты:
3 * (3 / 4) = 3 * 0 = 0
9 / 4 = 2
0 != 2
Предполагаю, ты делишь K на -9, а надо -9 делить на K.
Чтобы "написать на ассемблере", надо знать, на каком именно ассемблере писать.
3 * (3 / 4) = 3 * 0 = 0
9 / 4 = 2
0 != 2
Предполагаю, ты делишь K на -9, а надо -9 делить на K.
Чтобы "написать на ассемблере", надо знать, на каком именно ассемблере писать.
Владимир Соколов
Каких вoзмoжнocтeй в Go вам не xвaтaeт?
Владимир Соколов
Кaкиx вoзмoжнocтeй в cтaндapтнoй библиoтeкe Go (не в caмoм Go) вам не xвaтaeт?
Ответ от OpenAI
К сожалению, не могу сказать, в чем именно ошибка, так как некоторые значения неизвестны (например, A, X, B, K). Однако, вот исправленный код на основе заданного примера:
mov eax, A
mul X
sub eax, 3
mov ebx, B
add ebx, 3
mov ecx, K
div ecx
imul ebx, eax, -3
add eax, ebx
mov Y, eax
Надеюсь, это поможет Вам.
К сожалению, не могу сказать, в чем именно ошибка, так как некоторые значения неизвестны (например, A, X, B, K). Однако, вот исправленный код на основе заданного примера:
mov eax, A
mul X
sub eax, 3
mov ebx, B
add ebx, 3
mov ecx, K
div ecx
imul ebx, eax, -3
add eax, ebx
mov Y, eax
Надеюсь, это поможет Вам.
Андрей Цыганков
А задается, a X K B уже в коде вписаны
Андрей Цыганков
.686
.model flat, stdcall
option casemap:none
include C:\masm32\include\windows.inc
include C:\masm32\include\user32.inc
include C:\masm32\include\kernel32.inc
include C:\masm32\include\masm32.inc
includelib C:\masm32\lib\user32.lib
includelib C:\masm32\lib\kernel32.lib
includeLib C:\masm32\lib\masm32.lib
.data
sConsoleTitle BYTE "Laboratornaya rabota 1", 0
strPrompt BYTE "Vvedite znachenie A:", 0Dh, 0Ah, 0h
MsgExit BYTE 0Dh, 0Ah, "Dla zaversheniya nazmite enter", 0Dh, 0Ah, 0h
resultText BYTE "Otvet: "
resultStr BYTE 16 DUP(' '), 0
B DWORD -1
K DWORD 3
X DWORD 2
.data?
hStdout DWORD ? ; дескриптор устройства вывода
hStdin DWORD ? ; дескриптор устройства ввода
cWritten DWORD ?
buffer BYTE 20 DUP(?)
A DWORD ? ; переменная
Y DWORD ? ; результат
.code
start:
.model flat, stdcall
option casemap:none
include C:\masm32\include\windows.inc
include C:\masm32\include\user32.inc
include C:\masm32\include\kernel32.inc
include C:\masm32\include\masm32.inc
includelib C:\masm32\lib\user32.lib
includelib C:\masm32\lib\kernel32.lib
includeLib C:\masm32\lib\masm32.lib
.data
sConsoleTitle BYTE "Laboratornaya rabota 1", 0
strPrompt BYTE "Vvedite znachenie A:", 0Dh, 0Ah, 0h
MsgExit BYTE 0Dh, 0Ah, "Dla zaversheniya nazmite enter", 0Dh, 0Ah, 0h
resultText BYTE "Otvet: "
resultStr BYTE 16 DUP(' '), 0
B DWORD -1
K DWORD 3
X DWORD 2
.data?
hStdout DWORD ? ; дескриптор устройства вывода
hStdin DWORD ? ; дескриптор устройства ввода
cWritten DWORD ?
buffer BYTE 20 DUP(?)
A DWORD ? ; переменная
Y DWORD ? ; результат
.code
start:
Ваш код содержит ошибки. Я попытался исправить его, основываясь на формуле Y = AX - 3(B + 3/K), и представил решение на основе синтаксиса NASM для архитектуры x86-64:
section .data
A: dd 10 ; Значение A
X: dd 20 ; Значение X
B: dd 30 ; Значение B
K: dd 40 ; Значение K
section .text
global _start
_start:
; A*X
mov eax, [A]
mov ebx, [X]
imul eax, ebx
; 3/K
mov ecx, [K]
cdq ; Расширяем знак до EDX
mov ebx, 3
idiv ebx
mov esi, eax
; 3*(B + 3/K)
mov eax, [B]
add eax, esi
mov ebx, 3
imul eax, ebx
; A*X - 3*(B + 3/K)
sub [eax], ecx
; Сохраняем результат в переменной Y
mov [Y], eax
; Выходим из программы
mov eax, 1 ; Системный вызов для выхода
xor ebx, ebx ; Код возврата 0
int 0x80
section .data
Y: dd 0 ; Результат вычисления
Этот код вычисляет значение функции Y = AX - 3(B + 3/K) и сохраняет его в переменной Y. Пожалуйста, убедитесь, что значения переменных A, X, B и K соответствуют вашим потребностям.Похожие вопросы
- Ассемблер. Написать маленькую программу вычисления арифметического выражения. Подробности внутри.
- Приведите пожалуйста пример программы на ассемблере, использующая API функцию GlobalMemoryStatus. Заранее спасибо.
- нужна помощь. найти сумму квадратов чётных элементов на языке ассемблер используя арифметические команды
- Составить подпрограмму-функцию вычисления значений интеграла методом Симпсон.
- Что может ассемблер?
- Помогите написать на ассемблере програму для вычисления виражения y=(c-(d/2)+33 )/(2*a*a-1). c=5,d=6,a=3.
- Нужно написать программа на ассемблере для функции СигнумХ . Как правильно это сделать?
- Условные вычисления на языке Ассемблер.
- Ассемблер рекурсивная процедура. вычисление факториала, в чем проблемма программы? в отладчике она зацикливается.
- Почему многие программисты ненавидят ассемблер?Ведь у него куча плюсов!Он позволяет максимально задействовать