Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 27.01.2018
Сообщений: 21
1

Программа для решения функции

07.04.2019, 23:20. Показов 1063. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, надеюсь я по теме и вы сможете мне помочь. Писал уже в микроконтроллеры..
Есть функция y=k*b/4+k*x или как мне подсказали преобразовать: y= k*(b+4x)/4

Для примера есть решение функции y=kx+b, как то так вроде нужно записать

Assembler
1
2
3
4
5
6
7
8
mov a,#0   Обнуление аккумулятора
mov a,p0    Ввод К
mov b,p1    Ввод Х
mov r0,p2   Ввод В
mul ab        Умножение К*Х
add a,r0      Сложение К*Х+В
mov p3,a    Вывод результата в порт р3
end

Пробовал переделывать под свой, не знаю как работать с константой 4, подскажите.. вот что получилось когда пробовал

Assembler
1
2
3
4
5
6
7
8
9
mov a,#0   Обнуление аккумулятора
mov a,p0    Ввод К
mov b,p1    Ввод Х
mov r0,p2   Ввод В
mul  b4       умножил X на 4.. но это надо по другому
add b,r0     прибавил b
mul ba        умножил x*k
div b4         опять надо по другому
end

П.С. товарищи админы, не нашел скобок оформления ассемблера, извиняйте
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.04.2019, 23:20
Ответы с готовыми решениями:

Программа для решения нелинейного уравнения, выдает ошибку в функции
Задача : Составить программу для решения нелинейного уравнения с точностью четырьмя способами: ...

Программа решения выражения и функции
Помогите решить задачу,а то у меня не получается(

Написать программу в pascal для решения функции учитывая область значения функции
Написать программу в паскаль для решения функции учитывая область значения функции y = x / sin ^...

Программа для решения квадратных уравнений, переписать для Windows Forms
1) class Program { static void Main(string args) { float a =...

21
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
07.04.2019, 23:36 2
Если в системе команд есть умножение, наверняка есть и деление - используйте.
Или, воспользовавшись, что деление на 4 - особый случай для двоичной системы - сделайте логический сдвиг вправо на 2 разряда.
0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
08.04.2019, 02:09 3
Вообще-то слэш в арифметической формуле предполагает вещественное деление. И без дополнительных библиотек реализовать его на 51-процессоре невозможно.
Думаю стоит привести полное описание задачи. Так как именно она задана вам, Eres.
0
1176 / 653 / 111
Регистрация: 15.05.2012
Сообщений: 4,015
08.04.2019, 08:21 4
Цитата Сообщение от Eres Посмотреть сообщение
как работать с константой 4
Все действия, в которых она используется, осуществить сдвигами. При умножении - влево, при делении - вправо.
0
1976 / 1275 / 130
Регистрация: 04.01.2010
Сообщений: 4,607
08.04.2019, 08:59 5
Цитата Сообщение от pyzhman Посмотреть сообщение
Все действия, в которых она используется, осуществить сдвигами. При умножении - влево, при делении - вправо.
тут понадобится еще информация о "знаковости" чисел.
0
1176 / 653 / 111
Регистрация: 15.05.2012
Сообщений: 4,015
08.04.2019, 12:16 6
Смотрим
Цитата Сообщение от Eres Посмотреть сообщение
Для примера есть решение
и делаем вывод, что ни о каких вещественных и знаковых числах речь не идет. Не лепим из мухи слона.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,520
08.04.2019, 13:05 7
Цитата Сообщение от Eres Посмотреть сообщение
mul b4 т умножил X на 4.. но это надо по другому
разумеется по другому
есть только команда MUL AB
http://www.gaw.ru/html.cgi/txt... mul_ab.htm
, она умножает регистры A на B, и других команд умножения нет
http://www.gaw.ru/html.cgi/txt... /start.htm
вот для деления DIV AB
http://www.gaw.ru/html.cgi/txt... div_ab.htm
0
0 / 0 / 0
Регистрация: 27.01.2018
Сообщений: 21
08.04.2019, 13:05  [ТС] 8
Микроконтроллер Адук 842, все команды перед глазами, т.е. вы говорите про деление это DIV, если про сдвиг, это нашел в логических командах представлю на скриншоте.. подскажите как сдвигом пользоваться если это мне поможет. Я так понял если умножение на 4 это логический сдвиг влево на два разряда, а деление это вправо.. а два разряда это два раза команду ввести? Я попытался, посмотрите..

Assembler
1
2
3
4
5
6
7
8
9
10
11
mov a,#0   Обнуление аккумулятора
mov a,p0    Ввод К
mov b,p1    Ввод Х
mov r0,p2   Ввод В
RL  b           умножаем на 2
RL  b          умножаем еще на 2
add b,r0     прибавил b
mul ba        умножил x*k
RR b            делим на 2
RR b         ещё раз делим на 2
end
Еще про полное описание задачи, преподаватель не удосужился оформить задание, он у себя в журнале написал каждому по функции, и сказал реализовать.
Миниатюры
Программа для решения функции  
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,520
08.04.2019, 13:07 9
Цитата Сообщение от pyzhman Посмотреть сообщение
и знаковых числах речь не идет.
как ты из этого листинга узнал что числа беззнаковые?
0
1176 / 653 / 111
Регистрация: 15.05.2012
Сообщений: 4,015
08.04.2019, 13:32 10
Принял решение, что так задумано, бо конкретики в задании нет.
Всё пытаешься вылепить слона? Брось. Выбирай из двух зол меньшее.
0
northener
09.04.2019, 02:16
  #11

Не по теме:

Цитата Сообщение от pyzhman Посмотреть сообщение
и делаем вывод, что ни о каких вещественных и знаковых числах речь не идет. Не лепим из мухи слона.
Ну раз есть пример, то спорить не буду. Ведь это наверняка учебная задача по программированию в "кулинарном техникуме". Никакое её решение не принесёт никому никакой пользы. Ну разве что ТС сдаст зачет или тем паче экзамен.
Но не могу не сказать что и задача и её решение - это бред!

0
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,047
10.04.2019, 02:39 12
Цитата Сообщение от ValeryS Посмотреть сообщение
как ты из этого листинга узнал что числа беззнаковые?
mul и div это беззнаковые умножение и деление.

Добавлено через 2 минуты

Цитата Сообщение от Eres Посмотреть сообщение
RR b делим на 2
RR b ещё раз делим на 2
rr всегда только аккамулятора. Нельзя rr B. Нет такой команды у процессора.
Assembler
1
2
3
4
5
6
7
8
9
10
11
mov a,P1 ;ввод X
rl a
rl a
add a,P2 ;ввод B
mov B,P0 ;ввод K
mul ab
mov c,B.0
rcr a
mov c,B.1
rcr a
mov P3,a ;вывод
Хотя все равно не очень хорощо. X обязательно должен быть меньше 64.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,520
10.04.2019, 05:58 13
Цитата Сообщение от Ethereal Посмотреть сообщение
mul и div это беззнаковые умножение и деление.
Команда MUL AB
Команда "умножение" умножает 8-битовые целые числа без знака из аккумулятора и регистра В. Старший байт 16-битового произведения помещается в регистр В, а младший - в аккумулятор А. Если результат произведения больше, чем 0FFH(255), то устанавливается флаг переплнения (OV), в противном случае он сбрасывается. Флаг переноса всегда сбрасывается.
где, хоть слово, о знаковости?
0
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,047
10.04.2019, 19:31 14
Вот оно :
Цитата Сообщение от ValeryS Посмотреть сообщение
умножает 8-битовые целые числа без знака
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,520
10.04.2019, 20:00 15
Цитата Сообщение от Ethereal Посмотреть сообщение
Вот оно :
а теперь умножим 0xFF на 2 получим 0xFE и в B 1
для знакового -1*2=-2
для беззнакового 255*2=510 (254+256)
и в чем разница? когда умножение работает неправильно?
0
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,047
10.04.2019, 21:47 16
Если у команды умножения произведение имеет двойной размер по сравнению со множителями, то команды знакового и беззнакового умножения должны быть разные. Но если произведение усекать до размера множителей, то результат будет одинаков для знакового и беззнакового умножений и команда умножения будет одна.

-1 * 2
беззнаковое умножение даст 01FE
знаковое умножение даст FFFE
Но младший байт будет FE в обоих случаях.

Так-что если бы тс оперировал только командой mul и усекал бы результаты до байта, то нельзя бы было сказать считает он знаковые числа или беззнаковые. Код бы был правильным для обоих случаев. Но у него там еще и div тусовалась. В паре mul+div. А тогда рассчеты все таки только беззнаковые.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,520
10.04.2019, 21:56 17
Цитата Сообщение от Ethereal Посмотреть сообщение
Но у него там еще и div тусовалась.
это вот это что ли?
Цитата Сообщение от Eres Посмотреть сообщение
div b4
0
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,047
10.04.2019, 21:57 18
Ну типа да.
0
northener
11.04.2019, 02:39
  #19

Не по теме:

О сколько "умных" слов о знаковых и беззнаковых операций и числах.

0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,520
11.04.2019, 06:11 20
Цитата Сообщение от Ethereal Посмотреть сообщение
Так-что если бы тс оперировал только командой mul и усекал бы результаты до байта, то нельзя бы было сказать считает он знаковые числа или беззнаковые.
итак
Цитата Сообщение от Eres Посмотреть сообщение
Assembler
1
2
mul ab    Умножение К*Х
add a,r0       Сложение К*Х+В
про что я и говорил
0
11.04.2019, 06:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.04.2019, 06:11
Помогаю со студенческими работами здесь

Программа для решения кв. ур-ия.
Нужно написать программу для решения квадратного уравнения. И рассмотреть ситуацию, когда ур-и не...

Программа для решения слау методом главных элементов для всеразмерной матрицы
Вот написал программу для решения слау методом главных элементов для всеразмерной матрицы, вобщем...

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

Программа для решения уравнения
Нужно написать программу, чтобы решала уравнение y=\begin{cases} 3x^5+a & \text{, if }...

программа для решения системы
x^2*cos(x)-x^(1/3), если x <-7 x^(1/3)*tg(x)-92, если -7<=x<-3 26/lg(x)-e^x/cos(2*x), если...

Программа для решения ребуса
помогите решить программу с ребусом, это комбинаторика. я написала функции от программы но не могу...

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


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

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