ALASM: alasm444.W

Is a part of release: ALASM
File size: 26954
md5: c75c20b6f436975bbd1fc0c6bcc164c7
                                            Вместо эпиграфа:

                                               Поспешишь -
                                            людей насмешишь.


... Перебивается под: Ария, "Мания величия"


          ▄███████ █████    ▄███████ ▄███████ ███████▄
          ████████ █████    ████████ ▀██████▄ ████████
          █████▀██ █████▄▄▄ █████▀██ ███████▀ ██ ██▀██

                   ·· Version: 4.44bugfix ··
                      ·· STALL EDITION ··


 [+] новое, [!] фикс, [*] изменено, [-] выкинуто

Отличия версии 4.44bugfix от 4.44 (29.6.2)

[!] Исправлен  глюк версии 4.44! При склейке строк по cs/0 асм
    портил текст и сбрасывался. Блин! И все из-за одной строчки,
    которая почему-то исчезла в неизвестном направлении.
    Эх, Цап-Цап.
    Спасибо  Alone  Coder'у, кроме  него никто не заметил или не
    удосужился сообщить.

Отличия версии 4.44 от 4.43 (xx.xx.xx-24.06.02)

[!] INCBIN не смертельно глючил с файлами, имеющими длинну, кра-
    тную 256 байтам - неправильно устанавливалось #5cf4 (Sergius
    Puzzler)
[+] Команда EXA = EX AF,AF' (AlCo+Mey)
[!] ENDM в начале строки не справлялся со своими обязанностями
    (Sergius Puzzler)
[+] Теперь во всех командах (где на то есть смысл) можно задать
    через запятую список параметров:
        LD A,B,C,D
        POP HL,DE
        JP C,#1234,#1234
и так далее. (AlCo, Antipod)
[!] fix Hsearcher! Раньше в найденном файле в дескрипторе уста-
    навливалась неправильная дорожка (elph, dman)
[*] в 42символьной версии курсор подрос на 1 пиксель (AlCo)
[!] в строке статуса отмечается флаг измененности текста
[+] теперь грузится последний из одноименных файлов (AlCo)
[-] DEFM боле нету.
[+] Но есть DD!
        DD #112233445566
    эквивалентно
        DB #11,#22,#33,#44,#55,#66
[+] в конфиге можно выбрать громкость beepа (0-off,1-min..4-max)
    (Antipod)
[+] По ext/l можно перейти к одной из меток текущего файла (мет-
    ка должна стоять в строке первой и единственной) (AlCo)
[*] команды  Run и Symbol теперь работают только после успешной
    компиляции
[!] после поиска метки заменялись только метки (AlCo)
[*] После компиляции выдается информация вида:
   Symbols:#0000 Post:#0000 Macro:#0000
[!] возможно  исправил глюк с дисководами (при выборе дисковода
    принудительно  заношу #83 в соответствующую ему ячейку в ра-
    йоне #5cc8..#5ccb если там не #1b)
[*] скорость компиляции немного увеличена (5-15%) за счет опти-
    мизции  доступа  к  64к  меток (например у меня исходы этого
    аласма компилятся в v4.43 27 секунд, а в v4.44 21 секунду.)
    Таким  образом скорость компиляции снова близится к скорости
    авторской версии 4.1)
[*] в калькуляторе двоичное значение разделяется символом '_'
[+] в редакторе: ext/U - Undo строки


■■■ В архиве находятся:
√ al64_444.B - пусковик ALASMа, 64 символа в строке
√ al64_444.C - сам ALASM
√ al64_444.O - оверлеи: help, import, export, config
√ FONT64a .C - мой стандартный фонт
√ FONT64f .C - фонт (ц) Faster

√ al42_444.B - пусковик ALASMа, 42 символа в строке
√ al42_444.C
√ al42_444.O
√ FONT42a .O - font
√ FONT42b .O - bold font

√ sts6.2  .C - debuger

√ alasm444.W - этот текст
√ AL444nfo.H - краткий перечень директив и команд

√ 128КDRV .C - драйвер памяти для Spectrum 128k
√ PENTDRV .C - для Pentagon 512
√ P1MBDRV .C - для Pentagon 1024 (#7FFD)
√ ATMDRV  .C - для ATM-Turbo
√ PROFDRV .C - для PROFI
√ SCORPDRV.C - для SCORPION
√ KAY1DRV .C - для KAY
√ 128KDRV .H - исходники драйверов памяти
√ PENTDRV .H
√ P1MBDRV .H
√ ATMDRV  .H
√ PROFDRV .H
√ SCORPDRV.H
√ KAY1DRV .H

  Приложение:

√ ALstring.H - формат текста аласма (в виде порипанного из само-
               го аласма исходника)
√ BUILD#  .H - считает количество компиляций и записей проекта
√ SAVEOBJ .H - макрос сохранения кодовых блоков
√ SAVEBAS .H - генератор бэйсиковских загрузчиков

√ H_Search.B - выдиралка ALASMовских файлов с убитого диска (по-
               фиксена)
√ H_Search.W - описание выдиралки

√ Fnt42bld.H - конвертер 42х символьного фонта из экранного
               формата

√ file_id .diz


	Краткое описание функциональных возможностей.

- 1. РАСПРЕДЕЛЕНИЕ ПАМЯТИ -------------------------------------

   ALASM позволяет pаботать одновременно с несколькими текстами,
расположенными в разных страницах памяти пользователя. Переход
от редактирования одной страницы к другой осуществляется вводом
команды
paGe [страница]
из рабочей строки асемблера либо по команде SS/ENTER, которая
позволяет удобно выбирать нужный файл из появляющегося списка.
Количество текстов, которые может обрабатывать ALASM, зависит
только от объема памяти компьютера.
   Страницы в ассемблере нумеруются по маске максимального зна-
чения, передаваемого в драйвер расширенной памяти. При этом его
младшие 3 бита соответствуют битам, передаваемым в порт #7FFD.
   При запуске ассемблера проводится тест памяти по всем восьми
битам номера страницы драйвера. Его результаты выводятся на
экран в виде
 XXXX kB mask XX.
Числа указывают, сколько памяти доступно ассемблеру на Вашем
компьютере и какие биты номера страницы отвечают за доступ.
По этим битам маскируется операнд команды PAGE и других команд.
   Стек для нормальной работы ALASM и оверлеев не должен быть
выше #5fff !!!

- 2. КОМАНДЫ СРЕДЫ АССЕМБЛЕРА ---------------------------------

    Список этих команд может быть получен на экране нажатием
клажиши "H" (HELP).
   Выполнение любой команды может быть прервано нажатием BREAK.
   Если в результате выполнения команды может быть потерян
текст, то, если он был изменен, выводится запрос на его сохране-
ние:
        File changed. Save(Y/N)?


	В систему команд среды ассемблера входят:

- Help
Вывод на экран списка команд, доступных в ассемблере и
редакторе. Данная команда является оверлейной, поэтому при
необходимости выведется запрос на подгрузку oверлея:
	Load overlay (Y/N)?

- Quit [адрес][,страница]
Выход из ассемблера. В случае, если параметры не заданы, проис-
ходит выход через дно стека, в противном случае осуществляется
безусловный переход по указанному адресу в указанную страницу.

- Debug
Выход в отладчик STS. При отсутствии в странице 7 монитора
выдается соответствующее сообщение.

- Run [адрес][,страница]
Запуск программы.
По умолчанию параметр "адрес" принимает значение последней
директивы ORG, а параметр "страница" - 0.

- Work [drv:][filename[.ext]]
Загрузка файла в текущую рабочую страницу.
По умолчанию задается расширение "H".
"filename" может представлять собой маску. В этом случае будет
загружен первый файл, который ей удовлетворяет.
В случае, если параметр "filename" не введен, то пользователю
предоставляется возможность выбрать файл из каталога текущего
или указанного диска.

- Catalogue [drv:][mask]
По умолчанию задается "*.*" (все файлы).
Выводит на экран каталог диска.
Формат маски определяется следующим образом:
знак "?" определяет, что в данной позиции может находиться любой
символ. Знак "*" определяет, что, начиная с данной позиции, все
символы могут принимать произвольные значения. При достижении
ограничителя (символ "." или конец строки) предполагается, что
остальная часть строки заполнена символами "ПРОБЕЛ".

- Name [newfilename[.ext]]
Сменить имя файла в текущей странице на новое.

- Edit [дисковод:][имя файла]
Переход к редактированию файла в текущей странице. В случае,
если задан параметр "имя файла", файл с таким именем загружа-
ется в текущую страницу. Если же файл на диске не найден, в
текущей странице создается новый файл с введенным именем.

- Merge [дисковод:]имя файла
Подгрузка текстового файла формата ALASM в конец текущего файла.

- counT арифметическое выражение
Производит вычисление указанного арифметического выражения. Ре-
зультат вычислений выводится в десятичной, шестнадцатиричной,
бинарной системах, а также в ascii.

- sYmbol [маска|-|числовое выражение]
Позволяет выводить на экран список меток по маске, неопределен-
ных меток, а также меток по их значению.
Команда выполняется только в случае, если до этого была произ-
ведена компиляция. В качестве атрибута метки могут выводиться
следующие сообщения:
число - Значение метки, определенное при компиляции;
NoDef - Метка не была определена, но была использована;
Macro - Метка представляет собой имя блока макроопределения;
Wrong - Формат метки не определен вследствие ошибок компиляции.

- Assemble
Производит компиляцию текста в текущей странице, начиная с пер-
вой строки.
По окончании компиляции на экран выводится сообщение:
Symbols: AAAAA-BBBBB-CCCCC
где:	AAAAA - адрес последней записи в POST SYMBOLS PAGES
		(растет снизу вверх)
	BBBBB - в SYMBOL LIST PAGE (растет сверху вниз);
	CCCCC - в MACRO PAGE.

- Save [+][drv:]
Запись на диск отредактированного текста. При указании параметра
"+" на текущий или указанный дисковод записываются все файлы, у
которых установлен маркер изменения. В противном случае на диск
записывается текущий файл.

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

- paGe [номер страницы]
Переход к странице, указанной в качестве параметра "страница".
До следующего изменения параметра команды PAGE указанная страни-
ца становится текущей и все команды для текущих страниц будут
выполняться над ней.

- driVe drv:
Указанный дисковод становится текущим

- Jumb [+]
Без параметра производит сканирование текста в текущей странице
с целью замены директив "-" на "+" (эта операция автоматически
производится при загрузке каждого файла с диска). С параметром
[+] производится сканирование всех текстов, найденных в памяти.

- SS/ENTER
Выбор редактируемого файла из находящихся в памяти.

- Ban [+]
Эта команда предназначена для очистки страницы текста.

Следующие команды являются, как и HELP, оверлейными:

- conFig
Ввод этой команды в рабочей строке ассемблера позволит Вам
перейти в режим SETUP, в котором можно изменять конфигурацию
текущего сеанса работы и сохранить ее на диск непосредственно
в тело al42_443.C (или al64_443.C в 64 символьной версии)
Параметры конфигурации переустанавливаются сразу же после их
изменения.

- impOrt [drv:][mask]
Производит конвертирование текстовых файлов во внутренний формат
ALASM. При импортировании опционально производится перевод
токенов в верхний регистр и разрыв строк по двоеточию вне
"строк". После ввода команды предлагается выбрать файл из
соответствующего маске списка. Затем необходимо указать номер
страницы, куда будет импортирован файл. Если страница содержит
измененный файл, ALASM предложит его записать. В случае перепол-
нения страницы оставшаяся часть файла может быть импортирована в
другую страницу.

- eXport [+][drv:]
Производит запись на диск текущего или всех исходников в формате
обычного текста. Код конца строки - #0d,#0a


- 3. КОМАНДЫ РЕДАКТОРА ----------------------------------------

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

Список команд редактора асемблера ALASM:

- Quit
Выход из редактора в среду асемблера.

- Begin
Переход к началу текста.

- End
Переход к концу текста.

- Search [строка символов]
Поиск строки символов по тексту. Поиск начинается с позиции,
следующей за текущей позицией курсора и продолжается до конца
текста. При остановке поиска он может быть продолжен путем ввода
комбинации SS/I, причем если такая командя дана за концом пос-
ледней строки текста, поиск будет начат с его начала. Если пара-
метр "строка символов" не указан, то будет использована строка,
введенная в предыдущий раз.

- sYmbol [имя метки]
Поиск описания метки по тексту. При поиске предполагается, что
первый символ имени метки находится в нулевой позиции.

- Xreplace строка1Ўстрока2
Замена строка1 на строка2. Выдается запрос "REPLACE(Y/N/G)?"
Y-заменить, N-искать дальше, G-заменить все.

- coDe XXX>[код символа]
Ввод в текст символа с произвольным кодом. XXX показывает код
символа под курсором.

- Restore
Копирование содержимого кармана в позицию курсора.
После этой операции сбрасывается флаг разрешения дополнения
кармана.

- Clear
Очистка кармана.

- Ins/ovr
Смена режима редактирования: вставка/замена.

- Undo
Отмена изменения строки (действует только на текущую строку)

- Labels
На  экран выдаются все 'главные' метки - метки, стоящие в начале
пустых строк :) Далее можно выбрать нужную метку или нажать бре-
ак.

	Клавиши в режиме редактирования:

SS/I  - продолжение поиска;
SS/Q  - удаление текущей строки. При выполнении этой команды
	удаляемая строма автоматически переносится в карман, но
	_только_в_том_случае_, если он не был занят другой
	информацией;
SS/W  - вставка пустой строки. Текущая строка сдвигается вниз;
SS/E  - копирование текущей строки в карман. После этой команды
	курсор перемещается на следующую строку;
CS/SP - табуляция или rus/lat (в конфиге можно сменить местами)
CS/1  - Rus/Lat или табуляция (настраивается в конфиге)
CS/2  - вставка пробела в позицию курсора. Остальная часть
	строки сдвигается вправо;
SS/EN - на экран выводится список файлов, в котором с помощью
	курсора выбырается нужный для редактирования;


        Особенности редактора версии 4.44

1. Режим вставки:
  - вставка символа производится со сдвигом остатка слова
вправо. Словом считается последовательность символов, не имеющая
более одного пробела подряд. Например, при вводе метки в строку
с мнемоникой, мнемоника не будет сьезжать вправо.
  - при перемещении влево (cs/5) курсор помещается на первый
непробел слева.
  - при перемещении вправо (cs/8) курсор помещается на первый
непробел справа или на следующую позицию табуляции если строка
справа пустая.
  - Еnter разрывает строку. Если справа от курсора строка пус-
тая, то после перехода в следующую строку курсор сдвигается на
одну табуляцию (8 символов) - столбец мнемоник.
  - cs/9 удаляет символ под курсором. Если строка справа пустая,
то производится склейка со следующей строкой (если результирую-
щая строка не длиннее 64 символов)
  - cs/0 удаляет символ слева от курсора. Если нажат в начале
строки - склеивает с предыдущей.

2. В режиме замены никакой склейки и разрезки нет.
Режимы Ins/Ovr меняются через Ext/I

3. В 42-символьной версии для редактирования доступны строки
длинной 64 символа.

- 4. ДИРЕКТИВЫ АССЕМБЛЕРА -------------------------------------
---
	ORG адрес[,страница]
Установка адреса компиляции. По умолчанию параметр "страница"
задается равным 0.

---
метка   EQU значение
Присваивает метке значение, эквивалентное параметру "значение".

---
	DISP адрес
Установка адреса, в котором должна работать программа.
	ENT
Присвоение адресу работы программы текущего адреса компиляции.
Пример:
SCREEN	EQU #4000
	ORG #8000
	LD HL,BEGIN		;Пересылка в область экрана 
	LD DE,SCREEN		;и запуск программы ожидания
	LD BC,END-BEGIN		;[A] прерываний
	LDIR
	CALL SCREEN
	DI
	HALT
BEGIN  DISP SCREEN
MARKA	DEC A
	HALT
	JP NZ,MARKA		;JP - не случайно
	RET
       ENT
END

---
	INCLUDE "дисковод:имя файла"[,страница]
Включение в компилируемый файл дополнительного текстового блока,
записанного на диске под именем "имя файла". При этом указанный
файл загружается в страницу, определенную параметром "страница"
(по умолчанию - текущая). По окончании компиляции включенного
блока компиляция продолжается со строки, следующей после данной
директивы. Особенностью данной директивы является то, что файл,
указанный в ней, не будет загружаться с диска, если он уже нахо-
дится в необходимой странице.
Пример:
	LDIR
	INCLUDE "TOKENIZE",1
	OTDR
	INCLUDE "ALASM2"
	HALT
;Сначала быдет откомпилирован LDIR, потом текст "TOKENIZE.H",
;загруженный в страницу 1, потом OTDR, затем в текущую страницу
;будет загружен и откомпилирован текст "ALASM2.H", после чего
;с диска будет считан основной файл и компиляция продолжится
;с команды HALT.        

---
	MAIN "имя файла"[,страница]
Указание основного файла компиляции. Директива MAIN должна быть
первой исполнимой директивой подчиненного файла. 
Будьте внимательны с именами файлов, содержащими символы "." или
"*". Лучше заменить их на символ "?".
Пример:
	MAIN "MAKE6?7",6
	LDIR
;После подачи команды ASSEMBLE компиляция передается
;программе MAKE6*7, находящейся в странице 6,
;затем находящийся в ней INCLUDE вызывает подчиненную
;программу, состоящую из директивы MAIN и команды LDIR.
;Во включаемых файлах MAIN игнорируется, поэтому после ассембли-
;рования LDIR происходит возврат в основную програму и продолже-
;ние компиляции.

---
	INCBIN "дисковод:имя файла"[,длина]
Включение в компилируемую программу кодового блока, записанного
на диске под именем "имя файла" размером "длина" байт или по
умолчанию из данных каталога.

---
	DUP число
Левая программная скобка. Указывает на начало блока, который
необходимо компилировать "число" раз подряд
	EDUP
Правая программная скобка. Указывает на конец повторяемого блока
Возможна вложенная конструкция.
Пример:
       DUP 32
	LDI
	LD A,B
	OR C
	JR Z,$+3  ;$ - адрес первого байта компилируемой команды
	LD (HL),D
       EDUP
;Блок текста между DUP и EDUP будет откомпилирован 32 раза
---
        REPEAT
        <тело>
        UNTIL <выражение>
   Компилирует участок <тело> до тех пор, пока <выражение> не
станет равным 0
---
        DEFM "строка символов"[,"строка символов"]
Резервирование строки символов.

---
	DB байт[,список байт]
Резервирование списка байт
Пример:
	DB "У",13,10,"попа",13,10,"была",13,10,"собака",13,10
        DEFB "она сьела",13,10,"попа факу..."
---
	DW слово[,список слов]
Резервирование списка слов.
Пример:
        DW ALASKA,BUFFER,12,#BD15,32767,.NUMB1
        DEFW 12345,34567

---
	DS количество повторений[,список байт]
Список байт (по умолчанию - 0) копируется в текущий адрес компи-
ляции. Число циклов равно параметру "количество повторений".
Пример:
        DS 10,#E5
        DEFS 32,#ED,#B0
---
	+<директива ассемблера>
При загрузке текста с диска он сканируется на наличие в нем
указателей "+" в начале каждой строки. В процессе компиляции
все встреченные указатели "+" будут заменены на "-", что ука-
жет компилятору на отсутствие необходимости компиляции строки
при следующем ассемблировании.
Пример:
	LD HL,#DB00
	 +SAVEADR
	 +  ORG #DB00,7
	 +  INCBIN "sts7.5a"
	 +ORG SAVEADR
	JP (HL)
;основной файл отладчика будет загружен только при первой ком-
;пиляции текста, содержащего эти команды.       

---
	метка=выражение
Переприсвоение значения уже существующей метки.
Пример:
SHLUSS	EQU 0
	ORG 32768
	DUP #4000
	DEFW SHLUSS
SHLUSS=SHLUSS+1
	EDUP
;вся память выше #8000 будет заполнена увеличивающимися словами
;от 0 до 16384

---
	IF <выражение>
	<тело1>
	ELSE 
	<тело2>
	ENDIF 

Если выражение <выражение>=0, то компилируется <тело1>, иначе
компилируется <тело2>

---
	IFN <выражение>
	<тело1>
	ELSE 
	<тело2>
	ENDIF 

Если выражение <выражение>=0, то компилируется <тело2>, иначе
<тело1>

Допускается вложенность условной компиляции (максимально
возможная - 254-я вложенность)

---
	LOCAL 
	<тело>
	ENDL 

Объявление локальных меток. Все метки в пределах этой
операторной скобки будут невидимы вне ее (кроме меток,
начинающихся с символа @ - это глобальные метки). Допускаются и
вложенные конструкции.

Если в пределах локальных меток определять метки с именами,
к которым обращались раньше этой конструкции, то такие метки
будут глобальными:

	LD HL,LABEL
	LOCAL 
LABEL
	ENDL 

---
	MACRO <имя_макросa>
	<тело>
	ENDM 

Определение макроса. В теле макроса могут быть использованы
следующие дополнительные команды:
:0 .. :9 - параметр номер 0,1,2,...9.
:C - текущий символ
:N - перейти на следующий символ (ничего не выдает)
:R - установить указатель на начало строки параметров
:S<char> - строка от текущего символа до символа <char>

(сделано также само, как и в TASM4.12)

---
	<имя_макроса> [параметр1[,параметр2[...]]]

Запустить макрос в действие. Если параметр не заключен в
кавычки, то все пробелы около него удаляются при передаче
макросу (сделано для того, чтобы меньше на стеке мусорить).
Разделителем параметров служит исключительно запятая (запятая,
заключенная в кавычки не считается разделителем).

Пример использования макросов:

	MACRO DOWN

	LOCAL 

	INC :C
	LD A,:C
	AND 7
	JR NZ,LABEL
	LD A,:N:C
	SUB #E0
	LD :C,A
	JR NC,LABEL
	LD A,:R:C
	SUB 8
	LD :C,A
LABEL
	ENDL 

	ENDM 

Теперь мы можем процедуру DOWN HL и DOWN DE скомпилировать по их
именам - DOWN HL, DOWN DE и т.д.

---
        DISPLAY [/L,]["any text",][[/D|/H|/A,][/T,]выражение]
  Данная команда позволяет вывести любой текст, а также числа в
процессе ассемблирования. Ключи /D, /H и /A устанавливают формат
вывода для одного следующего числа. Далее числа выводятся в
текущей системе счисления. /D - десятичное число, /H - шестнад-
цатиричное, /A - в обеих системах.
  Ключ /L указывает, что необходимо печатать не с новой строки.
  Ключ /T - выводит сначала само выражение, потом его значение
  Примеры:
	DISPLAY "code size: ",/D,end-start
	DISPLAY /A,"abc+xyz=",abc+xyz
        DISPLAY "simple"," text"

        DISPLAY "Баран жевал "
        DISPLAY /L,"травКу"

        DISPLAY /A,/T,abc+xyz
    эквивалентно
        DISPLAY /A,"abc+xyz",abc+xyz
---
  Половинки IX и IY адресуются как HX и HY, LX и LY. Также
компилируются недокументированные команды типа INF.


- 5. Калькулятор ----------------------------------------------

  Выражение расчитывается слева направо без приоритетов (кроме
скобок).

	Могут присутствовать операторы:

a+b - сложение
a-b - вычитание
a*b - умножение
a/b - деление
a&b - операция AND
a|b - операция OR
a!b - операция XOR
a>b - циклический сдвиг слова a на b позиций вправо
a<b - циклический сдвиг слова a на b позиций влево
()  - операторные скобки (сначала рассчитываются они)
{a} - слово, находящееся в памяти по адресу a
~   - инвертирование текущего результата
?метка - возвращает 0, если метка уже определена, #ffff,если не
    определена, и 1, если не определена, но к ней было уже
    обращение. Если метка это название макроса, то функция
    выдает 2.
'a  - старший байт a
.a  - младший байт a

Константы могут быть в трех системах исчисления:

const  - десятичная
#const - шестнадцатиричная
%const - двоичная

Во всех операциях кроме + и - не допускается использование
меток, которые еще будут определены (из-за однопроходности)


- 6. Ошибки компилятора. --------------------------------------

#00=0  - синтаксическая ошибка
#01=1  - reserved
#02=2  - reserved
#03=3  - короткий переход неверен (вышел за границы)
#04=4  - reserved
#05=5  - reserved
#06=6  - повторное описание метки
#07=7  - reserved
#08=8  - reserved
#09=9  - reserved
#0a=10 - компиляция в ПЗУ
#0b=11 - недопустимая операция
#0c=12 - неправильная Macro операция
#0d=13 - not used
#0e=14 - ошибка системного стека
#0f=15 - ошибка диска

  Если при компиляции встречается ошибка, то производится увели-
чение счетчика в текущей странице.

Ошибки времени заполнения:
wrong short - неправильное обращение к метке за пределами
              "короткого" поля;
not defined - метка не определена.


- 7. ОПЦИИ КОНФИГА -----------------------------------------

- beEp
  Звук при нажатии клавиши (ACT/OFF)

- bOrder
  Цвет бордюра экрана

- pAper
  Цвет фона

- iNk
  Цвет чернил

- briGht
  Яркость (ACT/OFF)

- Save SETUP
  Запись на диск всех параметров, измененных в SETUP
за  время  последнего  сеанса работы. Также записывается текущий
режим Ins/Ovr.
  Запись всех параметров производится непосредственно в тело
alasm442.C, поэтому отсутствует необходимость создавать и
загружать отдельный файл SETUP при начальной загрузке.

- Load FONT codes
  Загрузка с диска файла шрифта. Файлы шрифта опознаются по
первым  буквам  "FONT", длине  #400  и адресу начальной загрузки
#9c40.

- KBD forming - пауза между двумя опросами
- KBD holder - защита от дребезга
- KBD wait - пауза перед автоповтором

- Numbers
  Смена системы счисления отображаемой на экране числовой
информации (шестнадцатиричная/десятичная)

- Locate error
  Если активна, то курсор в кущей странице будет устанавливаться
на последнюю найденную строку с ошибкой

- Tab/Rus CS/1
  Если Tab, то CS/1 - Tab, CS/SP - Rus/Lat
       Rus, то CS/1 - Rus/Lat, CS/SP - Tab

- Editor mode
  Переключает режим редактирования со вставки на замену и обрат-
но

- Text info
  Включает или выключает необходимость вывода при выполнении ко-
манды INFO первой строки текста. Естественно она выводится, если
счетчик ошибок в странице равен 0.

- Start page
  Задание номера страницы, которая будет становиться текущей
при запуске ALASM.

- System page
  Один из основных системных параметров, указывающий, в какой
странице должен находиться ALASM вне сеанса работы с ним.
Точнее, при необходимости, вам придется поправить это число еще
в бейсик-загрузчике и в драйвере расширенной памяти.

- Symbol list
  Номера страниц, в которых будет размещен список меток,
полученный при компиляции текста. Если пользователю не нужно
использовать все 4 страницы меток, то ненужные необходимо
занулить. При переполнении таблицы меток выдается сообщение
Symbols overflow!
  Заполнение начнется со страницы, указанной справа. Метки будут
закидываться от старших адресов к младшим.

- Post symbols
  Номера страниц, в которых будет размещен список почтовых меток
компиляции. После  того, как  компиляция завершится, этот список
не  представляет из себя для пользователя никакой информационной
ценности. Здесь  также  может быть определено от 1 до 4 страниц.
При переполнении выдается Post overflow!
  Заполнение начнется со страницы, указанной справа. Пост-симво-
лы закидываются от младших адресов к старшим.

- Pocket page
  Страница,   в    которой    размещается   текстовая   информа-
ция, запоминаемая во время редактирования текста. При компиляции
карман очищается. Страницу кармана можно совместить с одной из
страниц Post.

- Debugger
  Номер страницы отладчика STS 6.2

- HImem driver
  Установить драйвер расширенной памяти. Эти драйвера отличаются
только для компьютеров с объемом памяти более 128 килобайт
адресацией старшего байта порта записи #FD и битами, отвечающими
за получение доступа к дополнительной памяти. Файл драйвера
опознается по длине и адресу начальной загрузки (#7000,#FF).


- 8. Мысли вслух ----------------------------------------------

   Кончились.

- 9. Связь ----------------------------------------------------

E-Mail:    capry@hotbox.ru        -       Paul Stahov
           stanly_stall@hotbox.ru - Stanislav Aristov

Исходники этого бреда хранятся у ------------- [Цапрюга, 29.6.2]
--- AC Edit 0.62 by Alone Coder