ГЛАВА 1
ВВЕДЕНИЕ ДЛЯ НАЧИНАЮЩИХ
Так как эта книга первоначально предназначалась:для тех кто
уже имеет определенное представление о прог^ммированийна; язы-
ках низкого уровня, мы предварим ее информацией, которая будет
полезна не имеющим опыта в программировании, а так же Желаю-
щим освоить машинные коды без заучивания прав^.их.найисания.
Если вы из этих, я надеюсь, что эта книга вызовётНу;;ваё:аппетит и
заставит начать изучать что-нибудь о программировании на языках
низкого уровня. Некоторые программы,: хфёдлагаемые в следующих
главах, могут быть легко написаны и использованы: при минималь-
ном количестве знаний и опыта. Ленивым, как я,т предпочитаю-
щим использовать процедуры содержащиеся в ПЗУ илй уже сущест-
вующие тому, чтобы заново изобретать: колесо при необходимости
написать программу, я предлагаю обсудить: возможность обращения
как к 16К ПЗУ, которая есть в СПЕКТРУМ 8К ПЗУ микро-
драйверного интерфейса. В некоторых случаях я дам примеры и по-
яснения по использованию про^рамм;из этих ПЗУ. Мной будут рас-
смотрены системные переменйы1азанО; наивыгоднейшее их
использование. Кроме вышеперечислёншшбу^ет объяснено приме-
нение процедур прерывания. Если вы хотите самостоятельно преоб-
разовать программы с языков; низкого уровня в числовые коды и
завести их в память;своего компьютерщикам необходимо освоить
АССЕМБЛЕР. Мб^у^йорекомендова^ь книгу "PICTURESQUE
EDITOR ASSEMBLER" сЩярммой "MONITOR/DISASSEMBLER"
из нее. Она проста и быстродействующа, и, кроме того, программу
"HIGHSOFT'S DEVPACK 3", которая:несколько лучше. Более опыт-
ным пользователям подходит "DEVPACK" (который содержит как
"MONITOR/DISASSEMBLER" так и "EDITOR/ASSEMBLER"). Я не
собирался обучать :языкам;;ййзкрго уровня, так как есть огромное
количество книг на: эту Дйё из них я могу порекомендовать:
«МАШИННЫЙ ЯЗЫК: ?SPECTRtJM" ДЛЯ НАЧИНАЮЩИХ», ав-
тор - RODNAY ZAKS и его же «ПРОГРАММИРОВАНИЕ Z80", кото-
рая не:с^язана с иcпoльзoвaнйём;мSPECTRUM", но подробна и содер-
житдоступных операционных кодов. Для того, чтобы
вызывать опйсщаемые мной машинные коды из БЕЙСИКА необхо-
димо использовать ^Ш^щы::-RANDOMIZE USR NN", "PRINT USR
NN", либо "LET V=USR:;N:N", где NN - входная точка в программу в
машинных кодах, а V - любая числовая переменная. После выхода из
процедуры в машинных кодах, а V - любая числовая переменная.
После выхода из процедуры в машинных кодах переменная команды
"LET" будет иметь значение пары регистров "ВС", а команда
"PRINT" выведет значение пары регистров "ВС" в текущий выходной
поток. При входе в программу во всех случаях пара регистров "ВС"
должна содержать "NN", т.е. адрес вызова. Независимо от того, где и
когда вызывалась программа в машинных кодах, рекомендуется со-
хранять содержимое пары регистров "H'L"', так как это необходимо
для успешного возвращения в БЕЙСИК. Пара регистров "IY" обычно
не применяется, так как ПЗУ использует ее для индексирования
системных переменных, но, если сняты точки прерывания и проце-
дуры ПЗУ не использовались до восстановления значения 23610
(5C3Ah), ее можно применять. Пока в вашем распоряжении
"SPECTRUM" вы можете пользоваться этой книгой как справочни-
ком. Я старался не быть болтливым или ограничивать вас в чем-либо,
но надеюсь, что в основном книга содержит необходимую для вас
информацию. Очевидно невозможно детализировать все процедуры
ПЗУ и способы их применения, поэтому я выбрал те, о которых меня
часто спрашивают, и наиболее важные на мой взгляд. Серьезным же
программистам в дальнейшем предстоит прочитать «ПОЛНОЕ ДИ-
ЗАССЕМБЛИРОВАНИЕ ПЗУ СПЕКТРУМА» (DR. IAN LOGAN).