SP@: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 8: Строка 8:
Эти нажатия оставляют клавиатуру в [[Режим NUM|режиме NUM]].
Эти нажатия оставляют клавиатуру в [[Режим NUM|режиме NUM]].


== SP@ в предыдущем стандарте Forth-83 (англ.) ==
== История ==
Это слово иногда называлось 'S (две литеры), но во всех стандартах, начиная с fig-Форта, получило устойчивое имя SP@ — под которым и вошло в [[Каллисто]].
 
Слово SP@ отсутствует в действующем стандарте ANS Forth и его нет в черновиках Форта-2012.
 
=== SP@ в предыдущем стандарте Forth-83 (англ.) ===
       SP@          -- addr                      79        "s-p-fetch"
       SP@          -- addr                      79        "s-p-fetch"
           addr is the address of the top of the stack just before SP@
           addr is the address of the top of the stack just before SP@
           was executed.
           was executed.


== SP@ в стандарте Forth-79 (англ.) ==
=== SP@ в стандарте Forth-79 (англ.) ===
  SP@            -- addr                      214        "s-p-fetch"
  SP@            -- addr                      214        "s-p-fetch"
     Return  the address of the top of the stack,  just before  SP@
     Return  the address of the top of the stack,  just before  SP@
     was executed.
     was executed.


== SP@ в fig-FORTH Release 1 glossary, май 1979 (англ.) ==
=== SP@ в fig-FORTH Release 1 glossary, май 1979 (англ.) ===
  SP@            --- addr
  SP@            --- addr
         A computer dependent proceedure to return the address of the stack
         A computer dependent proceedure to return the address of the stack
Строка 45: Строка 50:
             JMP  ENDA
             JMP  ENDA
</PRE>
</PRE>
== История ==
Это слово иногда называлось 'S (две литеры), но во всех стандартах, начиная с fig-Форта, получило устойчивое имя SP@ — под которым и вошло в [[Каллисто]].
Слово SP@ отсутствует в действующем стандарте ANS Forth и его нет в черновиках Форта-2012.


== Ссылки ==
== Ссылки ==

Версия от 19:28, 5 июня 2016

SP@ (считать SP, читается «эс-пи извлечь») — встроенное слово Каллисто.

SP@            ( −− a )                             Считать SP. Адрес текущей вершины стека данных.

Записывает в стек адрес вершины стека, до исполнения команды SP@

Ввод слова SP@

В режиме ЛАТ последовательно нажмите четыре клавиши  1   6     P   ИП 

Эти нажатия оставляют клавиатуру в режиме NUM.

История

Это слово иногда называлось 'S (две литеры), но во всех стандартах, начиная с fig-Форта, получило устойчивое имя SP@ — под которым и вошло в Каллисто.

Слово SP@ отсутствует в действующем стандарте ANS Forth и его нет в черновиках Форта-2012.

SP@ в предыдущем стандарте Forth-83 (англ.)

     SP@          -- addr                       79         "s-p-fetch"
          addr is the address of the top of the stack just before SP@
          was executed.

SP@ в стандарте Forth-79 (англ.)

SP@            -- addr                       214        "s-p-fetch"
    Return  the address of the top of the stack,  just before  SP@
    was executed.

SP@ в fig-FORTH Release 1 glossary, май 1979 (англ.)

SP@            --- addr
       A computer dependent proceedure to return the address of the stack
       position to the top of the stack, as it was before SP@ was executed.
           (e.g.  1  2  SP@  @  .   .   .     would
           type 2  2   1)

Реализация

Слово SP@ пришло в Каллисто из ФОРТ-ЕС и FORTH ИТЭФ, где также было примитивом. Вот описание и определение SP@ из ФОРТ-ЕС:

SP@     +   ->А АДРЕС ТЕКУЩЕЙ ВЕРШИНЫ СТЕКА ДАННЫХ              20

                     Экран номер 20
( 31.03.86    SP@ SP! RP@ RP! 2/ 2* 2@ 2! DEPTH )

CODE SP@ ( ->A) RW1 RSTACK LR, RW1 RFORTH SR, PUSHRW1 B,

Определение SP@ из FORTH ИТЭФ:

   ENDA:    PUSH AX
            NEXT
            ...
            HEAD     203Q,'SP',300Q,SPAT                  ; SP@
            MOV  AX, SP
            JMP  ENDA

Ссылки


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


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