Слово ERROR

Материал из ПМК вики
Перейти к навигации Перейти к поиску

ERROR — фортовское слово Каллисто.

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

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

Ввод слова ERROR

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

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.

Реализация

Юрий Семёнов приводит следующее определение оператора 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

Ссылки


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


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