Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler: математика, вычисления
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.65/51: Рейтинг темы: голосов - 51, средняя оценка - 4.65
RocBoy-D
41 / 40 / 23
Регистрация: 10.03.2012
Сообщений: 374
1

BCD числа в упакованном и неупакованном формате

19.04.2013, 17:17. Просмотров 10009. Ответов 11
Метки нет (Все метки)

Здравствуйте! Помогите разобраться с BCD числами. Пусть дано число 123456h в упакованном BCD формате. Если преобразовать его в число в неупакованном BCD формате, должно получиться 563412? В Интернете находил примеры с BCD числами из двух цифр: 71h -> 17. Спасибо!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2013, 17:17
Ответы с готовыми решениями:

masm32. сложить величины 394 и 12, представленные в неупакованном формате.
возникла проблема со сложением чисел в неупакованном формате... сложить величины 394 и 12,...

Вычисление "+-*" в упакованном формате
Доброе время суток. Помогите пожалуйста разобраться в программе. Программа готовая, суть в том что...

BCD числа
Ребят, помогите решить задачу, никак не могу понять, вроде как элементарная. Разработайте...

[TASM] получение BCD числа
Может есть у кого-нибудь процедура, с помощью которой с клавиатуры вводится число, а в результате...

Калькулятор, выполняющий действия + – (в упакованном BCD-формате)
Напишите программу – калькулятор выполняющую действия + –, внутреннее представление чисел –...

11
Mikl___
Автор FAQ
13485 / 6416 / 635
Регистрация: 11.11.2010
Сообщений: 11,588
19.04.2013, 17:42 2
Пусть дано число 123456h в упакованном BCD формате. Если преобразовать его в число в неупакованном BCD формате, должно получиться 10203040506h
1
RocBoy-D
41 / 40 / 23
Регистрация: 10.03.2012
Сообщений: 374
19.04.2013, 19:21  [ТС] 3
Mikl___, а как же обратный порядок байтов? Не нужно располагать старший байт по младшему адресу в регистре и строке после преобразования числа в неупакованный формат?

Добавлено через 13 минут
Да, а какой максимальный объем резервирования памяти? 10 байт?
0
Полный 30h
Эксперт быдлокодинга
1822 / 447 / 61
Регистрация: 04.11.2010
Сообщений: 1,226
20.04.2013, 12:05 4
Цитата Сообщение от Mikl___ Посмотреть сообщение
должно получиться 10203040506h
Перед еденицей тоже ноль должен стоять. Или я что то путаю?

Цитата Сообщение от RocBoy-D Посмотреть сообщение
а как же обратный порядок байтов? Не нужно располагать старший байт по младшему адресу в регистре и строке после преобразования числа в неупакованный формат?
Если речь идёт о регистре то принято писать как есть допустим "обычное" число 1234 будет BCD упакованное выглядеть в регистре процессора так же 1234. А если этот регистр скопировать в память то 3412, младший байт по адресу с меньшим весом. (условно принято память считать от меньшего адреса к большему как сверху вниз либо слева направо) Неупакованное соответственно 01020304 в регистре и 04030201 в памяти.

Цитата Сообщение от RocBoy-D Посмотреть сообщение
Да, а какой максимальный объем резервирования памяти? 10 байт?
От одного байта до нескольких гигабайт
Поконкретнее о чём идёт речь?
1
20.04.2013, 12:05
RocBoy-D
41 / 40 / 23
Регистрация: 10.03.2012
Сообщений: 374
20.04.2013, 13:08  [ТС] 5
Полный 30h,
Цитата Сообщение от Полный 30h Посмотреть сообщение
Поконкретнее о чём идёт речь?
определение типов данных: db, dw, dq. Какой самый большой? dt?
0
Полный 30h
Эксперт быдлокодинга
1822 / 447 / 61
Регистрация: 04.11.2010
Сообщений: 1,226
20.04.2013, 13:22 6
Цитата Сообщение от RocBoy-D Посмотреть сообщение
Полный 30h,

определение типов данных: db, dw, dq. Какой самый большой? dt?
Из простых вроде как да.
http://cs.mipt.ru/docs/comp/rus/prog.../text/data.htm
Про типы данных умные люди пишут.
1
Mikl___
Автор FAQ
13485 / 6416 / 635
Регистрация: 11.11.2010
Сообщений: 11,588
20.04.2013, 14:04 7
Цитата Сообщение от Полный 30h Посмотреть сообщение
Перед еденицей тоже ноль должен стоять
Можно хоть пять нулей впереди поставить, но число при этом не изменится, при определении переменной также можно написать
Х dq 10203040506h а в памяти будет выглядеть как 060504030201 но это уже проблемы компьютера, а не программиста
Цитата Сообщение от RocBoy-D Посмотреть сообщение
определение типов данных: db, dw, dq
еще есть dd (4 байта) и dp (6 байт)
0
Полный 30h
Эксперт быдлокодинга
1822 / 447 / 61
Регистрация: 04.11.2010
Сообщений: 1,226
20.04.2013, 14:25 8
Цитата Сообщение от Mikl___ Посмотреть сообщение
Можно хоть пять нулей впереди поставить, но число при этом не изменится
Я бы год назад точно запутался бы, а возможно и не понял. Поясню. Представление байта идёт для меня до сих пор на физическом уровне. И каждый из них представляется как отдельная коробочка, поэтому без нуля перед еденичкой стройный мир из коробочек-байтов сразу рушится в моей голове. Разумеется сейчас я прекрасно понимаю что ноль в начале ничего не значит. Но на стадии ассемблер - колдунство такие мелочи очень важны. 123 превращается 010203 более однозначно для восприятия. 10203 пугает своей неоднозначностью то ли 10 20 3 то ли 1 02 03
P/S/ это я поплакать как нам начинающим сложно.
0
Mikl___
Автор FAQ
13485 / 6416 / 635
Регистрация: 11.11.2010
Сообщений: 11,588
20.04.2013, 14:38 9
Полный 30h,
как правило начинающие на этом сайте такими мелочами не заморачиваются, типовое начало сообщения
"требуется написать программу к завтрашнему дню"
  1. нет времени на изучение
  2. всё это слишком сложно для моего восприятия
  3. нам ничего не преподают, а только требуют
  4. в гробу я видал этот ассемблер
1
Полный 30h
Эксперт быдлокодинга
1822 / 447 / 61
Регистрация: 04.11.2010
Сообщений: 1,226
20.04.2013, 14:51 10
Цитата Сообщение от Mikl___ Посмотреть сообщение
требуется написать программу к завтрашнему дню
Топикстартер, на мой взгляд, как раз тем и отличен от вышеупомянутых, что пытается получить понимание, а не кусок кода. Свежо помню свои затыки подобного рода. Читаешь книгу, а многие вещи на столько с высоты опыта автору кажутся очевидными, что он их опускает даже не задумываясь как он сам когда то на "детских" вещах спотыкался. Вот и идут люди на форум эти "детские" затыки прояснять.
0
Mikl___
Автор FAQ
13485 / 6416 / 635
Регистрация: 11.11.2010
Сообщений: 11,588
20.04.2013, 15:03 11
Цитата Сообщение от Полный 30h Посмотреть сообщение
Свежо помню свои затыки подобного рода. Читаешь книгу, а многие вещи на столько с высоты опыта автору кажутся очевидными, что он их опускает даже не задумываясь как он сам когда то на "детских" вещах спотыкался.
Полный 30h,
а не приходило в голову взять НЕСКОЛЬКО учебников и одну и ту же изучаемую тему прочитать у РАЗНЫХ авторов? Автор, как правило, старается в одном семестре изложить для студентов, ТО, на что у него ушло несколько лет, да и студенты, как правило, на 90% страдают инфантилизмом и к изучению чего-либо приступают в последнюю неделю перед сессией
0
Полный 30h
Эксперт быдлокодинга
1822 / 447 / 61
Регистрация: 04.11.2010
Сообщений: 1,226
20.04.2013, 15:21 12
Цитата Сообщение от Mikl___ Посмотреть сообщение
а не приходило в голову взять НЕСКОЛЬКО учебников
Разумеется приходило. как впрочем и выучить английский, играть на рояле, подтягиваться 30 раз, литературных классиков помусолить, но водка проклятая работа, семья, дача мешают осуществиться моим желаниям в полном объеме.
1
20.04.2013, 15:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2013, 15:21

Превращение десятичного числа в BCD-формате в ASCII-формат
нужно написать программу на ассемблере программу превращения десятичного числа 927459 в BCD-...

Преобразование десятичного числа 927459 в BCD-формате в ASCII-формат
Помогите пожалуйста написать программу на ассемблере программу превращения десятичного числа ...

Вычитание чисел в формате BCD
Введите два десятичных числа разрядностью не более 10 цифр, выполните преобразование в...


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

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

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