THRU
Перейти к навигации
Перейти к поиску
THRU — стандартное слово Каллисто. Загрузить несколько экранов.
THRU ( c1 c2 −− ) Интерпретировать экраны с номерами от c1 до c2 включительно.
Ввод слова THRU
В режиме ЛАТ последовательно нажмите четыре клавиши 2 ПП × 3
THRU в стандарте ANS Forth
7.6.2.2280 THRU BLOCK EXT ( i*x u1 u2 -- j*x ) LOAD последовательные блоки из запоминающего устройства с номерами с u1 по u2. Другое состояние стека из-за интерпретации слов с помощью LOAD.
История
THRU в предыдущем стандарте Forth-83 (англ.)
THRU u1 u2 -- M,83 Load consecutively the blocks from u1 through u2.
THRU в стандарте Forth-79 (англ.)
THRU n1 n2 -- Load consecutively the blocks from n1 through n2.
Реализация
3595 ;#THRU 3596 ; THRU ( c1 c2 −− ) Интерпретировать экраны с номерами от c1 до c2 включительно. 3597 LTHRU: .DB 4 3598 .TEXT "THRU" ; ( первый последний −− ) 3599 .DW LSEMIS 3600 THRU: .DW CALL, OVER,SUB,ONEP, XFOR,THRU2 3601 THRU1: .DW DUP,LOAD, ONEP, XNEXT,THRU1 3602 THRU2: .DW DROP, EXIT
Советская реализация
Описание и определение слова THRU в ФОРТ-ЕС:
THRU + +N1,+N2-> ИНТЕРПРЕТИРОВАТЬ ЭКРАНЫ С НОМЕРАМИ 41 ОТ +N1 ДО +N2 ВКЛЮЧИТЕЛЬНО Экран номер 41 ( 31.03.86 -TRAILING ' ['] [COMPILE] LOAD THRU ;S --> ) : THRU ( N1,N2->) ИНТЕРПРЕТИРОВАТЬ БЛОКИ ОТ N1 ДО N2) 1+ SWAP DO I LOAD LOOP ;
colorForth (cf2019.nasm 2019 Sep 14)
; : THRU ( f l -- ) 1+ SWAP DO I LOAD LOOP ; thru_: ; ( first last -- ) \ load from the first to the last block add _TOS_, 0x02 mov _SCRATCH_, _TOS_ _DROP_ ; TOS = first, SCRATCH = last mov ecx, _SCRATCH_ sub ecx, _TOS_ ; ecx = count jz .end ; exit if count is zero jc .end ; exit if count is negative shr ecx, 1 ; divide by 2, as we skip 2 blocks each time round the loop .back: _DUP_ _DUP_ ; just to be safe... push ecx push _SCRATCH_ call _load_ pop _SCRATCH_ pop ecx _DROP_ ; just to be safe... add _TOS_, 0x02 loop .back .end: _DROP_ ret
Ссылки
- Исходный текст слова THRU в Каллисто Классик 1.0
- Слово THRU в стандарте ANS Forth, набор слов BLOCK (англ.)
- Слово THRU в черновике Forth 200x (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |