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



         

ГЛАВА 1. Введение в семейство персональных компьютеров IBM PC - часть 3


ДВОИЧНЫЕ ЧИСЛА ------------------------------------------------------------

Ассемблер для IBM PC 3

Так как компьютер может различить только нулевое и единич ное состояние бита, то он работает системе исчисления с базой 2 или в двоичной системе. Фактически бит унаследовал cвое название от английского "BInary digiT" (двоичная цифра). Сочетанием двоичных цифр (битов) можно представить любое значение. Значение двоичного числа определяется относитель ной позицией каждого бита и наличием единичных битов. Ниже показано восьмибитовое число содержащее все единичные биты:

Позиционные веса: 128 64 32 16 8 4 2 1 Включенные биты: 1 1 1 1 1 1 1 1

Самый правый бит имеет весовое значение 1, следующая цифра влево - 2, следующая - 4 и т.д. Общая сумма для восьми еди ничных битов в данном случае составит 1 + 2 + 4 + ... + 128, или 255 (2 в восьмой степени - 1). Для двоичного числа 01000001 единичные биты представляют значения 1 и 64, т.е. 65. Но 01000001 представляет также букву A! Действительно, здесь момент, который необходимо четко уяснить. Биты 01000001 могут представлять как число 65, так и букву A:

- если программа определяет элемент данных для арифмети ческих целей, то 01000001 представляет двоичное число эквивалентное десятичному числу 65;

- если программа определяет элемент данных (один или бо лее смежных байт), имея в виду описательный характер, как, например, заголовок, тогда 01000001 представляет собой букву или "строку".

Пи програмировании это различие становится понятным, так как назначение каждого элемента данных определено. Двоичное число неограничено только восьмью битами. Так как процессор 8088 использует 16-битовую архитектуру, oн автоматически оперирует с 16-битовыми числами. 2 в степени 16 минус 1 дает значение 65535, а немного творческого программирования позволит обрабатывать числа до 32 бит (2 в степени 32 минус 1 равно 4294967295) и даже больше.

Двоичная арифметика

Микрокомпьютер выполняет арифметические действия только в двоичном формате. Поэтому программист на языке ассемблера должен быть знаком с двоичным форматом и двоичным сложением:




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