‗RW: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Строка 13: Строка 13:
== Пример реализации R/W из fig-Форта, симулирующий блоки в ОЗУ ==
== Пример реализации R/W из fig-Форта, симулирующий блоки в ОЗУ ==
  HEX
  HEX
  4000 CONSTANT LO ( START OF BUFFER AREA )
  4000 CONSTANT LO ( начало буферной области )
  6800 CONSTANT HI ( 10 SCREEN EQUIVALENT )
  6800 CONSTANT HI ( эквивалент 10 экранов )
  : R/W >R ( save boolean )
  : R/W >R ( сохранить boolean )
     B/BUF * LO + DUP
     B/BUF × LO + DUP
     HI > 6 ?ERROR ( range check )
     HI > 6 ?ERROR ( проверка диапазона )
     R> IF ( read ) SWAP ENDIF
     R> IF ( чтение ) ENDIF
     B/BUF CMOVE ;
     B/BUF CMOVE ;



Версия от 17:03, 9 сентября 2015

R/W — стандартное слово Каллисто. Конфликтует со словом R/W из стандарта ANS FORTH.


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

R/W           addr blk f --
       The fig-FORTH standard disc read-write linkage. addr specifies the
       source or destination block buffer, blk is the sequential number of
       the referenced block; and f is a flag for f=O write and f=l read.
       R/W determines the location on mass storage, performs the read-write
       and performs any error checking.


Пример реализации R/W из fig-Форта, симулирующий блоки в ОЗУ

HEX
4000 CONSTANT LO ( начало буферной области )
6800 CONSTANT HI ( эквивалент 10 экранов )
: R/W >R ( сохранить boolean )
    B/BUF × LO + DUP
    HI > 6 ?ERROR ( проверка диапазона )
    R> IF ( чтение ) ↔ ENDIF
    B/BUF CMOVE ;


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


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