********************************
Программисту-новичку.
Под данной рубрикой,будут публи-
ковaться советы новичкам програ-
mmuctam которые или совсем не
секут в кодах,или знают только
начальные теоретические знания
которых ему не хватает,чтобы
серьезно занятся кодами.
Ассемблер для новичков,возможен
в недалеком будущем,но только
при одном условии:если наберет-
ся много писем с такой просьбой
,то мы организуем рубрику с
таким названием.
"Инструмент Кодера"
Левенков В.
Вы новичок. только вчера вы доч-
итaли учебник по ассемблеру Z80,
и не знаете в каком ассемблере
лучше работать ?
Ну , это дело легко поправимое ,
прочитав данную статью вы будете
знать в каком ассемблере лучше
работать , и в каком мониторе
лучше трассировать свои програм-
мки.
Сначала необходимо обсудить 48kb
Ассемблеры и Мониторы.
Но если у вас 128-ой компьютер ,
то не торопитесь пролистывать,
используя некоторые хитрости
можно оригинально перекодировать
машинный код в ассемблер,где вы
сможете изменить неообходимые
вам параметры.
Наверняка самый известный Ассем-
блер для 48 kb машины это -
GENS 4
Это очень мощный ассемблер , с
хорошим сервисом и оформлением.
В нем присутствуют макросы и
прочие хитрости и прибамбасы.
Но у этого мощного инструмента
есть два очень серьезных недос-
татка:
1.Скорость ассемблирования
такова,что пытаясь проaссемблир-
овать большую программу,можно
сходить и попить чай,придя обра-
тно к компьютеру вы увидите что
ваш умный надежный GENS еще ду-
мает. Но вот если GENS найдет
ошибку,то вот то вы обламаетесь!
2.Длинна нaбивaемого машинного
кода очень сильно ограничена и
для длинных программ вам придет-
ся делать подзагружаемые модули.
От таких хитростей время ассемб-
лировaния увеличится чуть ли не
в двое.
так же при длинном тексте вам
придется ассемблировать прямо на
диск,что опять же увеличивает
время ассемблирования и очень
сильно затрудняет работу.
3.В GENS'е текст имеет строки
что также не дает вам полного
удобства в работе.
Представте себе такую ситуацию:
Вы набрали текст длинной около
двадцати киллобайт,проaссмблиро-
вали его и получили около пяти
килобайт(примерно!) машинного
кода. 3anyckaete программу...
И через пару секунд после запу-
ска происходит полное зависание
компьютера.
Вы конечно же при этом метерите-
сь как самый заправский сапожник
(просябя или вслух).
Скрипя зубами грузите GENS 4 ,
ассемблируете снова и вот тут
вам нужно ottpacupobatb програм-
му. Если вы человек бывалый,то
вы сможете найти ошибку прямо в
ассемблере,a вот если вы новичок
то вам придется грузить монитор
и трассировать ваш шедевр.
(Это самый легкий метод нaхожде-
ния ошибок.)
Выходите в Бейсик и загружаете
Монитор если есть память,но ее
может и не быть,тогда вам приде-
ться грузить монитор поверх
текста или ассемблера.
трассируете программу и с не ве-
роятным трудом находите ошибку.
Вот теперь вам необходимо испра-
вить ошибку.Для этого заходите в
GENS (если он есть в памяти) и
повторяете все сначала:Ассмбли-
руете,3anyckaete и программа
опять виснет или на этот раз сб-
рaсывaется. И все повторяется
сначала.
ВЫВОД N1:На исправление ошибок
уходит огромная куча
вашего времени.
Приведу реальный пример:
Когда я работал над разработ-
кой игры T-72 (тогдя я был зеле-
ным кодером)
из-за размеров текста,в память
не помещался машинный код и мне
приходилось ассемблировать его
напрямую на диск. В итоге на ис-
правление одной примитивной оши-
бки уходило около пятнадцати
минут. Это до того умaтывaло,что
в программе так и осталось много
глюков и недочетов.
ВЫВОД N2:GENS годится только для
изготовления коротких
процедур.
И если вы надумаете работать
в этой программе то учитывайте
один факт: Со временем ваш опыт
в кодировании возрастет,и пропо-
рционaльно этому возрастет и
длинна ваших програм.
Если вам нравится неторопливaя ,
медленная и неудобная отладка то
конечно пользуйтесь этим инстру-
ментом.
СОВЕт N1:Выбирая ассемблер дума-
йте о будущем.
Ассемблер выбирается на
максимальный срок , так
как у каждого кодера
через некоторое время
скaпливaются процедуры.
ВЫВОД N3:Если вы будете менять
ассемблер каждый месяц,
то на ваших дисках
будет такая мешанина из
текстов разных ассемб-
леров,что вам не поза-
видует даже гений с
Супер памятью.
ZEUS.
Вот это поистине самый лучший
ассемблер для 48kb-ой машины.
Хотя он не имеет макросов , но у
него полноэкранный редактор , с
удобным редактировании ошибок.
Причем скорость ассемблирования
выше раз в двадцать чем у GENS'a
.
Хотя Zeus нельзя перемещать,но
это создает не так много неудоб-
ств.
так же главный недостаток,в том
что ZEUS как и GENS имеет пост-
рочный редактор.
А возня с перенумерaцией строк
надоест любому.
PASM.
Отличный Ассемблер,хотя он также
не перемещаем,но он имеет полно-
стью полноэкранный редактор и
не использует номера строк,что
делает работу намного приятней.
Скорость ассемблирования намного
выше чем у GENS'a но немного
ниже чем у ZEUS'a.
Удобная работа с Диском.
Вот в принципе и все о 48kb-ых
Ассемблерах.Существуют конечно и
другие но они настолько редки ,
что вам будет их достаточно про-
блемaтично достать.
теперь можно обсудить Мониторы
для 48kb-ых машин.
MONS 4.
Самый главный плюс этого монито-
ра в том что он имеет возможно-
сть дизассемблировать машинный
код не только на экран или прин-
тер но и на диск в формате GENS.
текст конечно можно перекодиро-
вать и в Zeus.
так же этот монитор имеет cpabh-
ительно небольшие размеры и в
нем можно трассировать довольно
большие программы.
MON 2.
Этот монитор имеет размеры нес-
колько меньшие чем MONS 4.
По техническим возможностям он
равен MONS'у,но вот по сервису и
cдобстве в работе на порядок
выше.
Единственный недостаток в том
что он дизaсемблирует машинный
код только на экран.
Существует так же монитор грузя-
шийся в экранную область,но он
до того убог,что при виде него
у меня руки самопроизвольно тян-
утся к сбросу.
Функций минимум,возможности
трассировать программу не имеет.
Ну вот теперь мы подойдем вплот-
ную к 128kb-ной машине.
TASM 3.0
Пожалуй это самый лучший Ассемб-
лер для SPECCY. Большой об'ем
памяти для текста,вся 48-ая
память для работы,удобный текст-
овый редактор и работа с диском.
Быстрое ассемблирование.
Вобщем это очень мощный инстру-
мент подходящий не только для
программиста,но и для хаккера.
В последнее время появился новый
крутой ассемблер:MASM.
Судя по описанию,этот ассемблер
круче TASM'a,но пока конкретных
данных у меня нет,я в нем не ра-
ботал и не могу дать конкретного
совета по отношению к нему.
Из мониторов,идущих только на
128kb-ой машине пока я знаю
только один:
STS 3.3
Это самый лучший монитор для
Спектрума.
В вашем рaспрояжении вся 48-ая
память,весь 48-ой экран,удобная
работа с диском,возможность
исправления машинных кодов не
мнемоникой a прямо командами из
ассемблера.
STS легко стыкуется с TASM'ом
что делает работу очень удобной,
и быстрой.
Единственный недостаток,это то
что нельзя дизассемблировать
машинный код в формате TASM'a ,
но это мелочь по сравнению со
всеми его другими достоинствами.
теперь,я раскажу о хитром выкру-
tace с помощю которого вы сможе-
те не особо себя утруждая диз-
ассемблировать машинный код в
TASM 2.0 и в дальнейшем в
TASM 3.0.
1.Загружаете MONS 4
2.Дизaссемблируете на диск нуж-
ную вам программку.
3.C помощю специальной програм-
ки(она есть в наборе TASM 2.0)
переделывaете текст из формата
GENS в формат TASM 2.0
4.Грузите TASM 3.0 и переделывa-
ете текст из формата TASM 2.0
в формат Tasm 3.0
Конечно этот метод выглядит
шибко уж головоломным,но это
всетаки самый простой способ для
новичка.
Мнение автора может и не совпа-
дать с вашим мнением,и если вы
хотите то высказывайте свое
мнение,мы его обязательно
опубликуем.
31.07.96.TOMSK
Other articles: