Слово ERROR

Материал из ПМК вики
Версия от 20:48, 9 ноября 2017; AtH (обсуждение | вклад) (→‎Реализация)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

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

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


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


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