PAD
PAD (прокладка) — стандартное слово Каллисто.
PAD ( −− a ) Адрес буфера промежуточного хранения последовательности литер.
Кладёт на стек адрес буфера для промежуточного хранения последовательностей символов. Внимание, это не переменная!
Ввод слова PAD[править]
В режиме ЛАТ последовательно нажмите три клавиши 6 ШГ← K
PAD в стандарте ANS Forth[править]
6.2.2000 PAD CORE EXT ( -- c-addr ) c-addr - адрес временной области, которая может использоваться с целью хранения данных для промежуточной обработки. См.: 3.3.3.6 Другие временные области. A.6.2.2000 PAD PAD была доступна как рабочая память для строк начиная с самых ранних Forth реализаций. Было доведено до нашего внимания, что много программистов отказываются от использования PAD, опасаясь несовместимости в системном использовании. PAD конкретно предназначен как удобство для программиста, однако мы документировали факт, что никакие стандартные слова не используют его.
История[править]
Форт-79 требует PAD как минимум 64 байта. Форт-83 требует PAD как минимум 84 байта.
PAD в предыдущем стандарте Forth-83 (англ.)[править]
PAD -- addr 83 The lower address of a scratch area used to hold data for intermediate processing. The address or contents of PAD may change and the data lost if the address of the next available dictionary location is changed. The minimum capacity of PAD is 84 characters.
PAD в стандарте Forth-79 (англ.)[править]
PAD -- addr 226 The address of a scratch area used to hold character strings for intermediate processing. The minimum capacity of PAD is 64 characters (addr through addr+63).
PAD в fig-FORTH Release 1 glossary, май 1979 (англ.)[править]
PAD --- addr L0 Leave the address of the text output buffer, which is a fixed offset above v HERE.
Реализация[править]
Положение временного буфера PAD жёстко связано с верхней границей словаря, определяемой словом HERE
Размер PAD в Каллисто — 84 байта, если буфер растёт «вниз», в сторону младших адресов. Размер буфера PAD в сторону больших адресов относительно большой, буфер может расти вплоть до начала стека возвратов.
«Младшая» часть буфера используется Каллисто при форматном преобразовании целых чисел, а «большая» — при форматном преобразовании десятичных чисел.
3157 ;#PAD 3158 ; PAD ( −− a ) Адрес буфера промежуточного хранения последовательности литер. 3159 ; Положение временного буфера жёстко связано с верхней границей словаря, определяемой словом HERE 3160 LPAD: .DB 3 3161 .TEXT "PAD" 3162 .DW LNULL 3163 PAD: .DW CALL, HERE,LITB 3164 .DB 84 ; Размер PAD −− 84 байта 3165 .DW PLUS, EXIT
Реализация из SP-Forth 4.20:
USER-CREATE PAD ( -- c-addr ) \ 94 CORE EXT \ c-addr - адрес области для промежуточной обработки данных. 1024 CHARS TC-USER-ALLOT
Советская реализация[править]
Юрий Семёнов приводит следующее описание слова PAD (стр. 36):
: PAD HERE 68 + ;
У Баранова-Ноздрунова приводится следующее описание слова PAD (стр. 36):
: PAD ( ---> A ) HERE 100 + ;
В главе 9 Starting FORTH приводится следующее описание слова PAD:
: PAD HERE 340 + ;
Описание и определение слова PAD в ядре ФОРТ-ЕС:
PAD ->A ДАТЬ АДРЕС ТЕКУЩЕЙ ВЕРШИНЫ БУФЕРА PAD 37 Экран номер 37 ( 31.03.86 PAD HOLD ALPHA <# #> # #S SIGN ) : PAD ( ->A) HERE 100 + ;
Определение слова PAD в FORTH ИТЭФ:
HEAD 203Q,'PA',304Q,PAD,$COL ; PAD DW HERE,LIT,104Q,PLUS,SEMI
Ссылки[править]
- Исходный текст слова PAD в Каллисто Классик 1.0
- Слово PAD и комментарий к нему в стандарте ANS Forth (англ.)
- Слово PAD и комментарий к нему в черновике Forth 200x (англ.)
- ФУНКЦИОНИРОВАНИЕ ФОРТ-СИСТЕМЫ в книге Л.Броуди «Начальный курс программирования на языке Форт»
- Under the Hood в книге Leo Brodie Starting Forth (англ.)
![]() |
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
![]() |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |