С Новым годом! Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 14.02.2018
Сообщений: 4
1

[masm32] Вычисление кусочной функции

15.02.2018, 13:23. Показов 788. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите найти ошибки в программе. Задание следующее-

2(x-2)+y, если 2x+y=>10
Иначе- 2x+y+1

Если задать значения
Х- 2
У- 1
То z получается 6, все работает, так как срабатывает иначе. Но если задать значения
Х- 10
У- 1
То Z должен получиться 17, а при откладке программы с этими значениями получается 56 (Выдаёт 38 в 16-ой системе). Почему программа не переходит на метку м1?
Код следующий:
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
x DB 2
y DB 1
z DW ?
 
...
 
Start:
 
MOV AL, x
MOV BL, y
Call pepa 
MOV CX, 10
CMP AX,CX
JNB M1
ADD AX,1
JMP FIN
 
M1:
MOV AL,x
MOV BL,y
SUB AL,2
MOV BL,AL
MOV AL,2
MUL BL
MOV BH,0
ADD AX,BX
Call pepa
fin: mov z, AX
Подпрограмма
Assembler
1
2
3
4
5
MOV CH,2
MUL CH
MOV CX,AX
MOV BH,0
ADD AX,BX
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.02.2018, 13:23
Ответы с готовыми решениями:

Вычисление значения кусочной функции
Вычисляющую значение функции у(х)для заданного х: y(x)= {210, x>=10 {x2,x>10

Вычисление кусочной функции с помощью ассемблерной вставки в код на Pascal
Итак суть задания. В соответствии с заданием, вычисления у1 и у2 запрограммируйте на языке...

Вычисление выражения по формуле (MASM32)
F = A/B - S + (D + 1)*5 Нужно реализовать вычисление этой функции. Я сделал без ввода, указал...

[MASM32] Вычисление целочисленного арифметического выражения
Начал читать "Assembly Language for x86 Processors". Там дается пример решения простейшей задачи:...

3
0 / 0 / 0
Регистрация: 14.02.2018
Сообщений: 4
15.02.2018, 13:32  [ТС] 2
Помогите найти ошибки в программе. Задание следующее-

2(x-2)+y, если 2x+y=>10
Иначе- 2x+y+1


Код следующий:
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
x DB 2
y DB 1
z DW ?
 
...
 
Start:
 
MOV AL, x
MOV BL, y
Call pepa 
MOV CX, 10
CMP AX,CX
JNB M1
ADD AX,1
JMP FIN
 
M1:
MOV AL,x
MOV BL,y
SUB AL,2
MOV BL,AL
MOV AL,2
MUL BL
MOV BH,0
ADD AX,BX
Call pepa
fin: mov z, AX
Подпрограмма
Assembler
1
2
3
4
5
MOV CH,2
MUL CH
MOV CX,AX
MOV BH,0
ADD AX,BX
Добавлено через 7 секунд
Программа переходит на метку м1, но неправильно считает.
0
Заблокирован
15.02.2018, 15:13 3
trerin,
а задание-то какое?
n=2x+y
если n=>10, тогда z=n-4
если n<10, тогда z=n+1
правильно или нет?
0
Модератор
Эксперт по электронике
8536 / 4388 / 1651
Регистрация: 01.02.2015
Сообщений: 13,641
Записей в блоге: 9
15.02.2018, 19:42 4
Для сравнения чисел со знаком используются другие команды переходов.
https://www.cyberforum.ru/post5356780.html

А зачем повторно вычислять? 2(x-2)+y=2x+y-2=pepa-2

В строке 22 затирается значение BL=y.

Добавлено через 1 час 44 минуты
 Комментарий модератора 
trerin, получаете пока устное предупреждение за нарушение Правил форума:
5.4 Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и т.п.
5.5 Запрещено размещать тему в нескольких подразделах одного раздела одновременно (кросспостинг), а также дублировать тему в одном разделе.

Если с 5.5 всё очевидно, то с п.5.4 поясню - в разделе "Низкоуровневое программирование" нет программ на языках отличных от ассемблера и не обсуждают макраме и вязание - только программирование.
Кроме того, для удобства поиска требуется, чтобы тема кратко отражала суть вопроса.
И именно из этих соображений, название темы "Программа masm32 ассемблер" является нарушением.
0
15.02.2018, 19:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2018, 19:42
Помогаю со студенческими работами здесь

[masm32] Вычисление целочисленного арифметического выражения
Добрый день. Нужна помощь, только начал изучать асемблер есть уравнение e = (a-c)^2 + 2*a*c/k Я...

Вычисление целочисленного арифметического выражения [MASM32]
Помогите решить уравнение y=((5+9)/9)-((16*3)/(2+3))+((23/3)/3)-2

Вычислите значение кусочной функции
Помогите пожалуйста сделать программу для нахождения функции F=\begin{cases}5/y+3x &amp; \text{, npu }...

Вычислите значение кусочной функции
Для данного целого Х найти значение следующей функции f, принимающей значение целого типа: f(x)=...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru