Здравствуйте, многоуважаемые пользователи данного форума! Осмелюсь попросить вас о помощи... Поставлена задача: перевести двухбайтное двоично-десятичное число в двоичное на КР580ВМ80. В голове не укладывается, как реализовать это. Слышала о методе сдвига и т.д. Понимаю, задачка глупая, но она у меня не получается. Пожалуйста, помогите! С наилучшими пожеланиями, студент из г. Муром..... )
_________________ -А есть аудиокниги по схемотехнике? - Нет, наверно. Но ты попроси какую-нибудь девушку прочитать..так, эротичным голосом.
О-о-о, КР580ВМ80! Только сегодня днем лабу с ним делал.
В обчем, коли Вы не читали методички, BCD (двоично-десятичные числа) - это (чаще всего) когда в одном байте записано две цифирки (packed BCD). Т.е., 0x54 понимается именно как 54, а не как 0x54 = 84.
Мораль: надо выдвинуть каждую цифру, умножить ее на множитель, соответствующий позиции и сложить с остальными.
упс, ясненько))) у меня тоже сегодня была лабораторная по КР580Вм80... странное совпадение, не правда ли?)) По одной цифре в байте... видимо. Мысль интересная. Будем думать дальше. Спасибо за идею.
_________________ -А есть аудиокниги по схемотехнике? - Нет, наверно. Но ты попроси какую-нибудь девушку прочитать..так, эротичным голосом.
А мне приходилось, в ЮТ-88. Но это было привычно после замечательного очень мощного программируемого калькулятора МК-61. В него тоже программа вводилась в кодах, больше 100 шагов!! И программу в него приходилось вводить заново каждый раз при включении, энергонезависимой памяти не было. А батарейки (3 АА) жрал страшно своим люминесцентным дисплеем.
Lina Может, удастся уговорить преподавателя на более современные МК, например AVR?
А вот так. Стоят стенды с КР580ВМ80, в них зашита программа-монитор. Она умеет записать (с одновременным отображением) HEX-последовательность в память (только последовательно! Ошибся - входи в режим по новой), запустить программу, заполнить память, посчитать КС. Есть кнопка перехода в пошаговый режим. Все.
Отображение на семисегментниках. В пошаговом режиме - только двоичный код на светодиодах (адрес/данные, тупо уровни на шинах).
можно и в машинных кодах при помощи таблицы "ручного транслятора" и листочка бумаги а можно сначала еще книжки почитать... к примеру Токхейм Р. Основы цифровой электроники: Пер. с англ.-М.: Мир, 1988 кстати, MCS51 отнюдь не "вымирающий" и также позволяет делать дамп машинных кодов с помощью "ручного транслятора"
BOB51, вот именно так я на лабах и программировал этот 580. Руками и калькулятором переводя асм в машкод) MPLAB для пика после этого просто райским звоном показался))
Lina_Inverse, вот вам информация к размышлению. Для перевода BCD в двоичный вид в общем потребуется всего два действия: в двоичном коде перемножить цифру десятков на 10 и сложить с цифрой единиц (поправьте, если ошибаюсь). Вот например, я хочу умножить 9(BCD) на 10. 9 в двоичном коде - это 1001, 10 - это 1010. Умножение в столбик:
Умножение на 10 любых полубайтных чисел будет аналогично. Чтобы число умножить на 10, нужно сдвинуть его на разряд влево и сложить с ним же, сдвинутым на 3 разряда влево. По сути это и есть алгоритм. Ну а складывать кр580 умеет, если память мне не изменяет. Пример в командах привести не могу, ибо давно их забыл, а быстро не гуглятся. Если зальёте куда-нибудь список ассемблерных команд камня, попробую сообразить чего-нибудь.
А вот так. Стоят стенды с КР580ВМ80, в них зашита программа-монитор. Она умеет записать (с одновременным отображением) HEX-последовательность в память (только последовательно! Ошибся - входи в режим по новой), запустить программу, заполнить память, посчитать КС. Есть кнопка перехода в пошаговый режим. Все.
Эти стенды случаем не выполнены в виде здоровенного чУмадана?
Может, удастся уговорить преподавателя на более современные МК, например AVR?
Для начала, i8080 - CPU, а AVR - MCU, и i8080 очень хорошо подходит для изучения основ построения микропроцессорных систем. Так что, это зря такие "наезды". А вот вам "виртуальный стенд".
Эти стенды случаем не выполнены в виде здоровенного чУмадана?
Именно. С серым таким верхом. И еще плата расширения с контроллером портов втыкается. В методичке советуют записывать программу начиная с адреса 0x0800...
_________________ Разница между теорией и практикой на практике гораздо больше, чем в теории.
Классный чумадан, на нем я впервые в жизни написал реальную прогу в маш-кодах, правда методички не было, писал по справочнику от Z80 Жаль доступ к нему был всего пару раз, вне учебной программы
Ой не, я, пока писал ту прогу, миллион раз с тоской вспомнил и LaunchPad с FET'ом, и STM8/32(L) Discovery с ST-LINK'ами, и остальные внутрисхемные отладчики...
_________________ Разница между теорией и практикой на практике гораздо больше, чем в теории.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения