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

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


: BLANK  ( A,U-> ) BL FILL ;
: BLANK  ( A,U-> ) BL FILL ;
</PRE>
В FORTH ИТЭФ слово BLANK называлось BLANKS и было [[примитив]]ом, который опирался на код [[примитив]]а [[FILL]]. Вот их определения:
<PRE>
            HEAD    204Q,'FIL',314Q,FILL                ; FILL
            POP  AX      ; Символ
  FLL:    POP  CX      ; Счетчик символов
            CMP  CX, 0
            JLE  DRP    ;
            POP  BX
  $REPE:  MOV  BYTE PTR [BX],  AL
            INC  BX
            LOOP $REPE
            NEXT
            ...
            HEAD    206Q,'BLANK',323Q,BLANK              ; BLANKS
            MOV  AX, 32
            JMP  FLL
</PRE>
</PRE>



Версия от 21:38, 27 марта 2016

BLANK (заполнить пробелами, читается «блэнк») — стандартное слово Каллисто.

Записывает n кодов пробела (32) в память, начиная с адреса a.

Ввод слова BLANK

В режиме ЛАТ последовательно нажмите клавиши  В/О      ШГ←   4   9 

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

17.6.1.0780   BLANK                                                      STRING
           ( c-addr u -- )
           Если u больше чем нуль, сохраняет символьное значение пробела в u 
           последовательных символьных позициях, начинающихся с c-addr.

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

     BLANK        addr u --                     83
          u bytes of memory beginning at addr are set to the ASCII
          character value for space.  No action is taken if u is zero.

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

BLANKS         addr n --                     152
    Fill  an area of memory over n bytes with the value for  ASCII
    blank,  starting at addr.  If n is less than or equal to zero,
    take no action.

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

BLANKS addr count --
       Fill an area of memory beginning at addr with blanks.

История

В программах, написанных для Форта-79 и более ранних, нужно исправить название слова на современное BLANK.

Реализация BLANK

Юрий Семёнов приводит следующее определение BLANK (стр. 27) через BL и более общее слово FILL:

: BLANK   BL FILL ;

Описание и определение слова BLANK в ядре ФОРТ-ЕС:

BLANK   +A,U-> ЗАСЛАТЬ ПРОБЕЛЫ В U БАЙТОВ ПО АДРЕСУ А           22

                     Экран номер 22
( 31.03.86   FILL ERASE BLANK COMPILE [ ] MIN MAX HEX DECIMAL)

: BLANK  ( A,U-> ) BL FILL ;

В FORTH ИТЭФ слово BLANK называлось BLANKS и было примитивом, который опирался на код примитива FILL. Вот их определения:

            HEAD     204Q,'FIL',314Q,FILL                 ; FILL
            POP  AX      ; Символ
   FLL:     POP  CX      ; Счетчик символов
            CMP  CX, 0
            JLE  DRP     ;
            POP  BX
   $REPE:   MOV  BYTE PTR [BX],  AL
            INC  BX

            LOOP $REPE
            NEXT
            ...
            HEAD     206Q,'BLANK',323Q,BLANK              ; BLANKS
            MOV  AX, 32
            JMP  FLL

Ссылки


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


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