(LINE): различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 44: Строка 44:
[[Категория:Слова Каллисто]]
[[Категория:Слова Каллисто]]
[[Категория:Работа с внешней памятью Каллисто]]
[[Категория:Работа с внешней памятью Каллисто]]
[[Категория:Слова Каллисто без стековых диаграмм]]

Версия от 22:13, 14 октября 2015

(LINE) — стандартное слово Каллисто.

Выдаёт адрес a и длину u строки L с экрана S.


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

(LINE)            n1 n2 --- addr count
       Convert the line number n1 and the screen n2 to the disc buffer
       address containing the data. A count of 64 indicates the full line
       text length.


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

     LINE         +n -- addr                    M
          addr is the address of the beginning of line +n for the
          screen whose number is contained in SCR .  The range of +n
          is {0..15}.


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

LINE           n -- addr
    Leave  the  address of the beginning of line n for the  screen
    whose number is contained in SCR.  The range of n is {0..15}.


Реализация (LINE)

Юрий Семёнов приводит следующее описание слова (LINE) (стр. 157):

 : (LINE)   >R           ( запись номера экрана в стек возврата)
            64 B/BUF ×/MOD  ( частное указывает, на каком экране
                              по отношению к первому лежит
                              нужный текст)
            R> +      ( запись в стек абсолютного номера экрана,
                           откуда будет проведено чтение строки)
            BLOCK +       ( считывание экрана в буфер и запись в
                            стек адреса начала нужной строки)
            64     ( в стеке адрес начала текста и длина строки)
            -TRAILING        ( из 64 вычитается число пробелов в
                               конце строки)
            ;                    ( всё готово для печати строки)


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


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