Чип Intel 8080, нашедший применение в компьютерах Altair и IMSAI, был 8-битовым микропроцессором. (Бит — это двоичный разряд). Бит — это наименьшая единица информации, которую может хранить цифровой компьютер и которая принимает два значения: 0 или 1. В цифровых компьютерах применяется двоичная система счисления, в которой используются только нули и единицы. Основанием этой системы является число 2, при этом единица каждого разряда равна соответствующей степени 2. Единица самого правого разряда равна 2°; при перемещении на один разряд влево показатель степени увеличивается на 1. Единицы разрядов умножаются на 0 или 1. Так, в двоичной системе «1» означает 1 умножить на 2°, то есть 1 умножить на 1, «101» = (1х22) + (0х21) + (1х20) = 4 + 0+1 = 5 и т. д. 8-битовый чип может обрабатывать по одной 8-битовой команде. Он также может оперировать с числами от 0000 0000 до 1111 1111 (0-255). Принят ряд соглашений о представлении обычных букв, цифр и символов. Например, ASCII (American Standard Code for Information Interchange — Американский стандартный код обмена информацией) определяет, что буквам от А до Z соответствуют двоичные числа эквивалентные десятичным от 65 до 90. Большинству пользователей все это совершенно ни к чему, но для программистов очень важно.
8086 — 16-битовый микропроцессор. Он мог по одной команде программы обрабатывать числа до 1111 1111 1111 1111 (65535). Но это еще не все. В восьмибитовых чипах, к которым относились 8080, 6800 и 6502, было одно серьезное ограничение: они позволяли адресовать только 64 килобайта (64000 байтов или символов) памяти. Это немного, учитывая то, что в памяти должны находиться операционная система, прикладная программа и данные, которые она обрабатывает. Например, деловое письмо, составленное с помощью текстового процессора, может занимать 2000 байтов памяти. 16-битовый микропроцессор 8086 в этом плане был лучше, так как он допускал адресацию 1 мегабайта (1 миллиона байтов) памяти.
Компания Intel представила Microsoft свой чип 8086, что указывало на определенный интерес к получению Бейсика для нового микропроцессора. В это время в Microsoft решали, то ли продолжать разработку других языков для 8-битовых микрокомпьютеров, то ли переключиться на 16-битовые компьютеры на чипах типа 8086. Гейтс остановился на последнем, видя в этом дополнительную возможность утверждения Microsoft как первопроходца в данной области.
— Ладно, мы напишем вам Бейсик за три недели, — сказал Гейтс.
Представитель Intel принял это за шутку:
— Постойте, давайте серьезно. Вы справитесь с этой работой за девять месяцев?
Гейтс посоветовался с сотрудниками:
— Да нет, мы сделаем ее за три недели.
Разработка Бейсика для 8086 началась осенью 1978 г. и заняла полгода. Сначала, что уже стало традицией, в Microsoft подготовили программу для PDP-11 (DEC), моделирующую этот чип. Весной 1979 г. Бейсик был готов. И вновь программисты Microsoft разработали этот язык, в глаза не видя реального чипа.
В это время в Сиэтле над 8086 работал еще один компьютерщик. Тим Паттерсон только что получил степень по вычислительной технике в Университете штата Вашингтон и устроился на работу в небольшую местную фирму Seattle Computer Products. Паттерсона восхитил микропроцессор 8086, и он взялся за конструирование основанной на нем платы. Затем он встроил эту плату в один из микрокомпьютеров, использующих ту же шину, что и Altair. (Шина — это магистраль, по которой передаются данные в компьютере. Это электрическое или электронное соединение между платами, управляющими динамиком, дисководом и т. д.)
В мае 1979 г. Паттерсон, узнав, что Microsoft переехала в Беллевью, пошел в компанию, представился Полу Аллену и спросил, нет ли у них готовой программы для проверки его машины. Знакомство с Паттерсоном вызвало нервную дрожь у некоторых программистов, в частности, у Боба О’Рира, поскольку они еще в глаза не видели чип 8086. Паттерсона попросили немедленно приехать и проверить Бейсик для 8086.
Паттерсон переехал через ведущий в Беллевью мост над озером Вашингтон, установил свой компьютер и записал Бейсик для 8086, подготовленный Microsoft. Через неделю Бейсик для 8086 работал на плате Паттерсона.
— Это очень волнующая процедура, — говорит Боб ОТир, — когда программа долго разрабатывается на модели, а затем устанавливается на чип, для которого она предназначена. Когда она впервые начинает по-настоящему работать, тебя просто всего трясет от возбуждения.
Вскоре компания Life Boat Associates предложила Microsoft часть места в своей экспозиции на Национальной компьютерной конференции в Нью-Йорке. Microsoft, в свою очередь, пригласила Паттерсона продемонстрировать на своей машине Бейсик для 8086.
Когда О’Рир приехал в отель, находящийся рядом с Сентрал-Парк, там царила праздничная атмосфера. Билл Гейтс и Пол Аллен пускали ракеты из окон своей комнаты. Сотрудникам Microsoft редко удавалось оторваться от работы, но когда это получалось, они ни в чем себя не ограничивали.