DOT!

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.

DOT! (установить точку, читается «дот присвоить») — встроенное слово Каллисто.

DOT!           ( u1 u2 −− )                    Отобразить точку на индикаторе в колонке u1 строки u2.

Отображение точки на индикаторе. Позиция курсора не меняется. Для выбора цвета точки предварительно используйте примитив LIGHT (светлая точка) или DARK (тёмная точка).

Использование:  x y DARK DOT!  − вывод тёмной точки по координатам x и y

Ввод слова DOT!

В режиме ЛАТ последовательно нажмите клавиши  K   5   2     P   П 

Эти нажатия оставляют клавиатуру в режиме NUM.

История

Английское слово dot означает «точка». Восклицательный знак означает в Форте операцию присваивания.

Название резервирует имя DOT@ (отсутствующее в стандартной поставке) за словом, считывающим состояние точки на индикаторе.

Реализация

В Каллисто 1.0 слово DOT! это обёртка вокруг R9011, но порядок аргументов взят из colorForth. Атрибут вывода берётся из R9001.

1077 ;#DOTStore
1078 ; DOT!             ( c1 c2 −− )                         Отобразить точку на индикаторе в колонке c1 строки c2.
1079 ; Отображение точки на экране (R9011)
1080 ; x y DOT! − значения координат x и y
1081 ; Позиция курсора не меняется.
1082 ; Атрибут из R9001. Обёртка вокруг R9011, но порядок аргументов взят из colorForth.
1083 LPLOT:          .DB     4
1084                 .TEXT   "DOT!"                  ; ( X Y −− )
1085                 .DW     LDARK
1086 PLOT:           .DW     JPLOT
1087 JPLOT:          11 ENT                          ; 9011 Вывод точки
1088 JPL0:           9 EE 3 + M8                     ; В железном МК−161 после БП не нужен ENT
1089                 RM3 MB M5 2 + M3
1090                 KRMB KRM5 KM8
1091                 KGOTO9

Советская реализация

В FORTH ИТЭФ был примитив PIX для установки цветной точки на графическом экране, вот его определение:

             HEAD    203Q,'PI',330Q,PIX                   ; PIX
   ; COLCOD ROW COLUMN -->  -    запись графической точки
             POP   CX                  ; колонка
             POP   BX                  ; строка
             POP   AX                  ; код цветности
             PUSH  DX                  ; сохранение DX
             MOV   AH, 12
             MOV   DX, BX
             SUB   DH, DH
             INT   16                  ; запись графической точки
             POP   DX                  ; восстановление DX
             NEXT

Ссылки


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


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