Теневой многотекстовый ассемблер-отладчик 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