B/BUF
B/BUF (читается «би-дробь-баф») — фортовское слово Каллисто. Константа, число байт в блочном буфере.
B/BUF ( -- 3072 ) Размер буфера. Число 3072.
Примитив B/BUF кладёт на стек число 3072, число байт в 3Кб буфере Каллисто.
Ввод слова B/BUF[править]
В режиме ЛАТ последовательно нажмите клавиши В/О P F ÷ Р-ГРД-Г В/О 3 П
История[править]
Название слова B/BUF происходит от английского «bytes per buffer», что переводится, как «байт в буфере».
В Форте в буфере было 1024 байта. Будьте внимательны при переносе старых программ на Каллисто. Если B/BUF используется не для получения числа байт в буфере, а просто для занесения в стек 1024, замените B/BUF на число 1024.
B/BUF в предыдущем стандарте Forth-83 (англ.)[править]
B/BUF -- 1024 "bytes-per-buffer" A constant leaving 1024, the number of bytes per block buffer.
B/BUF в стандарте Forth-79 (англ.)[править]
B/BUF -- 1024 "bytes-per-buffer" A constant leaving 1024, the number of bytes per block buffer.
B/BUF и B/SCR в fig-FORTH Release 1 glossary, май 1979 (англ.)[править]
B/BUF --- n This constant leaves the number of bytes per disc buffer, the byte count read from disc by BLOCK. B/BUF is the number of bytes read from the disc, usually one sector. B/BUF must be a power of two (64, 128, 256, 512 or 1024). B/SCR --- n This constant leaves the number of blocks per editing screen. By convention, an editing screen is 1O24 bytes organized as 16 lines of 64 characters each. Constant B/SCR has the value of the number of buffers per screen; i.e. 1024 / B/BUF.
Реализация[править]
Слово B/BUF делает шитый код короче и быстрее. B/BUF засылает в стек число 3072 в обход механизма литералов. Это также ускоряет время компиляции приложения, существенный плюс для Каллисто.
2698 ;#BDivBUF 2699 ; B/BUF ( −− 3072 ) Размер буфера в байтах. Число 3072. 2700 ; Многие древние программы для Форта ожидают, что эта константа равна 1024 и будут удивлены. 2701 ; Если это слово используется в чужой программе, её работоспособность на Каллисто надо проверять тщательней. 2702 LB3BUF: .DB 5 2703 .TEXT "B/BUF" ; ( −− 3072 ) 2704 .DW LCL0 2705 B3BUF: .DW SCONP, 3072
Советская реализация[править]
Описание и определение константы B/BUF в ядре ФОРТ-ЕС:
B/BUF * ->1024 ЧИСЛО БАЙТОВ В БЛОЧНОМ БУФЕРЕ 7 Экран номер 7 ( 09.09.86 КОНСТАНТЫ И СИСТЕМНЫЕ ПЕРЕМЕННЫЕ ) 1024 CONSTANT B/BUF ( ДЛИНА БУФЕРА ДЛЯ ЭКРАНА)
Вместо константы B/BUF 1K в FORTH ИТЭФ была константа 1K
Вот её определение:
HEAD 202Q,'1',313Q,BBUF,$CON ; BBUF DW 1024
Ссылки[править]
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |