Realtime #01
13 января 1996
  Софт  

POWER ASSEMВLER ALEX КLADOV ═══════════ Сегодня в разделе СИСTEMA Вы узна- ете, что из себя представляет ас- семблер PASM. Aссемблер PASM работает на компью- терах с оперативной памятью 48Кб. Конечно есть ассемблеры лучше PASM'а это TASM и MASM , но для их работы необходима оперативная память объе- мом не менее 128Кб. Кто из нас хоть раз в жизни не ра- ботал с GENS'ом или ZEUS'ом? Tе, кто работал с этими программами помнят , как много времени уходило на отладку программ . Все время пока Вы отлажи- вали программу Вам приходилось наби- рать сложные команды. Tекст в GENS'е разбит на пронумерованные строки . Чтобы что-то изменить приходилось отыскивать нужную строку коммандой LIST , а потом уже исправлять ее. PASM совсем другое дело. У ассем- блера PASM прекрасный интерфейс . Чтобы исправить любой символ в PASMе достаточно перевести курсор в пози- цию исправляемого символа и изменить его. Ну а теперь собственно о работе на PASM'е. Клавиши управления курсором: СS + 8 курсор вправо на одну по- зицию. СS + 5 курсор влево на одну по- зицию. СS + 7 курсор вверх на одну по- зицию. СS + 6 курсор вниз на одну по- зицию. СS + 9 табуляция. СS + 3 одна страница вверх,пере- мещение курсора на 22 строки вверх. СS + 4 одна страница вниз, пере- мещение курсора на 22 строки вниз. SS + Q курсор на начало строки. SS + W курсор на конец строки. SS + E курсор в начало текста программы. SS + U курсор в конец текста программы. Pабота с текстом: СS + 0 стирание символа и пере- мещение курсора влево. СS + 1 стереть правый от курсора символ. СS + 2 вставить пробел справа от курсора. переход на строку ниже от курсора. SS + I вставка пустой строку над курсором SS + Y стереть строку на которой находится курсор. SS + A пометить / снять метку с блока текста. SS + D стереть помеченный текст. SS + G скопировать текст из бу- фера. SS + F записать на диск содержи- мое буфера. SS + S найти последовательность символов в тексте , с возможностью их замены. После нажатия этого соче- тания клавиш появится запрос Find Whаt ? ( найти что ? ) , после этого нужно ввести последовательность сим- волов , которую Вы хотите найти. Эта последовательность может содержать от 0 до 32 символов . Когда Вы набе- рете нужную вам последовательность символов и нажмете на экране появится другой запрос Rеplаcе With? (Заменить чем ?) . Введите последо- вательность символов, на которую за- менятся символы , заданные Вами в запросе Find Whаt ? ( если Вы этого захотите). После того , как Вы набе- рете символы , нажимайте клавишу и программа начнет искать вниз от курсора последовательность , заданную в'Find Whаt' и если не най- дет, то программа выдаст сообщение 'Nоt fоund' ( Oтсутствует ). Но если программа найдет нужную Вам после- довательность , то курсор перейдет на начало в тексте этой последова- тельности и программа выдаст сообще- ние 'Rеplаcе this string ? Y/N/G/Q' (Заменить эти символы Да/Нет/Все/Вы- ход): Y (Да) - заменить эту последо- вательность и искать дальше. N (Нет)- не заменять эту по- следовательность и искать дальше. G (Все)- заменить все такие по- следовательности в тексте. Q (Выход) - выход из операции поиска и замены . Замечание : для работы директивы SS + S (Sеаrch) требуется наличие в тексте более одной строки. Директивы ассемблера PASM: ORG AДPEС ;начальный адрес ассем- блирования. ENT ; эта директива ассемблера указывает с какой строки в тексте будет стартовать программа в редак- торе после нажатия в основном меню клавиши R При работе на языке Aссемблер бы- вает удобно использовать директивы Oбъявления (Dеclаrаtiоn). В PASM'е для занесения в адрес 50000 числа N можно написать: ORG 50000 DВ N Tак же и с двухбайтным числом: ORG 50000 DW NN Для объявления текстовой строки ис- пользуется директива 'DS'. Tекстовое сообщение должно быть заключено в кавычки. Но в отличии от других ас- семблеров в PASM'е нет директивы"за- дать буфер" (DEFS). Эту директиву в ассемблере PASM заменяет директива DUP (Duplicаtе) совместно с директи- вами DВ и DW . Например для занесе- ния десяти нулей начиная с адреса 50000 надо написать: ORG 50000 DВ 0 DUP 10 Стоит заметить , что после DUP мо- жно оставлять только один пробел до числа, в противном случае Вы получи- те сообщение об ошибке. * - эта директива ассемблера пос- ле которой должно идти имя файла размером не более 8 символов.При ас- семблирование программы с директивой '*' с диска загружается текстовый файл (но не выводится на экран).Этот файл ассемблируется в соответствую- щие адреса . Например: ORG 50000 NOP *DOWN RET Сначало ассемблируется команда NOP, потом файл с именем DOWN , а следом за ним команда RET. Для установки начала комментария служит директива ';'. Например: LD НL,#4000 ; SСREEN Директива '$'- текущий адрес компи- лирования ( эту директиву можно при- менять в переходах JR и JP). Напри- мер: ORG 50000 50000 JR $+2 >------ 50002 NOP I 50003 RET <---------- Произойдет переход на RET. Ввод чисел: # - шестнадцатиричное % - двоичное ( %11111111=#FF=255 ) В выражениях с числами можно исполь- зовать знаки /,*,+,-. Например: LD НL,#4000+#FF Oсновное меню: Для входа в основное меню необходи- мо нажать клавишу или СS+SS. В основном меню Вам будут доступны следующие команды: С - Саt на экран выдается каталог диска , если каталог не уместится в одном экране, программа спросит 'Соnti- nuе ? Y/N' ( продолжить ? Да/Нет). G - Gеt Загрузить текстовый файл с диска. P - Put Записать текстовый файл на диск с рабочим именем. S - put аS Записать текстовый файл на диск , но в отличии от Put появится запрос имени. J - put оЬJ Записать на диск объ- ектный код. Z - Zаp Стереть текст редактируе- мого файла из памяти. O - Out Вывести на экран или на принтер название меток и сответствующие им адреса в порядке возрастания ад- реса. Для вывода на экран после запроса 'Printеr ? Y/N' (Принтер Да/Нет) на- жмите нужную клавишу. L - cоmpiLе Oткомпилировать текст программы в объектный код. R - Run Старт откомпилированной программы в редакторе . Eсли в программе нет ди- рективы ENT , то старт по команде RUN происходит с самого начала программы . Eсли же ENT присутствует в тексте программы , то старт будет производится со следующей после ENT комманды . В - Вуе Выход в Бейсик. Возврат в редактор из Бейсика по комманде RUN или RANDOMIZE USR 24500 . При возврате в редактор курсор будет в той-же са- мой позиции , в какой он был до команды ВYE. Для прекращение действий команд на- жимайте клавишу <ВREAК> или SS + СS ( Подольше нажимайте ). Xарактеристики ассемблера PASM v.2.3(48Кб) Необходимая для работы оперативная память - 48Кб. Количество символов в строке - 64. Aдрес начала текста редактируемой программы в памяти - 34649. Mаксимальный размер текста прог- раммы - 30884 Байта. Mинимальная длина метки - 2 симво- ла. Mаксимальная длина метки - 14 сим- волов ( метка должна начинаться с буквы , после метки надо обязательно ставить пробел , а внутри метки про- белов быть не должно ). Mинимальный адрес компилирования ORG - 35971. Недокументированные команды реали- зованы. Pабота с половинками регистров не реализована. Скорость ассемблирования - 500 строк в секунду. Mетки хранятся вместе с текстом. Стек перед запуском PASM'а должен быть установлен не выше 24499 . Служебная информация. (строка внизу экрана.) 30884 0000:0000:00 0000 0000 1 2 3 4 5 6 7 1) Количество свободной памяти для текста редактируемой программы. 2) Количество строк в тексте редак- тируемой программы. 3) На какой строке находится курсор 4) На каком столбце находится кур- сор. 5) Первая отмеченная строка. 6) Eсли пробел , то в буфере нет ни одной строки, если двоеточие,зна- чит в буфере есть строки. 7) Последняя отмеченная строка. Wоrk filе:UNTITLED имя рабочего файла , если имени нет, то UNTITLED. Eхеcutеs:50000 С какого адреса произойдет старт по- сле команды RUN в основном меню. Приятно отметить режим сохранения ресурсов монитора . К числу недостатков ассемблера мож- но отнести невозможность печати тек- ста программы на принтер. WARNING! Уважаемые читатели! Кто будет работать с этим ассембле- ром или уже работает! После моей ра- боты с PASM'ом у меня сложилось впе- чатление , что макросы в нем орга- низовать нельзя , но я в этом не уверен . ПOMOГИTE!!! На этом пожалуй стоит закончить описание ассемблера PASM . Пишите письма, звоните, уважаемые читатели . До скорой встречи!



Other articles:


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
Game - Description of the game "Shark".
Around the World - News from the MacWorld Expo.

В этот день...   21 November