Выбрать главу

1111100000101010001101011001110010000101

0001001100010100011010011000010000000000

— Запитах се дали това не е лента на Тюринг — продължи Марис. — И какво ще направят нулите и единиците, ако ги пуснем през машината на Тюринг?

Ашър бавно се наведе напред.

— Мислиш, че тези осемдесет бита са компютърна програма?

— Знам, че звучи налудничаво, сър.

— Съвсем не. — „Не по-налудничаво от факта, че сме тук — помисли си Ашър. — На дъното на морето и копаем“. — Продължавай — каза на глас за трети път.

— Добре. Първо трябваше да разбия редицата нули и единици на отделни команди. Предположих, че първите стойности 00000 и 11111 са указания, които обозначават дължината на всяка инструкция и че всяка дигитална „дума“ е дълга пет бита. Така ми останаха четиринадесет петбитови инструкции. — Марис натисна един клавиш и дългата редица цифри изчезна. На нейно място се появиха серии кратки редове:

10101

00011

01011

00111

00100

00101

00010

01100

01010

00110

10011

00001

00000

00000

Ашър се втренчи в екрана.

— Кратка е за компютърна програма.

— Да. Трябва да е много елементарна компютърна програма. И на машинен език — основният, универсален, дигитален език.

Ашър кимна.

— И после?

— Сутринта съставих кратка програма, която да сравни тези стойности с крайния списък инструкции, написани на стандартния машинен език. Програмата даде всевъзможни инструкции на стойностите, една по една, и после провери дали ще се появи компютърна програма, с която може да работи.

— Какво те кара да мислиш, че подателите на посланието използват същия машинен език за инструкции като нашия?

— На бинарно ниво има някои дигитални инструкции, които са общи за всяко въобразимо компютърно устройство — инкремент, декремент, прескочи, пропусни, ако е нула, и булеан логика. Затова оставих програмата да върви и продължих с другата си работа.

Ашър кимна.

— Преди двадесетина минути програмата завърши проверката.

— И четиринадесетте реда преведоха ли се в някоя компютърна програма?

— Да. В една.

— Сериозно?

— Програма за прост математически израз. Ето я. Марис натисна друг клавиш и на монитора се появиха редици инструкции.

Ашър нетърпеливо се наведе напред.

ЛИНИЯ №МНЕМОНИКАЗАБЕЛЕЖКИ
00101ADD/Зареди установена единица /от числото в позиция 13 (десетична дроб)
0001100011
01011CNM/Сложи обратен знак на числото.
00111PLC/Въведи полученото число /в позиция 14.
0011000100
00101ADD/Извади от /числото в позиция 12.
0001000010
01100ISZ/Инкремент и пропусни, ако е нула.
01010JMP/Върни програмния контрол /на стъпка 6.
0011000110
10011КРАЙ/Затвори програмата.
00001/Позиция 12
00000/Позиция 13
00000/Позиция 14

— Какво прави програмата? — попита Ашър.

— Ще забележите, че е написана като серия от повтарящи се изваждания, закодирани в кръг. Така се извършва делението на машинен език — чрез повтарящо се изваждане. Е, поне единият от начините. Може също да използваш десния SHIFT за аритметически действия, но това изисква по-специализирана компютърна система.

— Тогава е деление.

Марис кимна.

Ашър почувства изненада и озадаченост, примесени с внезапно силно вълнение.

— Не се колебай. Кое число се дели?

— Едно.

— Едно. И на какво се дели едно?

Марис облиза устни.

— Ами, проблемът е там, че…

ГЛАВА 26

Вратата беше едната от шестте в резервния необозначен коридор в североизточния квадрант на третото ниво и имаше надпис „Радиология“.

Капитан Королис кимна на единия от придружаващите го морски пехотинци да я отвори и влезе. Питър Крейн погледна над рамото му и видя малка, но добре обзаведена лаборатория. Всъщност по-голямата част от помещението беше заета от обемист апарат. Пред един компютър седеше жена с азиатски черти и бяла престилка и бързо пишеше. Тя вдигна глава, стана, усмихна се и се поклони.

Без да отговори на поздрава, Королис обиколи стаята, като неодобрително поглеждаше Крейн.

— Това трябва да послужи на целите ви — каза той и отново огледа помещението, сякаш отмяташе наум нещата, които Крейн би могъл да открадне, после излезе в коридора. — Оставете пост отвън — заповяда Королис на двамата командоси, обърна се и тръгна.