Ассемблер и программирование для IBM PC


       

ГЛАВА 13. Арифметические операции II:


------------------------------------------------------------

Арифметические операции II: Обработка данных в форматах ASCII и BCD

Цель: Рассмотреть ASCII и BCD форматы данных и дать сведения о преобразованиях между этими форматами и двоичным форматом.

ВВЕДЕНИЕ ------------------------------------------------------------

Для получения высокой производительности компьютер выполняет aрифметические операции над числами в двоичном формате. Как показано в главе 12, этот формат не вызывает особых трудностей, если данные определены в самой программе. Во многих случаях новые данные вводятся программой с клавиатуры в виде ASCII символов в деcятичном формате. Аналогично вывод информации на экран осуществляется в кодах ASCII. Например, число 23 в двоичном представлении выглядит как 00010111 или шест.17; в коде ASCII на каждый cимвол требуется один байт и число 25 в ASCII-коде имеет внутpеннее представление шест.3235. Назначение данной главы - показать технику преобразования данных из ASCII-формата в двоичный формат для выполнения арифметических операций и обратного преобразования двоичных результатов в ASCII-формат для вывода на экран или принтер. Программа, приведенная в конце главы , демонстрирует большую часть матеpиала от главы 1 до главы 12. При программировании на языках высокого уровня, таких как BASIC или Pascal, для обозначения порядка числа или положе ния десятичной запятой (точки) можно положиться на кампилятор. Однако, компьютер не распознает десятичную запятую (точку) в арифметических полях. Так как двоичные числа не имеют возможности установки десятичной (или двоичной) запятой (точки), то именно программист должен подразумевать и определить порядок обрабатываемых чисел.

ASCII-формат ------------------------------------------------------------

Данные, вводимые с клавиатуры, имеют ASCII-формат, например, буквы SAM имеют в памяти шестнадцатиричное представление 53414D, цифры 1234 - шест. 31323334. Во многих случаях формат алфавитных данных, например, имя человека или описание статьи, не меняется в программе. Но для выполнения арифметических операций над числовыми значениями, такими как шест. 31323334, требуется специальная обработка. С помощью следующих ассемблерных команд можно выполнять арифметические операции непосредственно над числами в ASCII-формате:




Содержание  Назад  Вперед