Слово J
Перейти к навигации
Перейти к поиску
J (внешний счётчик, читается «джэй») — стандартное слово Каллисто.
J ( −− U ) Дать текущее значение счётчика внешнего цикла FOR.
Кладёт на стек данных значение счётчика внешнего цикла FOR…NEXT.
Ввод слова 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
Ссылки
- Исходный текст слова J в Каллисто Классик 1.0
- См. слова R@, FOR, NEXT, UNLOOP, LEAVE, I и K
- Слово J и комментарий к нему в стандарте ANS Forth (англ.)
- Слово J и комментарий к нему в черновике Forth 200x (англ.)
- Счётчик цикла в Википедии
- The Philosophy of Fixed Point в книге Leo Brodie Starting Forth (англ.)
- Throw It For a Loop в книге Leo Brodie Starting Forth (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |