Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2017, 17:30   #1
Thomas_Banks
Новичок
Джуниор
 
Регистрация: 27.10.2017
Сообщений: 4
По умолчанию Разложить число MSC 8051

В ячейке с адресом ADDR1 находится число размером один байт. Требуется разложить данное число на цифры, полученные цифры разместить в ячейках памяти начиная с адреса ADDR2.
В ADDR1 20H
В ADDR2 30H
Система счисления - шестнадцатеричная, HEX.
Что вообще значит разложить число и как это делать? Микроконтроллер MSC 8051, делаю в программе E8031.
Thomas_Banks вне форума Ответить с цитированием
Старый 27.10.2017, 17:32   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

543 -> 5 4 3
p51x вне форума Ответить с цитированием
Старый 27.10.2017, 17:34   #3
Thomas_Banks
Новичок
Джуниор
 
Регистрация: 27.10.2017
Сообщений: 4
По умолчанию

!= Решите за меня.
Как это сделать в программе? т.Профессионал
Thomas_Banks вне форума Ответить с цитированием
Старый 27.10.2017, 18:26   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Делением же.
p51x вне форума Ответить с цитированием
Старый 27.10.2017, 18:58   #5
FPaul
Форумчанин
 
Регистрация: 25.01.2015
Сообщений: 472
По умолчанию

Нет, не делением, т.к. система счисления шестнадцатеричная.
Мл. разряд - по маске AND
Ст. разряд - сдвиг вправо на 4.
FPaul вне форума Ответить с цитированием
Старый 27.10.2017, 19:08   #6
Sertaki
 
Регистрация: 27.10.2017
Сообщений: 9
По умолчанию

Сдвиг вправо и есть деление.
Sertaki вне форума Ответить с цитированием
Старый 27.10.2017, 21:28   #7
FPaul
Форумчанин
 
Регистрация: 25.01.2015
Сообщений: 472
По умолчанию

Sertaki, хотите поумничать - ступайте в другой раздел.

Ваша реплика абсолютно идентична по информативности фразе: "Курить - вредно!"
Вроде бы и соответствует истине, но сильно не к месту.
FPaul вне форума Ответить с цитированием
Старый 27.10.2017, 22:50   #8
Thomas_Banks
Новичок
Джуниор
 
Регистрация: 27.10.2017
Сообщений: 4
По умолчанию

Ничего не понял
Thomas_Banks вне форума Ответить с цитированием
Старый 28.10.2017, 05:10   #9
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от Thomas_Banks Посмотреть сообщение
Ничего не понял
..вооружайся виндовым калькулятором и проверяй:
Код:
0534h = 0000 0101 0011 0100 (bin)
          |    |    |    |
          |    |    |    +----> 4
          |    |    +---------> 3
          |    +--------------> 5
          +-------------------> 0
т.е. каждый разряд кодируется одной тетрадой.
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 28.10.2017, 05:41   #10
FPaul
Форумчанин
 
Регистрация: 25.01.2015
Сообщений: 472
По умолчанию

На С это примерно так
Код:
  ADDR2=(ADDR1 & 0x0F); //младший разряд
  ADDR3=( (ADDR1 >> 4) & 0x0F); //старший разряд
FPaul вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разложить число на цифры Dog Помощь студентам 10 09.05.2011 12:16
Как разложить число на 2 составных? oleeg Помощь студентам 2 24.03.2010 23:28
Как разложить число на цифры ( задача ) neo-210 Помощь студентам 6 11.12.2009 22:37
разложить число на простые множители и вывести результат pakusya Паскаль, Turbo Pascal, PascalABC.NET 6 15.11.2008 03:07