?CSP

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

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

?CSP           ( −− )                               Сгенерировать ошибку 20, если указатель стека отличен от CSP.

Выдать ошибку "сбился указатель стека" если он не равен значению в CSP.

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

В режиме NUM последовательно нажмите клавиши  K     Р-ГРД-Г   С/П   1   6 

Для возврата в режим NUM нажмите синюю клавишу  P .

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

?CSP
       Issue error message if stack position differs from value saved in
       CSP.

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

3038 ;#qCSP
3039 ; ?CSP             ( −− )                               Сгенерировать ошибку 20, если указатель стека отличен от CSP.
3040 LQCSP:          .DB     4
3041                 .TEXT   "?CSP"
3042                 .DW     LQPAIR                  ; Выдать ошибку "сбился указатель стека" если он не равен значению в "CSP".
3043 QCSP:           .DW CALL, SPAT,CSP,UAT,SUB, LITB
3044                 .DB 20
3045                 .DW BRAN,RQERR

Реализация из SP-Forth 4.20:

: -CSP ( -> )     \ Убрать уровень
  CSP @ 1 CELLS - CSP !
;
…
: ?CSP ( -> )     \ Проверить выдержанность стека
  SP@ CSP@ <> 37 ?ERROR ( ABORT" Сбой стека по CSP !")
  -CSP
;

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

Описание и определение слова ?CSP в ядре ФОРТ-ЕС:

?CSP    * -> ВЫДАТЬ ОШИБКУ "СБИЛСЯ УКАЗАТЕЛЬ СТЕКА"             29
          ЕСЛИ ОН НЕ РАВЕН ЗНАЧЕНИЮ В "CSP"

                     Экран номер 29
( 31.03.86 ПРОВЕРКИ И СИГНАЛИЗАЦИИ ОБ ОШИБКАХ )

: ABORT"  ( F->)  COMPILE (A") ," ; IMMEDIATE

: ?CSP  ( ->)  SP@ CSP @ - ABORT" СБИЛСЯ УКАЗАТЕЛЬ СТЕКА" ;

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

             HEAD    204Q,'?CS',320Q,QCSP,$COL            ; ?CSP
             DW  SPAT,CSP,AT,SUB,LIT,24Q,QERR,SEMI

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


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


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