Понадобились две необычные функции. Преобразовать 16-ричное значение байта, в ASCII эквивалент его 16-ричного значения. Короче, превратить байт, скажем 0xCD в два ASCII символа, - "C" и "D". а так-же, подпрограмму, делающую тоже самое, только наоборот. Поскрипев мозгами, решил что это нужно делать по таблице, и и быстро и решительно написал решение для первой задачи. Получилось хорошо. Со второй можно сказать, тоже получилось, но не так как хотел. Получилось объемно, с обилием меток и странных действий, а главное - очень тормознуто, т.к последовательно два раза подряд перебирается вся таблица, (обратную таблицу составить не сумел, приходится подбирать), плюс, нужен дополнительный байт памяти. Вылизал подпрограмму как сумел, но не смог особо уменьшить размер, и сократить количество переменных. Наверное, существуют какие-то другие способы решения такой задачи, т.к прежде не делал такого, или хотя-бы способ улучшить хотя-бы то, что есть? Есть вот такой черновик этих подпрограмм, для вышагивания в эмуляторе.
А разве у 8051 нет команд двоично-десятичного преобразования? da или как-то так называлась вроде бы. Не помню.
DA A - это десятичная коррекция после операции сложения, т.к когда 16-рично складываются две десятичные числа, и результат - не десятичный. У 8051 вообще нет инструкций для преобразования чего либо.
Но если учесть, что в ASCII коды десятичных идут последовательно от 20h 29h ,а коды букв от A до F соотв. от 31h до 36h ,то каждый ниббл можно по очереди засылать в Acc ,дополнять старшими нулями и после проверки диапазона {0..9} , {A..F} прибавлять 20h или 31h соотв. ,после чего отправлять в область отображения.
_________________ < виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
А разве у 8051 нет команд двоично-десятичного преобразования? da или как-то так называлась вроде бы. Не помню.
DA A - это десятичная коррекция после операции сложения, т.к когда 16-рично складываются две десятичные числа, и результат - не десятичный. У 8051 вообще нет инструкций для преобразования чего либо.
в 580-м процессоре была процедура перевода двоичного числа от 0 до F в ASCII код:
Код:
ANI 0FH ; маскируем лишнее ADI 90H DAA ACI 40H DAA
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения