Текущая версия |
Ваш текст |
Строка 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
| |
| Save the stack position in CSP. Used as part of the compiler
| |
| 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]]
| |
| | |
|
| |
|
| {{нет иллюстраций}} | | {{нет иллюстраций}} |
| {{заготовка}} | | {{заготовка}} |
| [[Категория:Слова Каллисто]] | | [[Категория:Слова Каллисто]] |
| [[Категория:Примитивы]]
| |
| [[Категория:Обработка ошибок Каллисто]]
| |
| [[Категория:Фортовские слова]]
| |