Читать «Assembler. Программирование на языке ассемблера IBM PC» онлайн - страница 11

Unknown Author

Различие между двоичным и двоично-десятичным представлениями чисел проявляется в том, что если в двоичном представлении за основу берется величина числа (независимо от того, как именно оно вначале было записано), то в двоично-десятичном представлении за основу берется запись числа, причем именно в десятичной системе (если число записать в другой системе, скажем в семиричной, то получилось бы иное представление). При этом однозначные числа (от 0 до 9) записываются одинаково в обоих представления, но уже двузначные числа представляются по-разному: например, число 13 в двоичном виде записывается как 00001011, а в двоично-десятичном - как 00010011.

Достоинством двоично-десятичных чисел, как уже отмечалось, является то, что они практически не требуют перевода из десятичной системы. Дело в том, что ввод чисел осуществляется по цифрам, а двоично-десятичное представление и есть последовательность цифр числа. Недостаток же этого представления заключается в том, что имеющиеся в ПК команды позволяют выполнять арифметические операции только над однозначными двоично-десятичными числами, операции же над многозначными числами приходится уже реализовывать

программным способом, что долго. В то же время операции над многозначными двоичными числами реализуются аппаратно, а потому выполняются быстрее.

В дальнейшем мы не будем рассматривать двоично-десятичтные числа, и лишь в конце книги (в разд. 14.1) им будет уделено внимание.

1JJ. О вещественных числах

В ПК нет команд, реализующих арифметические операции над вещественными числами. Это связано с тем, что аппаратная реализация этих операций - вещь дорогая, а при создании ПК во главу угла всегда ставили дешевизну; поэтому, чтобы сократить стоимость ПК, в его систему команд и не включают команды вещественной арифметики.

Как же тогда работать на ПК с вещественными числами? Возможны два решения данной проблемы.

Во-первых, на основе имеющихся команд можно написать процедуры, реализующие арифметические операции над вещественными числами, и в те места программы, где требуется выполнить операции над вещественными числами, нужно вставить обращения к этим процедурам.

Во-вторых, к ПК можно присоединить специальное устройство - арифметический сопроцессор, который умеет выполнять арифметические операции над вещественными числами. Центральный процессор взаимодействует с этим сопроцессором по следующему сценарию: когда надо выполнить вещественную операцию, центральный процессор посылает сигнал сопроцессору и передает ему соответствующие операнды (в ПК есть специальная команда для этого); сопроцессор выполняет указанную операцию, записывает результат в определенное место и возвращает управление центральному процессору, который после этого продолжает свою работу.