!CSP: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) Нет описания правки |
AtH (обсуждение | вклад) |
||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
'''!CSP''' — | '''!CSP''' — фортовское слово [[Каллисто]]. Сохранить указатель стека. | ||
!CSP ( −− ) Запомнить адрес вершины стека в CSP. | !CSP ( −− ) Запомнить адрес вершины стека в CSP. | ||
Запомнить адрес вершины [[Стек данных|стека]] в [[CSP]]. | Запомнить адрес вершины [[Стек данных|стека]] в [[CSP]]. | ||
Строка 14: | Строка 14: | ||
== Реализация == | == Реализация == | ||
<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 в ядре ФОРТ-ЕС: | Определение слова !CSP в ядре ФОРТ-ЕС: | ||
<PRE> | <PRE> | ||
Строка 32: | Строка 58: | ||
== Ссылки == | == Ссылки == | ||
* {{Исходник|StoreCSP|!CSP}} | * {{Исходник|StoreCSP|!CSP}} | ||
* См. слова [[CSP]], [[?CSP]] и [[?STACK]] | |||
Строка 38: | Строка 65: | ||
[[Категория:Слова Каллисто]] | [[Категория:Слова Каллисто]] | ||
[[Категория:Примитивы]] | [[Категория:Примитивы]] | ||
[[Категория:Обработка ошибок Каллисто]] | |||
[[Категория:Фортовские слова]] |
Текущая версия от 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
Ссылки[править]
- Исходный текст слова !CSP в Каллисто Классик 1.0
- См. слова CSP, ?CSP и ?STACK
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |