|
ZX Guide
#01
27 ноября 1998 |
|
Рабочий стол - Теневой многотекстовый ассемблер-отладчик ALASM v4.1 Краткое описание

Теневой многотекстовый
ассемблер-отладчик ALASM v4.1
Краткое описание
функциональных возможностей.
Получить ответы на большинство вопросов
можно непосредственно опытным путем при
использовании ALASM. По остальным вопросам
звоните по телефону в Харькове:
(0572) 70-37-49.
Оглавление:
1. РАСПРЕДЕЛЕНИЕ ПАМЯТИ
2. ХОЛОДНЫЙ ЗАПУСК
3. КОМАНДЫ СРЕДЫ АССЕМБЛЕРА
4. КОМАНДЫ РЕДАКТОРА
5. ДИРЕКТИВЫ АССЕМБЛЕРА
6. ОШИБКИ КОМПИЛЯЦИИ
7. ОПЦИИ МЕНЮ SETUP
8. В СЛЕДУЮЩИХ ВЕРСИЯХ
9. ОТЛИЧИЯ ОТ ПРЕДЫДУЩИХ ВЕРСИЙ
══════════════════════════════════════════
1. РАСПРЕДЕЛЕНИЕ ПАМЯТИ
ALASM позволяет pаботать одновременно с
несколькими текстами,расположенными в раз-
ных страницах памяти пользователя. Переход
от редактирования одной страницы к другой
осуществляется вводом команды
PAGE [страница]
из рабочей строки асемблера либо по коман-
де SS/ENTER,которая позволяет удобно выби-
рать нужный файл из появляющегося списка.
Количество текстов,которые может обрабаты-
вать ALASM,зависит только от объема памяти
компьютера.
Страницы в ассемблере нумеруются по ма-
ске максимального значения, передаваемого
в драйвер расширенной памяти. При этом его
младшие 3 бита соответствуют битам,переда-
ваемым в порт #7FFD.
──────────────────────────────────────────
──────────────────────────────────────────
2. ХОЛОДНЫЙ ЗАПУСК
При запуске ассемблера из TR-DOS экран
очищается и на нем появляется авторское
вступление, после чего проводится тест па-
мяти по всем восьми битам номера страницы
драйвера.Его результаты выводятся на экран
в виде XXX кб mask XX.Числа указывают,ско-
лько памяти доступно ассемблеру на Вашем
компьютере и какие биты номера страницы
отвечают за доступ. По этим битам маскиру-
ется операнд команды PAGE и других команд.
Ниже теста памяти выводится HELP,содер-
жащий список команд ассемблера и его реда-
ктора.Горячие клавиши этих команд вынесены
в заглавный режим.
После соответствующего сообщения нажа-
тие любой клавиши приведет к очистке экра-
на и выходу в рабочую строку ассемблера.
──────────────────────────────────────────
──────────────────────────────────────────
3. КОМАНДЫ СРЕДЫ АССЕМБЛЕРА
Список этих команд может быть получен
на экране нажатием клажиши "H"(HELP). Вве-
сти необходимую команду можно,нажав латин-
скую букву, входящую в состав этой команды
в виде заглавной.При этом введенная коман-
да отображается в рабочей строке,после че-
го, если это необходимо,ждет ввода операн-
дов или, в зависимости от назначения, под-
тверждения нажатием ENTER.
После ввода команды она дублируется в
рабочем экране и выполняется. В случае не-
корректности операндов выводится соответс-
твующее сообщение.
Выполнение любой команды может быть
прервано нажатием BREAK.
Если в результате выполнения команды
может быть потерян текст, то, если он был
изменен, выводится запрос на его сохране-
ние: File has been changed. Save(Y/N)?
В систему команд среды ассемблера вхо-
дят:
Help
Формат: HELP
Вывод на экран списка команд, доступных в
ассемблере и редакторе.Команда HELP не со-
держит операндов и не нуждается в подтвер-
ждении нажатием ENTER.
Quit
Формат: QUIT [адрес][,страница]
Выход из ассемблера. В случае,если параме-
тры не заданы, происходит выход через дно
стека, в противном случае осуществляется
безусловный переход по указанному адресу.
Параметр "страница" передается в драйвер
верхней памяти (по умолчанию задается 0).
В качестве параметров "адрес" и "страница"
могут быть использованы метки или содержа-
щие их арифметические выражения.
Debug
Формат: DEBUG
Выход в отладчик STS. При отсутствии в
странице 7 монитора выдается соответствую-
щее сообщение.Если перед вводом этой кома-
нды был откомпилирован текст, то в указа-
тель адреса отладки монитора будет записан
адрес последнего ORG.При этом,набрав в от-
ладчике SS/5,Вы получите возможность отла-
живать свою программу, наблюдая на экране
имена меток по их адресам.
Run
Формат: RUN [адрес][,страница]
Выполняет те же действия, что и команда
QUIT, но перед этим заносит в стек адрес
возврата в резидентный модуль ассемблера,
что позволяет вернуться в ассемблер из за-
пускаемой программы по команде RET.По умо-
лчанию параметр "адрес" принимает значение
последней директивы ORG, а параметр "стра-
ница" - 0.
Work
Формат: WORK [drive:][filename[.ext]]
Загрузка файла в текущую рабочую страницу.
По умолчанию задается расширение "H".
"filename" может представлять собой маску.
В этом случае будет загружен первый файл,
который ей удовлетворяет.В случае,если па-
раметр"filename"не введен, то пользователю
предоставляется возможность выбрать файл
из каталога текущего или указанного диска
путем выбора его курсором из списка фай-
лов, появляющегося в верхнй части экрана.
Catalogue
Формат: CATALOGUE [drive:][mask]
По умолчанию задается "*.*" (все файлы).
Выводит на экран каталог диска.
Формат маски определяется следующим обра-
зом:знак "?" определяет,что в данной пози-
ции может находиться любой символ.Знак "*"
определяет, что, начиная с данной позиции,
все символы могут принимать произвольные
значения.При достижении ограничителя (сим-
вол "." или конец строки) предполагается,
что остальная часть строки заполнена сим-
волами "ПРОБЕЛ".
nUmbers
Формат: NUMBERS [параметр]
Смена системы счисления отображаемой чис-
ловой информации. "Параметр" представляет
собой одно из двух выражений: "DEC" или
"HEX".
Name
Формат: NAME newfilename[.ext]
Сменить имя файла на новое.
По умолчанию задается расширение "H".
"newfilename" - новое имя файла.
Print
Формат: PRINT [bytes list]
Выводит в порт ZX-LPRINT текущий текст,
предварительно выводя указанный список
байт. Байты указываются через запятую.
Edit
Формат: EDIT [дисковод:][имя файла]
Переход к редактированию файла в текущей
странице.В случае,если задан параметр "имя
файла", файл с таким именем загружается в
текущую страницу. Если же файл на диске не
найден, в текущей странице создается новый
файл с введенным именем.
Merge
Формат: MERGE [дисковод:]имя файла
Подгрузка текстового файла формата ALASM в
конец текущего файла. Параметр "имя файла"
является обязательным.
counT
Формат: COUNT арифметическое выражение
Производит вычисление указанного арифмети-
ческого выражения.Результат вычислений вы-
водится в десятичной и шестнадцатиричной
системах.В качестве параметров арифметиче-
ского выражения могут использоваться мет-
ки, их старшие и младшие байты.
sYmbol
Формат: SYMBOL [маска]
Вывод на экран списка меток, удовлетворяю-
щих условию "маска". Команда выполняется
только в случае, если до этого была произ-
ведена компиляция.В качестве атрибута мет-
ки могут выводиться следующие сообщения:
число - Значение метки, определенное при
компиляции;
NoDef - Метка не была определена, но была
использована;
Macro - Метка представляет собой имя блока
макроопределения;
Wrong - Формат метки не определен вследст-
вие ошибок компиляции.
Assemble
Формат: ASSEMBLE
Производит компиляцию текста в текущей
странице,начиная с первой строки.В процес-
се компиляции на экран выводится количест-
во откомпилированных строк для контроля
зависания машины. По окончании компиляции
на экран выводятся сообщения:
Symbols: AAAAA-BBBBB
Указанная разность представляет собой ко-
личество свободной памяти в странице,отве-
денной под таблицу меток.В случае,если та-
блица меток разведена по различным страни-
цам,параметр AAAAA указывает адрес послед-
ней записи в POST SYMBOLS PAGE, а параметр
BBBBB - в SYMBOL LIST PAGE;
Save
Формат: SAVE [+][дисковод:]
Запись на диск отредактированного текста.
При указании параметра "+" на текущий или
указанный дисковод записываются все файлы,
у которых установлен маркер изменения. В
противном случае на диск записывается те-
кущий файл.В случае,если файл с таким име-
нем на диске уже существует, он удаляется
без дополнительных запросов.
Info
Формат: INFO
Выдает на экран номер версии, список номе-
ров системных страниц памяти и перечисле-
ние файлов,находящихся во всей памяти ком-
пьютера на момент подачи команды.
paGe
Формат: PAGE [номер страницы]
Переход к странице, указанной в качестве
параметра "страница".До следующего измене-
ния параметра команды PAGE указанная стра-
ница становится текущей и все команды для
текущих страниц будут выполняться над ней.
driVe
Формат: DRIVE дисковод:
Указанный дисковод становится текущим и
все команды для текущего дисковода будут
оперировать с ним.
Jumb
Формат: JUMB [+]
Эта команда заменяет в текущем файле все
указатели однократной компиляции с "-" на
"+". Если задан параметр, то будет просмо-
трена вся память.
SS/ENTER
Активизация мануального селектора файлов,
находящихся в данный момент в памяти.
Ban
Формат: BAN [+]
Эта команда предназначена для очистки
страницы текста.
conFig
Формат: CONFIG
Ввод этой команды в рабочей строке ассемб-
лера позволит Вам перейти в режим SETUP, в
котором можно изменять конфигурацию теку-
щего сеанса работы и сохранить ее на диск
непосредственно в тело alasmXX.C
Параметры конфигурации переустанавливаются
сразу же после их изменения.
──────────────────────────────────────────
──────────────────────────────────────────
4. КОМАНДЫ РЕДАКТОРА
При входе в окно редактирования экран
разбивается на две части:окно редактирова-
ния и информационная строка,в которой ото-
бражается номер страницы текущего файла,
его имя,количество свободной памяти в этой
странице и количество байт, перенесенных в
карман (если это число не равно 0). В этой
же строке обеспечивается подача сервисных
команд обслуживания текста.
В процессе редактирования пользователю
доступны сервисные команды обслуживания
текста,однако в отличии от среды ассембле-
ра,результат их выполнения не отображается
на экране в виде текстового сообщения, а
контролируется самим пользователем.
Список команд редактора асемблера ALASM:
Quit
Формат: Q
Выход из редактора в среду асемблера.
Begin
Формат: B
Переход к началу текста.
End
Формат: E
Переход к концу текста.
Search
Формат: SEARCH [строка символов]
Поиск строки символов по тексту. Поиск на-
чинается с позиции, следующей за текущей
позицией курсора и продолжается до конца
текста. При остановке поиска он может быть
продолжен путем ввода комбинации SS/I,при-
чем если такая командя дана за концом пос-
ледней строки текста, поиск будет начат с
его начала.
Если параметр "строка символов" не указан,
то будет использована строка, введенная в
предыдущий раз.
sYmbol
Формат: SYMBOL [имя метки]
Поиск описания метки по тексту. При поиске
предполагается,что первый символ имени ме-
тки находится в нулевой позиции.Свойства -
аналогично SEARCH.
coDe
Формат: CODE XXX>[код символа]
Установка в позицию курсора символа с про-
извольным кодом, набираемым на клавиатуре.
При вводе команды появляется код символа,
находящегося в текущей позиции курсора и
предлагается заменить его на другой. Если
параметр игнорировать, никаких действий
произведено не будет.
Restore
Формат: R
Копирование содержимого кармана в позицию
курсора. Строка, на которой находится кур-
сор, оказывается первой после содержимого
кармана. После этой операции сбрасывается
флаг разрешения дополнения кармана.
Clear
Формат: C
Очистка кармана.
Xreplace
Формат: REPLACE строка1строка2
Начиная с позиции,следующей за текущей по-
зицией курсора, производится поиск текста
"строка1". Как только он будет обнаружен,
выдается сообщение "REPLACE(Y/N/G)?". При
ответе "Y" текущая "строка1" заменяется на
"строка2" и поиск продолжается дальше. При
ответе "N" поиск продолжается без замены.
При ответе "G" все встреченные выражения
"строка1" будут заменены на "строка2" без
дополнительных запросов.В любой момент ра-
боты команды ее выполнение может быть пре-
рвано нажатием BREAK (CS/SPACE).
Line
Формат: LINE номер строки
Устанавливает курсор на строку с указанным
номером. Строки нумеруются с нулевой и до
конца текста с приращением 1 на каждой
строке.
Jumb
Формат: JUMB [+]
Без параметра производит сканирование тек-
ста в текущей странице с целью замены ди-
ректив "-" на "+"(эта операция автоматиче-
ски производится при загрузке каждого фай-
ла с диска). С параметром [+] производится
сканирование всех текстов, найденных в па-
мяти.
При редактировании текста пользователю
доступны функции, вызываемые одновременным
нажатием двух клавиш. Эти функции ускоряют
работу в редакторе и не имеют операндов:
SS/I - продолжение поиска;
SS/D - переключение русского и латинского
регистров ввода текстовой информа-
ции.Изменение регистра индицируется
видоизменением курсора;
SS/Q - удаление текущей строки. При выпол-
нении этой команды удаляемая строка
автоматически переносится в карман,
но только в том случае, если он не
был занят другой информацией;
SS/W - вставка пустой строки.Текущая стро-
ка сдвигается вниз;
SS/E - копирование текущей строки в кар-
ман.После этой команды курсор пере-
мещается на следующую строку;
CS/1 - табуляция;
CS/2 - вставка пробела в позицию курсора.
Остальная часть строки сдвигается
вправо;
SS/EN- на экран выводится список файлов, в
котором с помощью курсора выбирает-
ся нужный для редактирования;
──────────────────────────────────────────
──────────────────────────────────────────
5. ДИРЕКТИВЫ АССЕМБЛЕРА
При написании компилятора Автор при-
держивался набора директив,принятых в TASМ
3.0.Директивы,не присутствующие в вышеука-
занном творении, выбраны в соответствии с
международной практикой написания компиля-
торов языка ассанблера,т.е.с помощью фона-
ря и англо-русского словаря.
Список директив компилятора ALASM и их
описание:
1.
ORG адрес[,страница]
Установка адреса компиляции. По умолчанию
параметр "страница" задается равным 0. В
качестве информации о текущем адресе ком-
пиляции может использоваться символ "$",
эквивалентный обращению к зарезервивован-
ной переменной, содержащей адрес первого
байта команды, в которой произошло обраще-
ние. Пример:
ORG #7D19
LDIR;LDIR записан по адресу #7D19
ORG #C069,#84
INDR;INDR записан по адресу #C069
;в странице #84 верхней памяти
──────────────────────────────────────────
2.
метка EQU значение
Присваивает метке значение, эквивалентное
параметру "значение". Пример:
SCREEN EQU #4000 ;SCREEN=#4000
ATTRS EQU #5B00 ;ATTRS=#5B00
SCR_LEN EQU ATTRS-SCREEN ;SCR_LEN=#1B00
──────────────────────────────────────────
3. Опреации выделения старшего и младшего
байтов слова:
NUMB1 EQU #1234
NUMB2 EQU #ABCD
STBMLB EQU .NUMB1*256+'NUMB2;STBMLB=#34AB
MLBSTB EQU 'NUMB1*256+.NUMB2;MLBSTB=#12CD
;Старайтесь избегать деления на 256 для
;получения старшего байта необходимого
;слова, так как деление занимает в 280 раз
;больше времени, чем просто операция выде-
;ления старшего байта
DEFB 'NUMB2
;Абсолютно эквивалентно, но намного быст-
;рее,чем
DEFB NUMB2/256
;При задании байтового значения метки мла-
;дший байт выделяется автоматически
DEFB .NUMB1
;эквивалентно
DEFB NUMB1
;поэтому используется в основном для
DEFW .NUMB1
────────────────────────────────────────────────────────────────
4.
DISP адрес
Установка адреса,в котором должна работать
программа.
ENT
Присвоение адресу работы программы текуще-
го адреса компиляции. Пример:
SCREEN EQU #4000
ORG #8000
LD HL,BEGIN ;Пересылка в область
LD DE,SCREEN ;экрана и запуск
LD BC,END-BEGIN;процедуры ожидания
LDIR ;[A] прерываний
CALL SCREEN
DI
HALT
BEGIN DISP SCREEN
MARKA DEC A
HALT
JP NZ,MARKA ;JP - не случайно
RET
ENT
END
──────────────────────────────────────────
5.
INCLUDE "дисковод:имя файла"[,страница]
Включение в компилируемый файл дополните-
льного текстового блока,записанного на ди-
ске под именем"имя файла".При этом указан-
ный файл загружается в страницу,определен-
ную параметром "страница" (по умолчанию -
текущая). По окончании компиляции вклю-
ченного блока компиляция продолжается со
строки, следующей после данной директивы.
Особенностью данной директивы является то,
что файл,указанный в ней,не будет загружа-
ться с диска,если он уже находится в необ-
ходимой странице.
Пример:
LDIR
INCLUDE "TOKENIZE",1
OTDR
INCLUDE "ALASM2"
HALT
;Сначала быдет откомпилирован LDIR, потом
;текст "TOKENIZE.H",загруженный в страницу
;1, потом OTDR, затем в текущую страницу
;будет загружен и откомпилирован текст
;"ALASM2.H", после чего с диска будет счи-
;тан основной файл и компиляция продолжит-
;ся с команды HALT.
──────────────────────────────────────────
6.
MAIN "имя файла"[,страница]
Указание основного файла компиляции. Дире-
ктива MAIN должна быть первой исполнимой
директивой подчиненного файла. Будьте вни-
мательны с именами файлов,содержащими сим-
волы "."или"*".Лучше заменить их на символ
"?".
Пример:
MAIN "MAKE6?7",6
LDIR
;После подачи команды ASSEMBLE компиляция
;передается программе MAKE6*7, находящейся
;в странице 6, затем находящийся в ней
;INCLUDE вызывает подчиненную программу,
;состоящую из директивы MAIN и команды
;LDIR. Во включаемых файлах MAIN игнориру-
;ется, поэтому после ассемблирования LDIR
;происходит возврат в основную програму и
;продолжение компиляции.
──────────────────────────────────────────
7.
INCBIN "дисковод:имя файла"[,длина]
Включение в компилируемую программу кодо-
вого блока,записанного на диске под именем
"имя файла" размером "длина" байт или по
умолчанию из данных каталога.
Пример:
ORG #E000
LD HL,SCRFILE
LD DE,#4000
LD BC,6144
LDIR
RET
SCRFILE INCBIN "SCR6?7",6144
;По адресу SCRFILE в процессе компиляции
;будет загружен файл SCR6*7, который после
;запуска будет перенесен в экран.
──────────────────────────────────────────
8.
DUP число
Левая программная скобка. Указывает на на-
чало блока, который необходимо компилиро-
вать "число" раз подряд
EDUP
Правая программная скобка.Указывает на ко-
нец повторяемого блока.
Пример:
DUP 32
LDI
LD A,B
OR C
JR Z,$+3 ;$ - адрес первого байта
LD (HL),D ;компилируемой команды
EDUP
;Блок текста между DUP и EDUP будет отком-
;пилирован 32 раза
──────────────────────────────────────────
9.
DEFM "строка символов"[,"строка символов"]
Резервирование строки символов.
Пример:
DEFM "Здесь была строка символов"," ВАСЯ"
──────────────────────────────────────────
10. DB, DEFB
DEFB байт[,список байт]
Резервирование списка байт
Пример:
DEFB "У",13,10,"попа",13,10
DB "была",13,10,"собака",13,10
──────────────────────────────────────────
11. DW, DEFW
DEFW слово[,список слов]
Резервирование списка слов.
Пример:
DEFW ALASKA,BUFFER,12,#BD15,32767,.NUMB1
──────────────────────────────────────────
12. DS, DEFS
DEFS количество повторений[,список байт]
Список байт (по умолчанию - 0) копируется
в текущий адрес компиляции. Число циклов
равно параметру "количество повторений".
Пример:
LD SP,#5B00
DEFS 8,#C5,#D5,#E5,#F5
;эквивалентно
; DUP 8
; PUSH BC
; PUSH DE
; PUSH HL
; PUSH AF
; EDUP
──────────────────────────────────────────
13.
+<директива ассемблера>
При загрузке текста с диска он сканируется
на наличие в нем указателей "+" в начале
каждой строки. В процессе компиляции все
встреченные указатели "+"будут заменены на
"-", что укажет компилятору на отсутствие
необходимости компиляции строки при следу-
ющем ассемблировании. Пример:
LD HL,#DB00
+SAVEADR
+ ORG #DB00,7
+ INCBIN "sts7.5a"
+ORG SAVEADR
JP (HL)
;основной файл отладчика будет загружен
;только при первой компиляции текста,соде-
;ржащего эти команды.
──────────────────────────────────────────
14.
метка=выражение
Переприсвоение значения уже существующей
метки. Пример:
SHLUSS EQU 0
ORG 32768
DUP #4000
DEFW SHLUSS
SHLUSS=SHLUSS+1
EDUP
;вся память выше #8000 будет заполнена
;увеличивающимися словами от 0 до 16384
──────────────────────────────────────────
──────────────────────────────────────────
6. При компиляции исходного текста
возможна выдача ошибок времени компиляции,
связанных с невнимательностью программиста
Список ошибок времени компиляции
ассемблера ALASM
0 - синтаксическая ошибка;
1 - нет контакта с блоком питания;
2 - ошибка математического сопроцессора;
3 - короткий переход некорректен;
4 - обеденный перерыв;
5 - вода на системной плате;
6 - повторное описание метки;
7 - зарезервирована для DOS;
8 - зарезервирована для ROM-BASIC;
9 - зарезервирована для пользователя;
10 - компиляция в ПЗУ;
11 - недопустимая операция;
12 - неправильная MACRO-операция;
13 - не используется;
14 - ошибка системного стека;
15 - ошибка диска;
Ошибки времени заполнения:
wrong short - неправильное обращение к ме-
тке за пределами "короткого"
поля;
not defined - метка не определена.
──────────────────────────────────────────
──────────────────────────────────────────
7. ОПЦИИ МЕНЮ SETUP
┌──────────┐
│Save SETUP│
└──────────┘ Запись на диск всех парамет-
ров,измененных в SETUP за время последнего
сеанса работы.
Запись всех параметров производится
непосредственно в тело моноблока ALASM,по-
этому отсутствует необходимость создавать
и загружать отдельный файл SETUP при нача-
льной загрузке.У дублей ассемблера каждого
размера шрифта есть свое индивидуальное
имя, по которому и опознается моноблок. Не
рекомендуется его изменять,так как это мо-
жет привести к фатальному несоответствию.
┌───────────────┐
│Load FONT codes│
└───────────────┘ Загрузка с диска файла
шрифта. В зависимости от характера набира-
емой программы программисту может быть не-
обходимо использование альтернативного на-
бора символов, который в этом случае может
быть загружен с диска. При выборе этой оп-
ции в верхней части экрана появляется спи-
сок имеющихся файлов для данного размера
шрифта и мобильный курсор для выбора необ-
ходимого файла. Файлы шрифта опознаются по
длине и адресу начальной загрузки.
┌───────────┐
│KBD forming│ - пауза между двумя опросами
│KBD holder │ - защита от дребезга
│KBD wait │ - пауза перед автоповтором
└───────────┘ Установка констант,определя-
ющих параметры опроса клавиатуры. Величина
константы паузы между двумя опросами под-
бирается первой в зависимости от типа кон-
троллера клавиатуры или его отсутствия.Чем
выше ее значение,тем выше стабильность ра-
боты, но при этом возрастают задержки.
┌───────┐
│Russian│
└───────┘ Смена кодировки клавиатуры с на-
циональной на звуковую или наоборот.Нацио-
нальная кодировка(сокращенно - "ЙЦУК")удо-
бна для клавиатур, на которые она нанесена
по тем или иным причинам.Звуковая кодиров-
ка ("ЯВЕР")используется на компьютерах без
соответствующих подсказок, а вообще это -
дело привычки.
┌───────────┐
│Border │
│Ink │
│Paper │
│Bright │
└───────────┘ Установка цветов рамки и эк-
рана. Цвета, соответствующие цифрам, можно
найти в любой уважающей себя книге, посвя-
щенной Вашему компьютеру. Для дальтоников
большого значения не имеют.
┌───────┐
│Numbers│
└───────┘Смена системы счисления отобража-
емой на экране числовой информации(шестна-
дцатиричная/десятичная).
┌──────────┐
│Start page│
└──────────┘ Задание номера страницы,кото-
рая будет становиться текущей при запуске
ALASM.
┌───────────┐
│System page│
└───────────┘ Один из основных системных
параметров, указывающий, в какой странице
должен находиться ALASM вне сеанса работы
с ним.
┌───────────┐
│Symbol list│
└───────────┘ Номер страницы,в которой бу-
дет размещен список меток, полученный при
компиляции текста. Этот список может быть
использован после компиляции для получения
информации о метках пользователем или при
отладке для улучшения восприятия дизассем-
блированного участка памяти.
┌────────────┐
│Post symbols│
└────────────┘Номер страницы,в которой бу-
дет размещен список почтовых меток компи-
ляции. После того,как компиляция завершит-
ся,этот список не представляет из себя для
пользователя никакой информационной ценно-
сти.
┌───────────┐
│Pocket page│
└───────────┘ Страница,в которой размещае-
тся текстовая информация, запоминаемая во
время редактирования текста. Если параметр
"Pocket page" равен "Post symbols", то при
каждой компиляции содержимое кармана будет
разрушаться. В противном случае карман бу-
дет сохраняться на протяжении всего сеанса
работы.
┌────────┐
│Debugger│
└────────┘ В этой опции необходимо указы-
вать номер страницы,в которой Вы продпола-
гаете размещать основной файл отладчика.
При этом все команды,так или иначе свазан-
ные с ним, предварительно тестируют именно
эту страницу на наличие или отсутствие не-
обходимой опознавательной последовательно-
сти.
┌────────────┐
│HImem driver│
└────────────┘ При выборе этой опции Вам
предлагается считать с диска один из пред-
ложенных драйверов верхней памяти.Эти дра-
йвера отличаются только для компьютеров с
объемом памяти более 128 килобайт адреса-
цией старшего байта порта записи #FD и би-
тами, отвечающими за получение доступа к
дополнительной памяти. Файл драйвера опоз-
нается по длине и адресу начальной загруз-
ки.При инсталляции ALASMа необходимо подо-
брать тот драйвер памяти, который соответ-
ствует возможностям Вашего компьютера. О
специализации того или иного ддайведа не-
двусмыследдо угазывает его индивидуальное
имя,котодое можно пгочитать в каталоге ди-
ска.(АААРХХГГМММПППЩЩЩББББУУУУЭЭЭ!!! Прошу
прощения,- насморк). Формат драйвера можно
понять из прилагаемых исходных файлов.
──────────────────────────────────────────
──────────────────────────────────────────
8. В СЛЕДУЮЩИХ ВЕРСИЯХ
Существующая версия ALASMа не является по-
следней, так как пути усовершенствования
неисчислимы. Автор сделает все возможное,
чтобы сделать ассемблер еще более удобным
для пользователя. Список доработок,которые
следует ожидать в будущих версиях в первую
очередь:
- увеличение скорости компиляции еще на
18.3%;
- универсальный драйвер принтера;
- директивы условной компиляции;
- макрооперации и макроопределения;
- вывод меток не только по имени, но и по
значению;
- RAMDISK для файлов, подгружаемых с помо-
щью INCBIN;
- устранение недостатков,связанных с одно-
проходностью;
- увеличение памяти меток до 64 Кбайт (4
страницы);
- возможность просмотра неиспользованных
меток;
- запись на диск откомпилированного объек-
тного кода;
- директивы повтора по списку параметров;
- индикация номера строки в процессе реда-
ктирования текста;
──────────────────────────────────────────
──────────────────────────────────────────
9. ОТЛИЧИЯ ОТ ПРЕДЫДУЩИХ ВЕРСИЙ
Ниже указаны изменения внесенные в ALASM
после версии 2.5. Для уточнения смысла из-
менений смотрите выше по тексту.
- настройка системных данных размещения в
памяти и т.д.;
- перекодировка ЙЦУКЕН-ЯВЕРТЫ;
- значительное увеличение памяти меток за
счет сжатия данных;
- ускорение компиляции почти в 2 раза;
- возможность работы с расширенной памятью
любых компьютеров через конфигурируемые
драйвера;
- при загрузке файла можно не указывать
его имя,а выбирать курсором из списка;
- для перехода к редактированию файла, уже
находящегося в памяти, введен выбор кур-
сором из списка во всех режимах;
- вывод ошибок времени заполнения можно
остановить нажатием BREAK;
- возможность переприсвоения меток в про-
цессе компиляции;
- начиная с версии 3.0 ALASM не использует
прерывания;
- ускорен вывод строк на экран;
- возможность смены рабочей страницы без
выхода из EDIT;
- при сохранении строки в карман смещается
весь экран;
- файлы в селекторах расположены столбца-
ми
- введена возможность работы с отладчиком
в любой странице;
- установка адреса начала отладки устанав-
ливается однократно после каждой компи-
ляции;
- возможность установки в SETUP номера на-
чальной рабочей страницы текста,устанав-
ливаемой при запуске;
- введена команда записи на диск всех из-
мененных файлов;
- введена команда смены текущего дисковода
отдельно и при вводе имен файлов через
функцию 1 TRDOS;
- в конверторе UNICON введен транслятор
ALASM в текст;
- введена директива однократной компиляции
строк;
- введена команда сброса флага первой ком-
пиляции;
- введены"быстрые"клавиши с ускоренным ав-
топовтором;
- возможно конфигурирование констант опро-
са клавиатуры;
- по команде INFO индицируется признак из-
менения каждого файла;
- для всех размеров шрифта введены индиви-
дуальные холодные сообщения;
- при чтении файлов в SETUP они выбираются
курсором из списка.
и многое другое...
══════════════════════════════════════════
Редактировал в текстовом редакторе "THE
GIST" системы ALDOS
Мищенко Алексей Анатольевич (ALEM JERUS)
07.09.1997.
Адрес:Украина,310177,Харьков177,пр.Славы,7
Кв 17.
Телефон: (0572) 70-37-49.
Другие статьи номера:
Похожие статьи:
В этот день... 3 ноября