ZX Power #01
11 октября 1996
  Софт  

Рабочий стол - Краткое описание: макро-ассемблера отладчика "ALASM 2.8".

<b>Рабочий стол</b> - Краткое описание: макро-ассемблера отладчика
                                
Теневой макро ассемблер-отладчик
     ALASM 128/512 v2.8      
Краткое описание функциональных 
        возможностей .          
                                
Оглавление :                    
                                
1. РАСПРЕДЕЛЕНИЕ ПАМЯТИ         
2. ХОЛОДНЫЙ ЗАПУСК              
3. КОМАНДЫ СРЕДЫ АССЕМБЛЕРА     
4. КОМАНДЫ РЕДАКТОРА            
5. ДИРЕКТИВЫ АССЕМБЛЕРА         
6. ОШИБКИ КОМПИЛЯТОРА           
7. В СЛЕДУЮЩИХ ВЕРСИЯХ          
________________________________
                                
1. РАСПРЕДЕЛЕНИЕ ПАМЯТИ      
 Позволяет pаботать одновременно
с несколькими текстами, располо-
женными в разных страницах памя-
ти пользователя . Переход от ре-
дактирования  одной  страницы  к
другой осуществляется вводом ко-
манды PAGE [страница] из рабочей
строки  асемблера .   Количество
текстов, которые может обрабаты-
вать ALASM , зависит  только  от
объема памяти компьютера . Стра-
ницы в ассемблере  нумеруются по
маске  максимального  значения ,
выводимого в порт #7FFD  для пе-
реключения страницы.            
                                
2. ХОЛОДНЫЙ ЗАПУСК           
 При   запуске   ассемблера   из
TR-DOS  экран очищается и на нем
появляется авторское вступление,
после чего проводится тест памя-
ти  по двум старшим и трем млад-
шим битам порта #7FFD .  Его ре-
зультаты выводятся  на  экран  в
виде XXX кб mask XX . Числа ука-
зывают , сколько памяти доступно
ассемблеру на Вашем компьютере и
какие  биты порта  записи  #7FFD
отвечают за доступ . По этим би-
там маскируется  операнд команды
PAGE. Ниже теста памяти выводит-
ся HELP , содержащий  список ко-
манд ассемблера и его редактора.
Горячие клавиши  этих команд вы-
несены в заглавный режим .  Ниже
предлагается нажать CS/0 для за-
пуска SETUP или получения допол-
нительной информации. Меню SETUP
позволит вам изменить визуальные
и  конфигуративные параметры ра-
боты ассемблера и, при желании ,
записать их на диск. Все измене-
ния, внесенные в SETUP , записы-
ваются  непосредственно  в  тело
моноблока ассемблера "alasm.C" .
Функции запуска  SETUP или полу-
чения дополнительной  информации
доступны только при холодном за-
пуске .  После  соответствующего
сообщения  нажатие любой клавиши
приведет к очистке  экрана и вы-
ходу в рабочую строку  ассембле-
ра.                             
                                
3. КОМАНДЫ СРЕДЫ АССЕМБЛЕРА  
 Среда  ассемблера обладает соб-
ственной системой команд , боль-
шинство которых совместимы с ко-
мандами TASM2.0. Список этих ко-
манд может быть получен на экра-
не нажатием клажиши  "H" (HELP).
Ввести  необходимую команду мож-
но, нажав латинскую букву , вхо-
дящую  в  состав  этой команды в
виде заглавной. При этом введен-
ная команда отображается в рабо-
чей строке, после чего, если это
необходимо, ждет ввода операндов
или , в  зависимости  от  назна-
чения ,  подтверждения  нажатием
ENTER. После  ввода команды  она
дублируется в рабочем  экране  и
выполняется. В случае некоррект-
ности  операндов выводится соот-
ветствующее  сообщение. Выполне-
ние  любой  команды  может  быть
прервано нажатием  BREAK. Если в
результате   выполнения  команды
может  быть потерян текст , то ,
если он  был изменен , выводится
запрос на его сохранение :  File
has been changed. Save (Y/N) ? В
систему команд  среды ассемблера
входят :                        
                                
Help                            
Формат :  HELP                  
  Вывод на экран списка команд ,
доступных  в ассемблере и редак-
торе. Команда  HELP  не содержит
операндов и не нуждается  в под-
тверждении нажатием ENTER.      
                                
Quit                            
Формат:  QUIT [адрес][,страница]
  Выход из ассемблера. В случае,
если параметры не заданы, проис-
ходит  выход через дно стека , в
противном  случае осуществляется
безусловный переход по указанно-
му  адресу. Параметр  "страница"
выводится в порт  #7FFD  с уста-
новкой бита 4  (по умолчанию за-
дается 0). В качестве параметров
"адрес" и "страница"  могут быть
использованы  метки или содержа-
щие их арифметические выражения.
                                
Debug                           
Формат :  DEBUG                 
  Выход в отладчик  STS. При от-
сутствии  в странице 7  монитора
выдается соответствующее сообще-
ние.  Если перед вводом этой ко-
манды был откомпилирован текст ,
то  в указатель  адреса  отладки
монитора будет записан адрес по-
следнего  ORG. При этом , набрав
в отладчике  SS/5 ,  Вы получите
возможность отлаживать свою про-
грамму, наблюдая на экране имена
меток по их адресам.            
                                
Run                             
Формат :  RUN [адрес][,страница]
  Выполняет те же действия , что
и команда  QUIT ,  но перед этим
заносит в стек адрес  возврата в
резидентный  модуль ассемблера ,
что  позволяет  вернуться  в ас-
семблер из запускаемой программы
по команде RET. По умолчанию па-
раметр  "адрес" принимает значе-
ние последней директивы  ORG , а
параметр "страница" - 0.        
                                
Work                            
Формат :  WORK [filename[.ext]] 
  Загрузка файла в текущую рабо-
чую  страницу.  По умолчанию за-
дается расширение "H"."filename"
может представлять собой  маску.
В  этом  случае  будет  загружен
первый файл, который ей удовлет-
воряет. В случае , если параметр
"filename" не введен, то пользо-
вателю  предоставляется  возмож-
ность выбрать  файл  из каталога
текущего  диска путем выбора его
курсором из списка файлов, появ-
ляющегося в верхнй части экрана.
                                
Catalogue                       
Формат :  CATALOGUE [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 ;    
        Time= XXX.XX            
 Это  число  представляет  собой
точное время компиляции текста с
точностью до сотых  долей секун-
ды.                             
                                
Save                            
Формат :  SAVE                  
  Текуший файл  записывается  на
диск. В случае , если файл с та-
ким именем  на диске уже сущест-
вует , он удаляется без дополни-
тельных запросов.               
                                
Info                            
Формат :  INFO                  
  Выдает на экран номер версии ,
список номеров системных страниц
памяти  и  перечисление файлов ,
находящихся во всей  памяти ком-
пьютера  на момент подачи коман-
ды.                             
                                
paGe                            
Формат :  PAGE [номер страницы] 
  Переход к странице , указанной
в качестве параметра "страница".
До следующего изменения парамет-
ра команды  PAGE указанная стра-
ница становится  текущей  и  все
команды  для текущих страниц бу-
дут выполняться над ней.        
                                
 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.        
                                
Line                            
Формат :  LINE номер строки     
  Устанавливает курсор на строку
с указанным номером.  Строки ну-
меруются с нулевой  и  до  конца
текста с приращением 1 на каждой
строке.                         
                                
  При   редактировании    текста
пользователю  доступны функции ,
вызываемые одновременным нажати-
ем двух клавиш.  Эти функции ус-
коряют работу  в  редакторе и не
имеют операндов :               
SS/I - продолжение поиска ;     
SS/D - переключение  русского  и
       латинского регистров вво-
       да текстовой  информации.
       Изменение  регистра инди-
       цируется   видоизменением
       нием курсора ;           
SS/Q - удаление  текущей строки.
       При  выполнении  этой ко-
       манды   удаляемая  строма
       автоматически переносится
       в  карман , но  только  в
       том  случае , если  он не
       был занят другой информа-
       цией ;                   
SS/W - вставка   пустой  строки.
       Текущая строка сдвигается
       вниз ;                   
SS/E - копирование текущей стро-
       ки  в  карман. После этой
       команды  курсор перемеща-
       ется на следующую строку;
CS/1 - табуляция ;              
CS/2 - вставка пробела в позицию
       курсора.  Остальная часть
       строки сдвигается вправо;
                                
5. ДИРЕКТИВЫ АССЕМБЛЕРА      
 При написании компилятора Автор
придерживался набора  директив ,
принятых в TASМ3.0.  Директивы ,
не  присутствующие в вышеуказан-
ном творении, выбраны в соответ-
ствии с международной  практикой
написания компиляторов языка ас-
семблера , т.е. с помощью фонаря
и англо-русского словаря. Список
директив компилятора  ALASM и их
описание :                      
                                
  1. ORG адрес[,страница]       
 Установка адреса компиляции. По
умолчанию  параметр   "страница"
задается  равным  0.  В качестве
информации о текущем адресе ком-
пиляции   может   использоваться
символ "$" , эквивалентный обра-
щению к зарезервивованной  пере-
менной, содержащей адрес первого
байта команды, в которой произо-
шло обращение. Пример:        
  
        ORG #7D19               
        LDIR                    
LDIR  записан  по  адресу  #7D19
        ORG #C069,#84           
        INDR                    
INDR записан по адресу  #C069  в
странице #84 512й памяти.       
                                
  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   
;[A] прерываний                 
          LDIR                  
          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, затем находящийся  в  ней IN-
CLUDE вызывает подчиненную прог-
рамму , состоящую  из  директивы
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 "Здесь была строка "  
     DEFM "символов"," ВАСЯ"    
                                
  10.   DEFB  байт[,список байт]
 Резервирование списка байт.    
Пример :                        
     DEFB "У",13,10,"попа",13,10
     DEFB "была",13,10,"собака" 
                                
  11.  DEFW  слово[,список слов]
 Резервирование списка слов.    
Пример :                        
     DEFW ALASKA,BUFFER,12,     
     DEFW #BD15,32767,.NUMB1    
                                
  12. DEFS количество повторений
      [,список байт]            
 Список байт (по умолчанию - 0 )
копируется в текущий  адрес ком-
пиляции. Число  циклов равно па-
раметру "количество повторений".
 Пример :                       
     LD    SP,#5B00             
     DEFS  8,#C5,#D5,#E5,#F5    
; эквивалентно                  
;    DUP 8                      
;    PUSH BC                    
;    PUSH DE                    
;    PUSH HL                    
;    PUSH AF                    
;    EDUP                       
                                
 6.ОШИБКИ КОМПИЛЯТОРА        
  При    компиляции    исходного
текста  возможна  выдача  ошибок
времени компиляции , связанных с
невнимательностью программиста. 
  Список ошибок времени компиля-
ции  ассемблера   ALASM128/512 :
0 - синтаксическая ошибка ;     
1 - зарезерворована ;           
2 - зарезервирована ;           
3 - короткий переход некорректен
4 - зарезервирована ;           
5 - зарезервирована ;           
6 - повторное описание метки ;  
7 - зарезервирована ;           
8 - зарезервирована ;           
9 - зарезервирована ;           
10 - компиляция в ПЗУ ;         
11 - недопустимая операция ;    
12 - неправильная MACRO-операция
13 - не используется ;          
14 - ошибка системного стека ;  
15 - ошибка диска ;             
                                
Ошибки времени заполнения :     
wrong short - неправильное обра-
  щение  к  метке  за  пределами
  "короткого" поля ;            
not defined - метка не определе-
  на.                           
                                
7. В СЛЕДУЮЩИХ ВЕРСИЯХ       
 Существующая версия  ALASMа  не
является последней, так как пути
усовершенствования  неисчислимы.
Автор  сделает  все  возможное ,
чтобы сделать ассемблер  еще бо-
лее  удобным  для  пользователя.
Список доработок, которые следу-
ет  ожидать в будущих  версиях в
первую очередь :                
- увеличение скорости компиляции
  более чем в 2 раза ;          
- возможность  настройки систем-
  ных данных ;                  
- увеличение возможностей конфи-
  гурирования ;                 
- поддрежка  режима  расширенной
  памяти  на всех  типах машин ;
- перекодировка  йцукен-яверты ;
- увеличение  плотности хранения
  текста  при сохранении совмес-
  тимости форматов версий сверху
  вниз ;                        
- директивы условной компиляции;
- макрооперации и макроопределе-
  ния ;                         
- вывод  меток не только по име-
  ни, но и по значению ;        
- RAMDISK для файлов , подгружа-
  емых с помощью INCBIN ;       
- устранение  недостатков , свя-
  занных с однопроходностью.    
                                
  Набрал  в  текстовом редакторе
ANACONDA  Мищенко  Алексей  Ана-
тольевич  ( ALEM ).  Адрес :    
Украина , 310177 , Харьков-177 ,
пр. Славы , 7. Кв 17.           
Телефон :  ( 0572 ) 70-37-49.   
________________________________



Другие статьи номера:

Железо - PC -> ZX : Подключение к Спектруму мультикарты.

Железо - Коммуникационный порт для Speccy.

Железо - О подключении AY MOUSE.

Интервью - Интервью взятое редакцией журнала у Cobra.

Ликбез - Пересылка память - память : мифы и реальность: Возможно ли перебросить экран быстрее чем за одно прерывание?

Обозрение - Apple: взгляд на прошлое и настоящее.

Обозрение - O компьютере "Silicon Graphics".

Обозрение - О специализированных БИС, которые создают неповторимость Amiga.

От авторов - Краткое описание возможностей оболочки.

От авторов - О истории создания журнала. Об овторах.

Отдохнем - А.Снижко "Великий ученый".

Отдохнем - Анекдоты ...

Отдохнем - Малая энциклопедия компьютерных существ.

Отдохнем - Советы первокурсснику или варианты конспектирования скучных лекций : конспект одного крутого студента ; глосарий.

Перспектива - "Hellraizer" (по мотивам книги А.Нортона "Королева Солнца").

Перспектива - Сценарий новой игры - ТЕСЕУС (THESEUS) часть 1: "В стальном лабиринте".

Рабочий стол - O возможностях нового коммандера "Win Commander 0.02".

Рабочий стол - Краткое описание: макро-ассемблера отладчика "ALASM 2.8".

Рабочий стол - Программа оцифровки звука "Digital Factory v1.0" (COVOX).

Разное - Вирусы на Спектруме и их обнаружение.

Разное - Результаты Enlight'96.

Реклама - Реклама и объявления.

Фантастика - Г.Гарисон (часть 1-3)

Фантастика - Д.Галеев "Воставшие в Мохляндии или плюшевая революция".

Фантастика - Фредерик Пол "Охотники".

Купить стероиды. Интернет магазин анаболических стероидов steroid-shop.com.ua.

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

Похожие статьи:
Проект года - презентация версии игры Robo от KT-soft/ETC.
real life - почему не дают бабы?
Итоги - Вот мы и выпустили второй номер "Zodiac'а".
Водолей - Программисты... с точки зрения подхода к работе.
Почта - о письмах

В этот день...   21 ноября