Слово J

Материал из ПМК вики
Перейти к навигации Перейти к поиску

J (внешний счётчик, читается «джэй») — стандартное слово Каллисто.

J              ( −− U )                             Дать текущее значение счётчика внешнего цикла FOR.

Кладёт на стек данных значение счётчика внешнего цикла FORNEXT.

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

В режиме ЛАТ нажмите белую клавишу  8 

J в стандарте ANS Forth[править]

 6.1.1730   J                                                               CORE
        Интерпретация: Семантика интерпретации для этого слова не определена.

        Выполнение:( -- n|u )( R: loop-sys1 loop-sys2 -- loop-sys1 loop-sys2 )
            n|u - копия следующего-внешнего индекса цикла. Неопределенная 
            ситуация существует, если параметры управления цикла следующего-
            внешнего цикла, loop-sys1, недоступны.

 A.6.1.1730   J
 J может только использоваться со вложенными, DO...LOOP, DO...+LOOP, ?DO...LOOP, 
 or ?DO...+LOOP, например, в форме:

        : X ... DO ... DO ... J ... LOOP ... +LOOP ... ;

История[править]

J в предыдущем стандарте Forth-83 (англ.)[править]

         J            -- w                          C,79                 
              w is a copy of the index of the next outer loop.  May only
              be used within a nested DO-LOOP or DO-+LOOP in the form, for
              example:                              
                      DO ... DO ... J ... LOOP ... +LOOP

J в стандарте Forth-79 (англ.)[править]

J              -- n                          C,225
    Return  the index of the next outer loop.   May only  be  used
    within a nested DO-LOOP in the form:
         DO ... DO ... J ... LOOP ... LOOP

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

1835 I0:             MA M5
1836                 KRMA RME ∗ KRM5 + KM3  KGOTO9
1837 
1838 ;#J
1839 ; J                ( −− U )                             Значение счётчика внешнего цикла FOR.
1840 LJ:             .DB     1
1841                 .TEXT   "J"                     ; ( −− n )
1842                 .DW     LI
1843 J:              .DW     JJ                      ; Узнать значение переменной цикла из вложенного цикла.
1844 JJ:             4
1845 JJ0:            RM2 + GOTO I0

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

\ ================================================================
\ Циклы

CODE J   \ 94
\ Интерпретация: семантика неопределена.
\ Выполнение: ( -- n|u ) ( R: loop-sys -- loop-sys )
\ n|u - копия параметра следующего объемлющего цикла.
\ Неоднозначная ситуация возникает, если параметр недоступен.
      LEA EBP, -4 [EBP]
      MOV [EBP], EAX
      MOV EAX, 10 [ESP]
      SUB EAX, 14 [ESP]
      RET
END-CODE

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

Слово J в ФОРТ-ЕС было примитивом. Вот его описание и определение:

J      К  ->W TEKУЩEE ЗНАЧЕНИЕ W СЧЕТЧИКА ВТОРОГО               24
             ОБЪЕМЛЮЩЕГО ЦИКЛА "DO"

                     Экран номер 24
( 09.09.86 ЦИКЛЫ СО СЧЕТЧИКОМ: (DO/ I I' J   LEAVE)

CODE J  ( ->U ТЕКУЩЕЕ ЗНАЧЕНИЕ СЧЕТЧИКА 2-ГО ЦИКЛА)
      RW1 RFIRST 6 +(, LH, PUSHRW1 В, END-CODE

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


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


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