Platinum #01
08 августа 1996

********************************
     Программисту-новичку.      
Под данной рубрикой,будут публи-
ков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:


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

Similar articles:
Novella - Novella "UFO - Enemy Unknown" Part 2.1.
Advertising - advertising and announcements.
Mossad - the whole "truth" about the state of Israel's Secret Service "Mossad".
Toy Review - An overview of new game programs: CATCH 23
News - Video drive to the Spectrum - The Gate. Walker, GfxCon, Worms.

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