Слово ERROR: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
 
(не показаны 22 промежуточные версии этого же участника)
Строка 1: Строка 1:
'''ERROR''' — стандартное слово [[Каллисто]].
'''ERROR''' — архаичное слово [[Каллисто]].
ERROR          ( c −− )                            Вывести сообщение об ошибке c и уйти в QUIT если ERB=0.
[[MESSAGE|Выдача сообщения об ошибке]] с номером c. [[QUIT|Уход на пульт]] [[Каллисто]], если [[ERB]]=0.


Диагностика ошибок Форт ИТЭФ
== Ввод слова ERROR ==
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] [[Клавиша ×|{{Серая клавиша|×}}]] [[Клавиша ×|{{Серая клавиша|×}}]] [[Клавиша 5|{{Серая клавиша|5}}]] [[Клавиша ×|{{Серая клавиша|×}}]]


== История ==
Минималистская система обработки ошибок FORTH ИТЭФ вошла в [[Каллисто|Каллисто 1.0]] с минимальными изменениями. При разработке [[Каллисто 2.0]] будет уделено много времени продумыванию новой системы обработки ошибок, с учётом последних стандартов Форта.


== ERROR в fig-FORTH Release 1 glossary, май 1979 (англ.) ==
=== ERROR в fig-FORTH Release 1 glossary, май 1979 (англ.) ===
  ERROR line --- in blk
  ERROR line --- in blk
         Execute error notification and restart of system. WARNING is first
         Execute error notification and restart of system. WARNING is first
Строка 16: Строка 21:
         the location of the error. Final action is execution of QUIT.
         the location of the error. Final action is execution of QUIT.


== Реализация ==
<pre>
3289 ;#ERROR
3290 ; ERROR            ( c −− )                            Вывести сообщение об ошибке c и уйти в QUIT если ERB=0.
3291 LERROR:        .DB    5
3292                .TEXT  "ERROR"                                ; ( номер −− ) Диагностика ошибок
3293                .DW    LNUMB
3294 ERROR:          .DW CALL                                        ; Уход в среду Каллисто, если ERB=0
3295 RERROR:        .DW HERE,COUNT,TYPE, PDOTQ
3296                .DB 3
3297                .TEXT " ? "
3298                .DW ERB,UAT, ZBRAN,XER
3299                .DW ERB,ZSTORE, DROP, EXIT
3300 XER:            .DW MESS, SPSTO, DISKOFF, BRAN,RQUIT            ; Каллисто также запрещает дисковые операции
</pre>


== Реализация ERROR ==
=== Советская реализация ===
Юрий Семёнов приводит следующее описание оператора ERROR через слово [[MESSAGE]] (стр. 93):
Юрий Семёнов приводит следующее определение оператора ERROR через слово [[MESSAGE]] (стр. 93):
   : ERROR  HERE COUNT TYPE ." ? "      ( распечатка содержимого
   : ERROR  HERE COUNT TYPE ." ? "      ( распечатка содержимого
                                           буфера слов)
                                           буфера слов)
Строка 26: Строка 46:
             ELSE MESSAGE                  ( сообщение об ошибке)
             ELSE MESSAGE                  ( сообщение об ошибке)
             !SP QUIT THEN ;    ( восстановление указателя стека)
             !SP QUIT THEN ;    ( восстановление указателя стека)
Определение слова ERROR в FORTH ИТЭФ:
<PRE>
            HEAD    205Q,'ERRO',322Q,ERROR,$COL          ; ERROR
            DW  HERE,COUNT,$TYPE,PDOTQ
            DB  3 , ' ? '
            DW  ERB,AT,ZBRAN,XER-$
            DW  ZERO,ERB,STORE,DROP,SEMI
  XER:      DW  MESS,SPSTO,QUIT
</PRE>
== Ссылки ==
* {{Исходник|ERROR|ERROR}}
* См. слова [[?ERROR]], [[ERB]] и [[MESSAGE]]
* См. также слова [[?COMP]], [[?CSP]], [[?EXEC]], [[?LOADING]], [[?PAIRS]] и [[?STACK]]




Строка 31: Строка 65:
{{заготовка}}
{{заготовка}}
[[Категория:Слова Каллисто]]
[[Категория:Слова Каллисто]]
[[Категория:Слова Каллисто без стековых диаграмм]]
[[Категория:Слова высокого уровня]]
[[Категория:Обработка ошибок Каллисто]]
[[Категория:Слова, способные вызывать авост приложения]]
[[Категория:Архаичные слова]]

Текущая версия от 20:48, 9 ноября 2017

ERROR — архаичное слово Каллисто.

ERROR          ( c −− )                             Вывести сообщение об ошибке c и уйти в QUIT если ERB=0.

Выдача сообщения об ошибке с номером c. Уход на пульт Каллисто, если ERB=0.

Ввод слова ERROR[править]

В режиме ЛАТ последовательно нажмите клавиши  ИП   ×   ×   5   × 

История[править]

Минималистская система обработки ошибок FORTH ИТЭФ вошла в Каллисто 1.0 с минимальными изменениями. При разработке Каллисто 2.0 будет уделено много времени продумыванию новой системы обработки ошибок, с учётом последних стандартов Форта.

ERROR в fig-FORTH Release 1 glossary, май 1979 (англ.)[править]

ERROR line --- in blk
       Execute error notification and restart of system. WARNING is first
       examined. If 1, the text of line n, relative to screen 4 of drive O
       is printed. This line number may be positive or negative, and beyond
       just screen 4. If WARNING=O, n is just printed as a message number
       (non disc installation). If WARNING is -l, the definition (ABORT) is
       executed, which executes the system ABORT. The user may cautiously
       modify this execution by altering (ABORT).
       fig-FORTH saves the contents of IN and BLK to assist in determining
       the location of the error. Final action is execution of QUIT.

Реализация[править]

3289 ;#ERROR
3290 ; ERROR            ( c −− )                             Вывести сообщение об ошибке c и уйти в QUIT если ERB=0.
3291 LERROR:         .DB     5
3292                 .TEXT   "ERROR"                                 ; ( номер −− ) Диагностика ошибок
3293                 .DW     LNUMB
3294 ERROR:          .DW CALL                                        ; Уход в среду Каллисто, если ERB=0
3295 RERROR:         .DW HERE,COUNT,TYPE, PDOTQ
3296                 .DB 3
3297                 .TEXT " ? "
3298                 .DW ERB,UAT, ZBRAN,XER
3299                 .DW ERB,ZSTORE, DROP, EXIT
3300 XER:            .DW MESS, SPSTO, DISKOFF, BRAN,RQUIT            ; Каллисто также запрещает дисковые операции

Советская реализация[править]

Юрий Семёнов приводит следующее определение оператора ERROR через слово MESSAGE (стр. 93):

 : ERROR   HERE COUNT TYPE ." ? "      ( распечатка содержимого
                                         буфера слов)
           ERB @         ( проверка состояния флага блокировки)
           IF 0 ERB ! DROP      ( обнуление ERB и удаление кода
                                  ошибки из стека)
           ELSE MESSAGE                  ( сообщение об ошибке)
           !SP QUIT THEN ;    ( восстановление указателя стека)

Определение слова ERROR в FORTH ИТЭФ:

             HEAD    205Q,'ERRO',322Q,ERROR,$COL          ; ERROR
             DW  HERE,COUNT,$TYPE,PDOTQ
             DB  3 , ' ? '
             DW  ERB,AT,ZBRAN,XER-$
             DW  ZERO,ERB,STORE,DROP,SEMI
   XER:      DW  MESS,SPSTO,QUIT

Ссылки[править]


  У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.


  Это заготовка статьи. Вы можете помочь проекту, дополнив её.