!CSP: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
 
(не показано 13 промежуточных версий этого же участника)
Строка 1: Строка 1:
'''!CSP''' — стандартное слово [[Каллисто]].
'''!CSP''' — фортовское слово [[Каллисто]]. Сохранить указатель стека.
!CSP          ( −− )                              Запомнить адрес вершины стека в CSP.
Запомнить адрес вершины [[Стек данных|стека]] в [[CSP]].


Запомнить адрес вершины [[Стек данных|стека]] в [[CSP]].
== Ввод слова !CSP ==
В [[Режим NUM|режиме NUM]] последовательно нажмите клавиши [[Клавиша П|{{Чёрная клавиша|П}}]]   [[Клавиша Р-ГРД-Г|{{Чёрная клавиша|Р-ГРД-Г}}]] [[Клавиша С/П|{{Чёрная клавиша|С/П}}]] [[Клавиша 1|{{Серая клавиша|1}}]] [[Клавиша 6|{{Серая клавиша|6}}]]


Для возврата в [[режим NUM]] нажмите [[Клавиша P|синюю клавишу {{Синяя клавиша|P}}]].


== !CSP в fig-FORTH Release 1 glossary, май 1979 (англ.) ==
== !CSP в fig-FORTH Release 1 glossary, май 1979 (англ.) ==
Строка 8: Строка 12:
         Save the stack position in CSP. Used as part of the compiler
         Save the stack position in CSP. Used as part of the compiler
         security.
         security.
== Реализация ==
<pre>
104 rrCSP          .EQU    1114                  ; 11114  CSP − контрольное хранение значения указателя стека
105 pCSP            .EQU      114
106 rlCSP          .EQU    1115
2293 ;#StoreCSP
2294 ; !CSP            ( −− )                              Запомнить адрес вершины стека в CSP.
2295 LSCSP:          .DB    4
2296                .TEXT  "!CSP"
2297                .DW    LCFA
2298 SCSP:          .DW    JSCSP
2299 JSCSP:          Cx EE 4 RM3 +
2300                ENT RME / KINT PPM rrCSP RME ∗ − PPM rlCSP
2301                KGOTO9
</pre>
Реализация из SP-Forth 4.20:
<pre>
: +CSP ( -> P)    \ Добавить уровень
  CSP @ DUP CELL+ CSP !
;
: !CSP ( -> )    \ Инициализировать уровень
  SP@ +CSP !
;
</pre>
=== Советская реализация ===
Определение слова !CSP в ядре ФОРТ-ЕС:
<PRE>
  !CSP      * ->                  ЗАПОМНИТЬ АДРЕС ВЕРШИНЫ СТЕКА В "CSP"  29
                    Экран номер 29
( 31.03.86 ПРОВЕРКИ И СИГНАЛИЗАЦИИ ОБ ОШИБКАХ )
: !CSP  ( ->)  SP@ CSP ! ;
</PRE>
В FORTH ИТЭФ слово !CSP было [[примитив]]ом, вот его определение:
<PRE>
            HEAD    204Q,'!CS',320Q,SCSP                ; !CSP
            MOV  WORD PTR [DI]+64Q,SP
            NEXT
</PRE>
== Ссылки ==
* {{Исходник|StoreCSP|!CSP}}
* См. слова [[CSP]], [[?CSP]] и [[?STACK]]




Строка 13: Строка 64:
{{заготовка}}
{{заготовка}}
[[Категория:Слова Каллисто]]
[[Категория:Слова Каллисто]]
[[Категория:Примитивы]]
[[Категория:Обработка ошибок Каллисто]]
[[Категория:Фортовские слова]]

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

!CSP — фортовское слово Каллисто. Сохранить указатель стека.

!CSP           ( −− )                               Запомнить адрес вершины стека в CSP.

Запомнить адрес вершины стека в CSP.

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

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

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

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

!CSP
       Save the stack position in CSP. Used as part of the compiler
       security.

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

 104 rrCSP           .EQU     1114                   ; 11114  CSP − контрольное хранение значения указателя стека
 105 pCSP            .EQU      114
 106 rlCSP           .EQU     1115
…
2293 ;#StoreCSP
2294 ; !CSP             ( −− )                               Запомнить адрес вершины стека в CSP.
2295 LSCSP:          .DB     4
2296                 .TEXT   "!CSP"
2297                 .DW     LCFA
2298 SCSP:           .DW     JSCSP
2299 JSCSP:          Cx EE 4 RM3 +
2300                 ENT RME / KINT PPM rrCSP RME ∗ − PPM rlCSP
2301                 KGOTO9

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

: +CSP ( -> P)    \ Добавить уровень
  CSP @ DUP CELL+ CSP !
;
…
: !CSP ( -> )     \ Инициализировать уровень
  SP@ +CSP !
;

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

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

  !CSP      * ->                   ЗАПОМНИТЬ АДРЕС ВЕРШИНЫ СТЕКА В "CSP"  29

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

: !CSP  ( ->)   SP@ CSP ! ;

В FORTH ИТЭФ слово !CSP было примитивом, вот его определение:

            HEAD     204Q,'!CS',320Q,SCSP                 ; !CSP
            MOV  WORD PTR [DI]+64Q,SP
            NEXT

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


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


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