!CSP: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) Нет описания правки |
AtH (обсуждение | вклад) |
||
(не показано 13 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
'''!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
Ссылки[править]
- Исходный текст слова !CSP в Каллисто Классик 1.0
- См. слова CSP, ?CSP и ?STACK
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |