Слово ↵: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Строка 43: Строка 43:
CODE  EMIT ( С-> ВЫВЕСТИ ЛИТЕРУ С КОДОМ С НА ТЕРМИНАЛ) END-CODE
CODE  EMIT ( С-> ВЫВЕСТИ ЛИТЕРУ С КОДОМ С НА ТЕРМИНАЛ) END-CODE
</PRE>
</PRE>
В FORTH ИТЭФ слово ↵ также было [[примитив]]ом и называлось RC, вот его определение:
<PRE>
            HEAD    204Q,'EMI',324Q,EMIT,$EMIT          ; EMIT
  $EMIT    LABEL  FAR
            POP  AX
  ENT$:    PUSH  AX
            MOV  AH, 15
            INT  16
            POP  AX
            MOV  AH, 14
            JMP  $EM
  PRINT:    MOV  DX, 0  ; Установка номера принтера
            SUB  AH, AH
            INT  23
            TES  AH, 51Q
            JE    OK
  ERR4:    MOV  AL, AH
            ADD  AL, 60Q
            MOV  AH, 14
            INT  16
            MOV  DX, OFFSET ERMES4
            MOV  AH, 9H
            INT  21H
            JMP  TYPE$
  ERMES4:  DB  ' PRINTER ERROR $'
            HEAD    202Q,'R',303Q,RC                    ; RC
            MOV  AX, 13
            JMP  ENT$
</PRE>
Метка OK находится в определении [[EMI]], это просто переход на NEXT


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

Версия от 10:16, 27 марта 2016

(возврат каретки, стрелка вниз с поворотом влево) — стандартное слово Каллисто.

↵              ( -- )                          Возврат каретки. Продолжить вывод с начала следующей строки.
Пример работы слова ↵

Вывести на терминал возврат каретки и перевод строки. Последующий вывод появится в начале следующей строки.

Ввод слова ↵

В режиме NUM последовательно нажмите две клавиши  F   В↑ 

CR в стандарте ANS Forth

6.1.0990   CR                                   "c-r"                      CORE
           ( -- )
           Заставляет последующий вывод появляться в начале следующей строки.

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

     CR           --                            M,79             "c-r"
          Displays a carriage-return and line-feed or equivalent
          operation.

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

CR                                           160              "c-r"
    Cause  a carriage-return and line-feed to occur at the current
    output device.

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

CR                                              L0
       Transmit a carriage return and line feed to the selected output
       device.

История

Слово CR является одним из наиболее старых и устоявшихся слов Форта.

CR появился в Форте в 1965 году, когда Чак Мур подрабатывал наёмным программистом в городе Нью-Йорк. Тогда появились миникомпьютеры, а с ними и терминалы. Интерпретатор был идеален для ввода с телетайпа и вскоре стал включать код для работы с выводом.

Реализация

Слово ↵ в ФОРТ-ЕС называлось CR и было примитивом. Вот его описание и опубликованная часть определения:

CR        -> ВЫВЕСТИ НА ТЕРМИНАЛ ПЕРЕВОД СТРОКИ                 6

                    Экран номер 6
( 09.09.86 KEY CR EMIT TYPE (EXPECT/ RBLK MBLK )
(  следующие определения дают только имена процедур)

CODE  EMIT ( С-> ВЫВЕСТИ ЛИТЕРУ С КОДОМ С НА ТЕРМИНАЛ) END-CODE

В FORTH ИТЭФ слово ↵ также было примитивом и называлось RC, вот его определение:

             HEAD    204Q,'EMI',324Q,EMIT,$EMIT           ; EMIT
   $EMIT     LABEL   FAR
             POP   AX
   ENT$:     PUSH  AX
             MOV   AH, 15
             INT   16
             POP   AX
             MOV   AH, 14
             JMP   $EM
   PRINT:    MOV   DX, 0   ; Установка номера принтера
             SUB   AH, AH
             INT   23
             TES   AH, 51Q
             JE    OK
   ERR4:     MOV   AL, AH
             ADD   AL, 60Q
             MOV   AH, 14
             INT   16
             MOV   DX, OFFSET ERMES4
             MOV   AH, 9H
             INT   21H
             JMP   TYPE$
   ERMES4:   DB   ' PRINTER ERROR $'

             HEAD    202Q,'R',303Q,RC                     ; RC
             MOV   AX, 13
             JMP   ENT$

Метка OK находится в определении EMI, это просто переход на NEXT

Ссылки


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


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