Арифметические операции с BCD числами

По курсу: “Системное программирование и вычислительные системы” На тему: “Арифметические операции с BCD числами” Содержание: 1. ДВОИЧНО-ДЕСЯТИЧНЫЙ ФОРМАТ (BCD)….2. Арифметические инструкции… 1. Форматы арифметических данных… 2. Арифметические операции и флаги…3. Сложение…4. Вычитание… 5. Умножение….8 2.6. Деление…3. ЛИТЕРАТУРА….1. ДВОИЧНО-ДЕСЯТИЧНЫЙ ФОРМАТ (BCD) Пусть в некотором примере деления в ASCII-формате было получено частное 00090204. Если сжать это значение, сохраняя только правые цифры каждого байта, то получим 0924. Такой формат называется двоично-десятичным (BCD - Binary Coded Decimal) (или упакованным). Он содержит только десятичные цифры от 0 до 9. Длина двоично-десятичного представления в два раза меньше ASCII-представления.

Заметим, однако, что десятичное число 0924 имеет основание 10 и, будучи преобразованным в основание 16 (т.е. в шест. представление), даст шест.039C. ПРЕОБРАЗОВАНИЕ ASCII-ФОРМАТА В ДВОИЧНЫЙ ФОРМАТ Выполнение арифметических операций над числами в ASCII или BCD форматах удобно лишь для коротких полей. В большинстве случаев для арифметических операций используется преобразование в двоичный формат.

Практически проще преобразование из ASCII-формата непосредственно в двоичный формат, чем преобразование из ASCII- в BCD-формат и, затем, в двоичный формат: Метод преобразования базируется на том, что ASCII-формат имеет основание 10, а компьютер выполняет арифметические операции только над числами с основанием 2. Процедура преобразования заключается в следующем: 1. Начинают с самого правого байта числа в ASCII-формате и обрабатывают справа налево. 2. Удаляют тройки из левых шест. цифр каждого ASCII-байта. 3. Умножают ASCII-цифры на 1, 10, 100 (шест.1, A, 64) и т.д. и складывают результаты.

Для примера рассмотрим преобразование числа 1234 из.