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

Вычисление значения выражения a = b*(c-d) - c/(d-1) (RadASM, MASM)

22.03.2016, 17:53. Показов 3840. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ, помогите нужно написать программу, которая будет решать вот эту формулу a = b*(c-d) - c/(d-1) ;b,c,d вводятся с клавы. Я написал, но ответ выдает не верный, помогите, скажите где я ошибся?
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
include /masm32/include/masm32rt.inc
.data
a sword ?
b sword ?
cv sword ?
d sword ?
buf db 10 dup (?)
vb db "Enter a variable B: ",0
vc db "Enter a variable C: ",0
vd db "Enter a variable D (ATTENTION should not D = 1): ",0
rs db "B*(C-D)-C/(D-1) = ",0
em db 13,10,"press any key to exit...",0
.code
start:
invoke StdOut, addr vb
invoke StdIn, addr buf, LengthOf buf
invoke StripLF, addr buf
invoke atol,addr buf
mov dword ptr b,eax
invoke StdOut, addr vc
Invoke StdIn, addr buf, LengthOf buf
invoke StripLF, addr buf
invoke atol, addr buf
mov dword ptr cv,eax
invoke StdOut, addr vd
invoke StdIn, addr buf , LengthOf buf
invoke StripLF, addr buf
invoke atol, addr buf
mov dword ptr d,eax
mov ax,cv
sub ax,d;c-d
mov bx,b
mul bx;b*(c-d)
mov a,ax;a=b*(c-d)
mov bx,d
dec bx;d-1
mov ax,cv
div bx;c/d-a
sub a,ax;b*(c-d)-c/(d-1)
invoke dwtoa ,a,addr buf
invoke StdOut, addr rs
invoke StdOut, addr buf  
invoke StdOut, addr em
invoke StdIn, addr buf, LengthOf buf
invoke ExitProcess,0
end start
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.03.2016, 17:53
Ответы с готовыми решениями:

Вычисление значения выражения (А/2 – В) – 2*(С + 1) (masm)
Вот пример выражения (А – В) *2 + С – 1, где А, В, С - целые знаковые числа. А мне нужно (А/2 – В) – 2*(С + 1), где А, В, С - целые...

RadAsm и Masm, несколько asm файлов в проекте
Всем привет. :) Изучаю асм под винду, IDE - RadAsm, ассемблер - Masm, отладчик - Olly, подружил их с помощью assembly.zip с офсайта....

Вычисление значения выражения в зависимости от значения аргумента

1
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
23.03.2016, 18:27
Лучший ответ Сообщение было отмечено Kronos163 как решение

Решение

Дык, как-то так:
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
.486                ; create 32 bit code
.model  flat, stdcall       ; 32 bit memory model
option  casemap :none       ; case sensitive
include \masm32\include\windows.inc
include \masm32\include\masm32.inc
include \masm32\include\msvcrt.inc
include \masm32\macros\macros.asm
includelib \masm32\lib\msvcrt.lib
    .data
a   dd  ?
b   dd  ?
c_  dd  ?
d   dd  ?
vb  db  "Enter a variable B: ",0
vc  db  "Enter a variable C: ",0
vd  db  "Enter a variable D (ATTENTION should not D = 1): ",0
rs  db  "B*(C-D)-C/(D-1) = %d"
    db  13,10,"press any key to exit...",0
tpi db  "%d",0
tps db  "%s",0
.code
start:
    invoke  crt_printf, addr tps, addr vb
    invoke  crt_scanf, addr tpi, addr b
    invoke  crt_printf, addr tps, addr vc
    invoke  crt_scanf, addr tpi, addr c_
    invoke  crt_printf, addr tps, addr vd
    invoke  crt_scanf, addr tpi, addr d
    mov eax, [c_]
    sub eax, [d]        ;c-d
    imul    eax, [b]        ;b*(c-d)
    mov [a], eax        ;a=b*(c-d)
    dec [d]         ;d-1
    mov eax, [c_]
    cdq
    idiv    [d]         ;c/d-a
    sub [a],eax         ;b*(c-d)-c/(d-1)
    invoke  crt_printf, addr rs, [a]
    invoke  crt__getch
    invoke  crt_exit,0
    end start
Добавлено через 17 часов 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
.486                ; create 32 bit code
.model  flat, stdcall       ; 32 bit memory model
option  casemap :none       ; case sensitive
include \masm32\include\windows.inc
include \masm32\include\masm32.inc
include \masm32\include\msvcrt.inc
include \masm32\macros\macros.asm
includelib \masm32\lib\msvcrt.lib
    .data
a   dd  ?
b   dd  ?
c_  dd  ?
d   dd  ?
entr    db  "Enter a variable B",0
entrv   =   $ - 2
tp2 db  "%s (ATTENTION should not D = 1): ",0
rs  db  "B*(C-D)-C/(D-1) = %d"
    db  13,10,"press any key to exit...",0
tp1 db  '%s: ', 0
tpi db  "%d", 0
.code
start:
    invoke  crt_printf, addr tp1, addr entr
    invoke  crt_scanf, addr tpi, addr b
    inc byte ptr [entrv]
    invoke  crt_printf, addr tp1, addr entr
    invoke  crt_scanf, addr tpi, addr c_
    inc byte ptr [entrv]
    invoke  crt_printf, addr tp2, addr entr
    invoke  crt_scanf, addr tpi, addr d
    mov eax, [c_]
    sub eax, [d]        ;c-d
    imul    eax, [b]        ;b*(c-d)
    mov [a], eax        ;a=b*(c-d)
    dec [d]         ;d-1
    mov eax, [c_]
    cdq
    idiv    [d]         ;c/d-a
    sub [a],eax         ;b*(c-d)-c/(d-1)
    invoke  crt_printf, addr rs, [a]
    invoke  crt__getch
    invoke  crt_exit,0
    end start
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.03.2016, 18:27
Помогаю со студенческими работами здесь

Вычисление значения выражения
Для заданного натурального числа п написать программу вычисления значения выражения: S={e}^{-1}+e\sqrt{2}+e\sqrt{3}+...e\sqrt{n} ...

Вычисление значения выражения
Помогите в написание программы! Вот условия: Вычисление значения выражения. Примечания к заданию: - Реализуйте вычисление...

вычисление значения выражения
решить в паскале

Вычисление значения выражения (2c-42)/(c+a-1)
Дано вот такое выражение: (2c-42)/(c+a-1). Нужно вычислить его значение. MASM MODEL SMALL .STACK 100h .DATA .CODE main PROC...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru