Форум программистов, компьютерный форум, киберфорум
Наши страницы

Микроконтроллеры

Войти
Регистрация
Восстановить пароль
 
Stryder
1 / 1 / 1
Регистрация: 16.09.2013
Сообщений: 143
#1

MSC 51, как округлять числа - Микроконтроллер

22.11.2017, 21:16. Просмотров 144. Ответов 4
Метки нет (Все метки)

Собственно вопрос , как округлить число в asm, среда программирования keil
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2017, 21:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос MSC 51, как округлять числа (Микроконтроллер):

Как посмотреть состояние регистров msc-51 название чего надо установить? - Микроконтроллер
Составить программу на языке ассемблера для микроконтроллера семейства MCS-51 фирмы Intel, обеспечивает выполнение заданного алгоритма...

[MSC-51] Разобрать приведенный код - Микроконтроллер
Всем привет! Помогите пожалуйста понять участок кода: MOV DPTR,#3015H ;010C 90 30 15 .0. ...

Разложить число MSC 8051 - Микроконтроллер
В ячейке с адресом ADDR1 находится число размером один байт. Требуется разложить данное число на цифры, полученные цифры разместить в...

[MSC-51] Цифровая обработка сигналов по формулам - Микроконтроллер
Доброго времени суток. прошу не кидаться тапками. Помогите с решением задания на 8051 2.2. Обеспечить цифровую обработку сигналов ...

STM32 USB MSC+FatFs - ARM, Cortex, STM32 микроконтроллер
Добрый вечер. У меня возникла интересная проблема. Прикрутил FatFs и USB Mass Storage Device. В итоге все отлично работает, но если я...

Как округлять числа? - Delphi
Подскажите пожалуйста как можно округлить число например 5,66666666 до числа 5,6 или 5,7, т.е. чтобы после запятой был всего один знак.

4
Витальич
1232 / 1143 / 166
Регистрация: 02.12.2013
Сообщений: 4,728
23.11.2017, 12:07 #2
MSC 51 на асме работает только с целыми 8-разрядными числами, так что уточните что Вам нужно округлять и какой формат у числа.
0
Stryder
1 / 1 / 1
Регистрация: 16.09.2013
Сообщений: 143
23.11.2017, 13:34  [ТС] #3
Вот меня это тоже смущает, я так понял , что нужно делать деление и если есть остаток, то сдвигать влево пытался так:
Assembler
1
MOV R0, A mod #2 ; в r0 записывается остаток
Но бьет ошибку, вроде по справочнику делал

Добавлено через 10 минут
Вот задание: Составить самостоятельно фрагмент программы, используя команды организации подпрограмм и другие.Даны две области РПД по 9 элементов. Выполнить округление их содержимого до ближайшего четного значения (вверх).
Вот что я написал:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ORG 0H; начальный адрес программы в ПП
MOV R5,#0H; остаток
MOV R1,#9H; загрузка в R1 начального адреса первого массива
ACALL M1; вызов подпрограммы М1
MOV R1,#27H; загрузка в R1 начального адреса второго массива
ACALL M1; 
 
M1:
MOV R3,#0AH;
M3: MOV R4,#8H; загрузка счетчика количества бит в ячейке (R4=8)
MOV A,@R1; 
MOV R5,A mod #2;  проверка на четность
DJNZ R5,okruglenie;
inc R1
DJNZ R3,M3
okruglenie:
RLC A;
SJMP M3 ;
 
end.
но ругается на MOD
0
northener
пофигист широкого профиля
3208 / 2261 / 485
Регистрация: 15.07.2013
Сообщений: 13,216
23.11.2017, 21:25 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Округление до ближайшего четного вверх это прибавление 1, если число нечетное. А вовсе не умножение на 2.
Проверка на четность это или
Assembler
1
JB ACC.0,okruglenie
или
Assembler
1
2
RRC A
JC okruglenie
Команды MOD у 8051 нет.
1
Stryder
1 / 1 / 1
Регистрация: 16.09.2013
Сообщений: 143
23.11.2017, 21:54  [ТС] #5
Большое спасибо
0
23.11.2017, 21:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2017, 21:54
Привет! Вот еще темы с ответами:

Как лучше округлять числа? - C#
Подскажите как лучше округлять числа. И ещё хотел спросить почему в выражении float ccx=(float)cx/(float)Width; при int...

Как округлять все числа в столбце кратно 10 в большую сторону - MS Excel
Здравствуйте! А как округлять все числа в столбце кратно 10 в большую сторону? например есть 64,24 надо 70 и т.п.?

Не округлять числа в некоторых случаях - VBA
Всем доброе время суток ! Относительно способов округления существует стандарт IEEE 754, арифметическое округлениу, бухгалтерское...

Как округлять цифры в Delphi? - Delphi
Здравствуйте! Написал программу для расчёта НДС, однако там получается, что после запятой очень много цифр... Не подскажите, как можно...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru