Hacker #07
10 марта 1997
  Софт  

 Теневой ассемблер ALASM 3.8с (part 1).               .СИСТЕМКИ 
                                                                
        Теневой макро ассемблер-отладчик ALASM v3.8с            
        Краткое описание функциональных возможностей.           
                                                                
                      Оглавление:                               
    1. РАСПРЕДЕЛЕНИЕ ПАМЯТИ                                     
    2. ХOЛOДНЫЙ ЗАПУСК                                          
    3. КОМАНДЫ СРЕДЫ АССЕМБЛЕРА                                 
    4. КОМАНДЫ РЕДАКТОРА                                        
    5. ДИРЕКТИВЫ АССЕМБЛЕРА                                     
    б. ОШИБКИ КOМПИЛЯТOРА                                       
    7. ОПЦИИ МЕНЮ SETUP                                         
    8. В СЛЕДУЮЩИХ ВЕРСИЯХ                                      
    9. ОТЛИЧИЯ 0Т ПРЕДЫДУЩИХ ВЕРСИЙ                             
                                                                
════════════════════════════════════════════════════════════════
                                                                
    1. РАСПРЕДЕЛЕНИЕ ПАМЯТИ                                     
   ALASM позволяет работать одновременно с несколькими текстами,
расположенными в разных страницах памяти пользователя. Переход  
от редактирования одной страницы к другой осуществляется вводом 
команды                                                         
PAGE [страница]                                                 
из рабочей строки асемблера. Количество текстов, которые может  
обрабатывать ALASM, зависит только от объема памяти компьютера. 
    Страницы в ассемблере нумеруются по маске максимального зна-
чения, передаваемого в драйвер расширенной памяти. При этом его 
младшие 3 бита соответствуют битам, передаваемым в порт #7FFD.  
                                                                
────────────────────────────────────────────────────────────────
────────────────────────────────────────────────────────────────
                                                                
    2. ХOЛOДНЫЙ ЗАПУСК                                          
   При запуске ассемблера из TR-DOS экран очищается и на нем по-
является авторское вступление, после чего проводится тест памяти
по всем восьми битам номера страницы драйвера. Его результаты   
выводятся на экран в виде   ХХХ кб   mask ХХ. Числа указывают,  
сколько памяти доступно ассемблеру на Вашем компьютере и какие  
биты номера страницы отвечают за доступ. По этим битам мас-     
кируется операнд команды PAGE и других команд.                  
   Ниже теста памяти выводится HELP, содержащий список команд   
ассемблера и его редактора. Горячие клавиши этих команд вынесены
в заглавный режим. Ниже предлагается нажать CS/0 для запуска    
SETUP. Запуск которого позволит вам изменить визуальные и конфи-
гуративные параметры работы ассебблера и, при желании, записать 
их на диск. Все изменения, внесенные в SETUP, записываются непо-
средственно в тело моноблока ассемблера "alasm.С". Функция за-  
пуска SETUP доступна только при холодном запуске.               
   После соответствующего сообщения нажатие любой клавиши приве-
дет к очистке экрана и выходу в рабочую строку ассемблера.      
                                                                
────────────────────────────────────────────────────────────────
────────────────────────────────────────────────────────────────
                                                                
    3. КОМАНДЫ СРЕДЫ АССЕМБЛЕРА                                 
   Среда ассемблера обладает собственной системой команд, боль- 
шинство которых совместимы с командами TASM2.0.                 
    Список этих команд может быть получен на экране нажатием    
клажиши "Н" (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                                                            
Формат: W0RK [drive:][filename[.ext]]                           
Загрузка файла в текущую рабочую страницу.                      
По умолчанию задается расширение "Н".                           
"filename" может представлять собой маску. В этом случае будет  
загружен первый файл, который ей удовлетворяет.                 
В случае, если параметр "filename" не введен, то пользователю   
предоставляется возможность выбрать файл из каталога текущего   
или указанного диска путем выбора его курсором из списка файлов,
появляющегося в верхнй части экрана.                            
                                                                
Catalogue                                                       
Формат: CATAL0GUE [drive:][mask]                                
По умолчанию задается "*.*" (все файлы).                        
Выводит на экран каталог диска.                                 
Формат маски определяется следующим образом:                    
знак "?" определяет, что в данной позиции может находиться      
любой символ. Знак "*" определяет, что, начиная с данной позиции
все символы могут принимать произвольные значения. При достижени
ограничителя (символ "." или конец строки) предполагается, что  
остальная часть строки заполнена символами "ПРОБЕЛ".            
                                                                
nUmbers                                                         
Формат: NUMBERS [параметр]                                      
Смена системы счисления отображаемой числовой информации. "Пара-
метр" представляет собой одно из двух выражений: "DEC" или "НЕХ"
                                                                
Name                                                            
Формат: NAME newfilename[.ext]                                  
Сменить имя файла на новое.                                     
По умолчанию задается расширение "Н".                           
"newfilename" - новое имя файла.                                
                                                                
Print                                                           
Формат: PRINT [bytes list]                                      
Выводит в порт ZX-LPRINT текущий текст, предварительно выводя   
указанный список байт. Байты указываются через запятую.         
                                                                
Edit                                                            
Формат: EDIT [дисковод:][имя файла]                             
Переход к редактированию файла в текущей странице. В случае,    
если задан параметр "имя файла", файл с таким именем загружа-   
ется в текущую страницу. Если же файл на диске не найден, в     
текущей странице создается новый файл с введенным именем.       
                                                                
Merge                                                           
Формат: MERGE [дисковод:]имя файла                              
Подгрузка текстового файла формата ALASM в конец текущего файла.
Параметр "имя файла" является обязательным.                     
                                                                
counT                                                           
Формат: C0UNT арифметическое выражение                          
Производит вычисление указанного арифметического выражения. Ре- 
зультат вычислений выводится в десятичной и шестнадцатиричной   
системах. В качестве параметров арифметического выражения могут 
использоваться метки, их старшие и младшие байты.               
                                                                
sYmbol                                                          
Формат: SYMB0L [маска]                                          
Вывод на экран списка меток, удовлетворяющих условию "маска".   
Команда выполняется только в случае, если до этого была произ-  
ведена компиляция. В качестве атрибута метки могут выводиться   
следующие сообщения:                                            
число - Значение метки, определенное при компиляции;            
NoDef - Метка не была определена, но была использована;         
Macro - Метка представляет собой имя блока макроопределения;    
Wrong - Формат метки не определен вследствие ошибок компиляции. 
                                                                
Assemble                                                        
Формат: ASSEMBLE                                                
Производит компиляцию текста в текущей странице, начиная с пер- 
вой строки. В процессе компиляции на экран выводится количество-
откомпилированных строк для контроля зависания машины.          
По окончании компиляции на экран выводятся сообщения:           
 Symbols: ААААА-ВВВВВ                                           
Указанная разность представляет собой количество свободной памят
в странице, отведенной под таблицу меток. В случае, если таблица
меток разведена по различным страницам, параметр ААААА указывает
адрес последней записи в P0ST SYMB0LS PAGE, а параметр ВВВВВ -  
в SYMB0L LIST PAGE;                                             
                                                                
Save                                                            
Формат: SAVE [+][дисковод:]                                     
Запись на диск отредактированного текста. При указании параметра
"+" на текущий или указанный дисковод записываются все файлы, у 
которых установлен маркер изменения. В противном случае на диск 
записывается текущий файл. В случае, если файл с таким именем на
диске уже существует, он удаляется без дополнительных запросов. 
                                                                
Info                                                            
Формат: INFO                                                    
Выдает на экран номер версии, список номеров системных страниц  
памяти и перечисление файлов, находящихся во всей памяти ком-   
пьютера на момент подачи команды.                               
                                                                
paGe                                                            
Формат: PAGE [номер страницы]                                   
Переход к странице, указанной в качестве параметра "страница".  
До следующего изменения параметра команды PAGE указанная страни-
ца становится текущей и все команды для текущих страниц будут   
выполняться над ней.                                            
                                                                
driVe                                                           
Формат: DRIVE дисковод:                                         
Указанный дисковод становится текущим и все команды для текущего
дисковода будут оперировать с ним.                              
                                                                
Jumb                                                            
Формат: JUMB [+]                                                
Эта команда заменяет в текущем файле все указатели однократной  
компиляции с "-" на "+". Если задан параметр, то будет просмо-  
трена вся память.                                               
                                                                
────────────────────────────────────────────────────────────────
────────────────────────────────────────────────────────────────
                                                                
    4. КОМАНДЫ РЕДАКТОРА                                        
    При входе в окно редактирования экран разбивается на две час
окно редактирования и информационная строка, в которой отображае
номер страницы текущего файла, его имя, количество свободной па-
мяти в этой странице и количество байт, перенесенных в карман   
(если это число не равно 0). В этой же строке обеспечивается под
ча сервисных команд обслуживания текста.                        
    В процессе редактирования пользователю доступны сервисные ко
манды обслуживания текста, однако в отличии от среды ассемблера,
результат их выполнения не отображается на экране в виде тексто-
вого сообщения, а контролируется самим пользователем.           
Список команд редактора асемблера ALASM:                        
                                                                
Quit                                                            
Формат: Q                                                       
Выход из редактора в среду асемблера.                           
                                                                
Begin                                                           
Формат: В                                                       
Переход к началу текста.                                        
                                                                
End                                                             
Формат: E                                                       
Переход к концу текста.                                         
                                                                
Search                                                          
Формат: SEARCH [строка символов]                                
Поиск строки символов по тексту. Поиск начинается с позиции, сле
дующей за текущей позицией курсора и продолжается до конца тек- 
ста. При остановке поиска он может быть продолжен путем ввода   
комбинации SS/I, причем если такая командя дана за концом послед
ней строки текста, поиск будет начат с его начала.              
Если параметр "строка символов" не указан, то будет использована
строка, введенная в предыдущий раз.                             
                                                                
sYmbol                                                          
Формат: SYMB0L [имя метки]                                      
Поиск описания метки по тексту. При поиске предполагается, что  
первый символ имени метки находится в нулевой позиции.          
Свойства - аналогично SEARCH.                                   
                                                                
coDe                                                            
Формат: C0DE ХХХ>[код символа]                                  
Установка в позицию курсора символа с произвольным кодом, наби- 
раемым на клавиатуре. При вводе команды появляется код символа, 
находящегося в текущей позиции курсора и предлагается заменить  
его на другой. Если параметр игнорировать, никаких действий     
произведено не будет.                                           
                                                                
Restore                                                         
Формат: R                                                       
Копирование содержимого кармана в позицию курсора. Строка, на   
которой находится курсор, оказывается первой после содержимого  
кармана. После этой операции сбрасывается флаг разрешения до-   
полнения кармана.                                               
                                                                
Clear                                                           
Формат: С                                                       
Очистка кармана.                                                
                                                                
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/SP- на экран выводится список файлов, в котором с помощью    
       курсора выбырается нужный для редактирования;            
                                                                
────────────────────────────────────────────────────────────────
────────────────────────────────────────────────────────────────
                                                                
    5. ДИРЕКТИВЫ АССЕМБЛЕРА                                     
    При написании компилятора Автор придерживался набора дирек- 
тив, принятых в TASM3.0. Директивы, не присутствующие в вышеука-
занном творении, выбраны в соответствии с международной практи- 
кой написания компиляторов языка ассанблера, т.е. с помощью     
фонаря и англо-русского словаря.                                
Список директив компилятора ALASM и их описание:                
                                                                
1.                                                              
        ORG адрес[,страница]                                    
Установка адреса компиляции. По умолчанию параметр "страница"   
задается равным 0. В качестве информации о текущем адресе ком-  
пиляции может использоваться символ "$", эквивалентный обраще-  
нию к зарезервивованной переменной, содержащей адрес первого    
байта команды, в которой произошло обращение.                   
Пример:                                                         
        ORG #7D19                                               
        LDIR                                                    
;LDIR записан по адресу #7D19                                   
        ORG #СОб9,#84                                           
        INDR                                                    
;INDR записан по адресу #СОб9 в странице #84 верхней памяти     
────────────────────────────────────────────────────────────────
2.                                                              
метка   EQU значение                                            
Присваивает метке значение, эквивалентное параметру "значение". 
Пример:                                                         
SCREEN  EQU #4000          ;SCREEN=#4000                        
ATTRS   EQU #5В00          ;ATTRS=#5В00                         
SCR_LEN EQU ATTRS-SCREEN   ;SCR_LEN=#1В00                       
────────────────────────────────────────────────────────────────
3. Опреации выделения старшего и младшего байтов слова:         
NUMB1   EQU #1234                                               
NUMB2   EQU #ABCD                                               
STBMLB  EQU .NUMB1*25б+'NUMB2  ;STBMLB=#ЗЧАВ                    
MLBSTB  EQU 'NUMB1*25б+.NUMB2  ;MLBSTB=#12CD                    
;Старайтесь избегать деления на 25б для получения старшего байта
;необходимого слова, так как деление занимает в 280 раз больше  
;времени, чем просто операция выделения старшего байта          
        DEFB 'NUMB2                                             
;Абсолютно эквивалентно, но намного быстрее, чем                
        DEFB NUMB2/25б                                          
;При задании байтового значения метки младший байт выделяется   
;автоматически                                                  
        DEFB .NUMB1                                             
;эквивалентно                                                   
        DEFB NUMB1                                              
;поэтому используется в основном для                            
        DEFW .NUMB1                                             
────────────────────────────────────────────────────────────────
4.                                                              
        DISP адрес                                              
Установка адреса, в котором должна работать программа.          
        ENT                                                     
Присвоение адресу работы программы текущего адреса компиляции.  
Пример:                                                         
SCREEN  EQU #4000                                               
        ORG #8000                                               
        LD HL,BEGIN          ;Пересылка в область экрана        
        LD DE,SCREEN         ;и запуск программы ожидания       
        LD ВС,END-BEGIN      ;[А] прерываний                    
        LDIR                                                    
        CALL SCREEN                                             
        DI                                                      
        HALT                                                    
BEGIN  DISP SCREEN                                              
MARKA   DEC А                                                   
        HALT                                                    
        JP NZ,MARKA          ;JP - не случайно                  
        RET                                                     
       ENT                                                      
END                                                             
────────────────────────────────────────────────────────────────
5.                                                              
        INCLUDE "дисковод:имя файла"[,страница]                 
Включение в компилируемый файл дополнительного текстового блока,
записанного на диске под именем "имя файла". При этом указанный 
файл загружается в страницу, определенную параметром "страница" 
(по умолчанию - текущая). По окончании компиляции включенного   
блока компиляция продолжается со строки, следующей после данной 
директивы. Особенностью данной директивы является то, что файл, 
указанный в ней, не будет загружаться с диска, если он уже нахо-
дится в необходимой странице.                                   
Пример:                                                         
        LDIR                                                    
        INCLUDE "T0KENIZE",1                                    
        0TDR                                                    
        INCLUDE "ALASM2"                                        
        HALT                                                    
;Сначала быдет откомпилирован LDIR, потом текст "T0KENIZE.Н",   
;загруженный в страницу 1, потом 0TDR, затем в текущую страницу 
;будет загружен и откомпилирован текст "ALASM2.Н", после чего   
;с диска будет считан основной файл и компиляция продолжится    
;с команды HALT.                                                
────────────────────────────────────────────────────────────────
б.                                                              
        MAIN "имя файла"[,страница]                             
Указание основного файла компиляции. Директива MAIN должна быть 
первой исполнимой директивой подчиненного файла.                
Будьте внимательны с именами файлов, содержащими символы "." или
"*". Лучше заменить их на символ "?".                           
Пример:                                                         
        MAIN "МАКEб?7",б                                        
        LDIR                                                    
;После подачи команды ASSEMBLE компиляция передается            
;программе МАКEб*7, находящейся в странице б,                   
;затем находящийся в ней INCLUDE вызывает подчиненную           
;программу, состоящую из директивы MAIN и команды LDIR.         
;Во включаемых файлах MAIN игнорируется, поэтому после ассембли-
;рования LDIR происходит возврат в основную програму и продолже-
;ние компиляции.                                                
────────────────────────────────────────────────────────────────
7.                                                              
        INCBIN "дисковод:имя файла"[,длина]                     
Включение в компилируемую программу кодового блока, записанного 
на диске под именем "имя файла" размером "длина" байт или по    
умолчанию из данных каталога.                                   
Пример:                                                         
        ORG #E000                                               
        LD HL,SCRFILE                                           
        LD DE,#4000                                             
        LD ВС,б144                                              
        LDIR                                                    
        RET                                                     
SCRFILE INCBIN "SСRб?7",б144                                    
;По адресу SCRFILE в процессе компиляции будет загружен файл    
;SСRб*7, который после запуска будет перенесен в экран.         
────────────────────────────────────────────────────────────────
8.                                                              
        DUP число                                               
Левая программная скобка. Указывает на начало блока, который нео
ходимо компилировать "число" раз подряд                         
        EDUP                                                    
Правая программная скобка. Указывает на конец повторяемого блока
Пример:                                                         
       DUP 32                                                   
        LDI                                                     
        LD А,В                                                  
        0R С                                                    
        JR Z,$+3  ;$ - адрес первого байта компилируемой команды
        LD (HL),D                                               
       EDUP                                                     
;Блок текста между DUP и EDUP будет откомпилирован 32 раза      
────────────────────────────────────────────────────────────────
9.                                                              
        DEFM "строка символов"[,"строка символов"]              
Резервирование строки символов.                                 
Пример:                                                         
        DEFM "Здесь была строка символов"," ВАСЯ"               
────────────────────────────────────────────────────────────────
10.                                                             
        DEFB байт[,список байт]                                 
Резервирование списка байт                                      
Пример:                                                         
        DEFB "У",13,10,"попа",13,10,"была",13,10,"собака",13,10 
────────────────────────────────────────────────────────────────
11.                                                             
        DEFW слово[,список слов]                                
Резервирование списка слов.                                     
Пример:                                                         
        DEFW ALASKA,BUFFER,12,#BD15,327б7,.NUMB1                
────────────────────────────────────────────────────────────────
12.                                                             
        DEFS количество повторений[,список байт]                
Список байт (по умолчанию - 0) копируется в текущий адрес компи-
ляции. Число циклов равно параметру "количество повторений".    
Пример:                                                         
        LD SP,#5В00                                             
        DEFS 8,#С5,#D5,#E5,#F5                                  
;эквивалентно                                                   
;      DUP 8                                                    
;       PUSH ВС                                                 
;       PUSH DE                                                 
;       PUSH HL                                                 
;       PUSH AF                                                 
;      EDUP                                                     
────────────────────────────────────────────────────────────────
13.                                                             
        +<директива ассемблера>                                 
При загрузке текста с диска он сканируется на наличие в нем     
указателей "+" в начале каждой строки. В процессе компиляции    
все встреченные указатели "+" будут заменены на "-", что ука-   
жет компилятору на отсутствие необходимости компиляции строки   
при следующем ассемблировании.                                  
Пример:                                                         
       LD HL,#DB00                                              
         +SAVEADR                                               
         +  ORG #DB00,7                                         
         +  INCBIN "stsЧ.2а"                                    
         +ORG SAVEADR                                           
       JP (HL)                                                  
;основной файл отладчика будет загружен только при первой ком-  
;пиляции текста, содержащего эти команды.                       
────────────────────────────────────────────────────────────────
14.                                                             
        метка=выражение                                         
Переприсвоение значения уже существующей метки.                 
Пример:                                                         
SHLUSS  EQU 0                                                   
        ORG 327б8                                               
       DUP #4000                                                
        DEFW SHLUSS                                             
SHLUSS=SHLUSS+1                                                 
       EDUP                                                     
;вся память выше #8000 будет заполнена увеличивающимися словами 
;от 0 до 1б384                                                  
────────────────────────────────────────────────────────────────
────────────────────────────────────────────────────────────────
                                                                
                                                                
    б. При компиляции исходного текста возможна выдача ошибок   
времени компиляции, связанных с невнимательностью программиста. 
                                                                
  Список ошибок времени компиляции                              
    ассемблера ALASM                                            
   0 - синтаксическая ошибка;                                   
   1 - зарезерворована;                                         
   2 - зарезервирована;                                         
   3 - короткий переход некорректен;                            
   4 - зарезервирована;                                         
   5 - зарезервирована;                                         
   б - повторное описание метки;                                
   1 - зарезерворована;                                         
   2 - зарезервирована;                                         
   3 - короткий переход некорректен;                            
   4 - зарезервирована;                                         
   5 - зарезервирована;                                         
   б - повторное описание метки;                                
   7 - зарезервирована;                                         
   8 - зарезервирована;                                         
   9 - зарезервирована;                                         
   10 - компиляция в ПЗУ;                                       
   11 - недопустимая операция;                                  
   12 - неправильная MACR0-операция;                            
   13 - не используется;                                        
   14 - ошибка системного стека;                                
   15 - ошибка диска;                                           
                                                                
Ошибки времени заполнения:                                      
wrong short - неправильное обращение к метке за пределами       
              "короткого" поля;                                 
пот defined - метка не определена.                              
                                                                
────────────────────────────────────────────────────────────────



Other articles:


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

Similar articles:
Music - BEST POP MUSIC.
Humor - Chilling story of a head of department and is accountable to his computer.

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