Контактные данныеНаш адрес:
Москва, ул. Кирова, 43
Телефон: +7 (495) 985 81 28
Тел./Факс: +7 (495) 854 35 25
Аппаратные компоненты
Преобразование обычный двоичной дроби в BCD-дробь. Подпрограмма XBruchD делает преобразование несложной 16-разрядной двоичной дроби "0,wxyz" (4 шестнадцатеричных знака потом запятой), хранимой в регистровой паре hexH:hexL, в шестиразрядную упакованную BCD-дробь "0,654321", сохраняемую в регистрах BCD2:BCD2:BCD0. Преобразование выполняется в соответствии
принципу последовательного умножения.
Несложная дробь в шестнадцатеричной системе счисления возможно быть переведена в двоично-десятичный эквивалент путем последовательного умножения на начало новой организации счисления (то имеется, на $0А). Остальной останки произведения прибывает множимым для следующей действия умножения. Преобразование кончается, ежели достигнуто желаемое численность
знаков посланце запятой в BCD-дроби.
Преобразование BCD-числа в шестнадцатеричное количество. Подпрограмма BCDHex проводит преобразование пятиразрядного BCD-числа п < 65535, хранимого в регистрах BCD2:BCD1:BCD0, в четырехзнаковое шестнадцатеричное численность, сохраняемое в регистровой паре hexH:hexL.
Для того для того чтобы узнать соответствующее количество, каждая цифра BCD-числа умножается на масса ее разряда в новой системе счисления, и все произведения укладываются. Таким типом, в подпрограмме BCDHex к творению старшей цифры, умноженной на $0А, прибавляется следующая молодая цифра, потом эта сумма вновь умножается на $0А, и к ней прибавляется
следующая молодая цифра и т.д.
Сложение BCD-чисел. В подпрограмме BCDAdd наглядно видна отличие промеж архитектурами CISC и RISC. Невзирая на то, то что режим команд микроконтроллеров AVR не уступает по объему системе команд всякого микроконтроллера CISC того же класса, в ней, но, не имеется компания da, используемая в большинстве CISC-микроконтроллеров для десятичной коррекции
потом сложения 2 BCD-чисел. Приблизительно, в микроконтроллере 8051 действие BCD-сложения выполняется с содействием 2 команд: ADD A, Rr и DA А также.
Величину обеих команд является 1 байт, и на их выполнение в сумме затрачивается 2 машинных такта, то грызть, - 24 тактовых цикла, то что при частоте осциллятора 12 МГц соответствует эпохе 2 мс. Подпрограмма BCDAdd, реализованная в системе команд микроконтроллеров AVR, складывается из 17 команд.
При частоте системной синхронизации 8 МГц на выполнение этих 17 команд понадобятся в сумме в общем едва 1,375-1,75 мс. Распоряжение DA A - данное крайний происшествие, потому, что, эффективность множества противоположных команд распространенных CISC-микроконтроллеров еще менее эффективности соответствующих им команд, присутствующих в системе AVR.