Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.66/29: Рейтинг темы: голосов - 29, средняя оценка - 4.66
vlrep
0 / 0 / 0
Регистрация: 18.05.2010
Сообщений: 3
1

Преобразовать 16-ти разрядный двоичный код в код 8-4-2-1

27.12.2010, 13:34. Просмотров 5812. Ответов 3
Метки нет (Все метки)

Помогите пожалуйста составить программу для Intel 8051, которая преобразует 16-ти разрядный двоичный код в код 8-4-2-1 и исправит ошибки, если они случатся. Двоичный слова поступают в порты Р0 и Р1, а выходят с Р2 и Р3.
Гуглил и яндексил. Голову ломаю уже несколько дней, но ничего толкового не придумал. Думаю делать так:
например есть число 0010 0100 0010 0001(двоичный)=2421(двочно-десятичный 8-4-2-1),
первые восемь разрядов идут на Р0, последние восемь - на Р1, следовательно первые 2 разряды полученного кода идут на Р2, последные - на Р3. Но как это реализовать, как програмно преобразовать двоичный код в десятичный? SOS / Заранее благодарю.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2010, 13:34
Ответы с готовыми решениями:

Преобразовать код на Java в код для ассемблера 3AA
переделать Java программу в программу 3AA все данные типа int for(int i = 0; i < 10; ++i) {...

Перевод в двоичный код
Всем привет! Мне необходимо научиться переводить команды ассемблера в двоичный код. Где можно это...

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

Преобразовать код из С++ в код Ассемблера
Прошу о помощи. В условии надо поменять местами первую четверть массива со второй, а третью с...

Программа перевода символов в двоичный код
Нужно написать программу на assembler. С клавиатуры вводятся 5 символов,программа должна вывести...

3
Mikl___
Автор FAQ
13388 / 6388 / 631
Регистрация: 11.11.2010
Сообщений: 11,555
27.12.2010, 14:06 2
vlrep, а чем код 8-4-2-1 отличается от шестнадцатеричного?
0
vlrep
0 / 0 / 0
Регистрация: 18.05.2010
Сообщений: 3
27.12.2010, 16:05  [ТС] 3
Mikl_
Не шестнадцатеричный , а двоичный только шестнадцатеразрядный (16 циферок, думаю у тебя просто опечатка)

Любое привычное нам десятичное число может быть представлено как совокупность единиц и нулей двоичнойсистемы. Десятичное число 7, например, в двоичной системе = 0111. Здесь крайний левый символ- старший разряд, а крайний правый символ-младший разряд четырехразрядного двоичного кодового числа. Перевод этого двоичного числа в число десятичной системы счисления выполняют в таком порядке: 0111=0*2^3+1*2^2+1*2^1+1*2^0 =0+4+2+1 =7. (2^3=2*2*2=8)
В основе преобразования двоичного числа в десятичное лежит число 2. Сам же код в этом случае называют двоичным натуральным или кодом 8-4-2-1.
Есть двоичный код 0010 0100 0010 0001, в десятеричном это 9249 , а в 8-4-2-1 берутся тетрады (по 4 разряда), то есть будет отдельно переводится 0010(в двоичном)=2( в десятеричном), и т. д. 0100=4.....получится 2421, но 0010 0100 0010 0001( в двоичном)= 0010 0100 0010 0001(в 8-4-2-1) так?

Из всего написаного, (если я правильно понял задачу) нужно перевести 16-ти разрядный двоичный код в 8-4-2-1, а они ничем не отличаются кроме того что его разрядность = 4 ну и соответственно способ декодирования в десятеричную систему.....во как я затупил.
0
Mikl___
Автор FAQ
13388 / 6388 / 631
Регистрация: 11.11.2010
Сообщений: 11,555
28.12.2010, 04:57 4
vlrep, Шестнадцатеричная система счисления (шестнадцатеричные числа) — позиционная система счисления по целочисленному основанию 16. В качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от A до F то есть (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F) Перевод двоичного кода в шестнадцатеричный:
0000=0 0001=1 0010=2 0011=3 0100=4 0101=5 0110=6 0111=7 1000=8 1001=9 1010=A 1011=B 1100=C 1101=D 1110=E 1111=F Повторяю вопрос: чем код 8-4-2-1 отличается от шестнадцатеричного?
А для решения задачи, наверное, стоит заглянуть в Лучший сборник книг в электронном виде по Ассемблеру и найти там ссылку на:
17. Программирование на языке ассемблера для микроконтроллеров семейства i8051 - Каспер Эрни
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2010, 04:57

Базовые понятия: как перевести в асме слово в двоичный код?
Как перевести в асме слово в двоичный код? По определению слово занимает 2 байта или 65536. Когда...

Перевести команду ассемблера в двоичный код (остался только REX)
Дана команда: and ,dl После просмотра большого кол-ва литературы по ассемблеру было получено...

что такое четырёхразрядные(4-х разрядный двоичный код)?
что такое четырёхразрядные(4-х разрядный двоичный код)?? Пожалуйста объясните в человеческом языке)


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

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

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