BUFFER

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

BUFFER — стандартное слово Каллисто.

Резервирует блок в памяти и приписывает ему номер u (как и BLOCK ), но сам блок с диска не считывается.


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

7.6.1.0820   BUFFER                                                       BLOCK
           ( u -- a-addr )
           a-addr - адрес первого символа блочного буфера назначенного блоку 
           u. Содержание блока не определено. Неопределенная ситуация 
           существует, если u - не доступный номер блока.
           Если блок u - уже в блочном буфере, a-addr - адрес этого блочного 
           буфера.
           Если блок u - уже не в памяти и есть свободный буфер, a-addr - 
           адрес этого блочного буфера.
           Если блок u - уже не в памяти и нет никаких свободных блочных 
           буферов, освобождает блочный буфер. Если для блока в этом буфере 
           было выполнено UPDATE, перемещает блок в запоминающее устройство. 
           a-addr - адрес этого блочного буфера.
           При завершении операции, блочный буфер указанный a-addr - текущий 
           буфер блоков и назначен на u.
       См.: 7.6.1.0800 BLOCK.


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

     BUFFER       u -- addr                     M,83
          Assigns a block buffer to block u.  addr is the address of
          the first byte of the block within its buffer.  This
          function is fully specified by the definition for BLOCK
          except that if the block is not already in memory it might
          not be transferred from mass storage.  The contents of the
          block buffer assigned to block u by BUFFER are unspecified.


Ссылки


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


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