611 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			611 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| []========================================================================[]
 | ||
| *									   *
 | ||
| *    Описание Flex Navigator API v1.xx для разработчиков Flx-Plugins	   *
 | ||
| *	 		doc v0.4 от 13.07.2002				   *
 | ||
| *									   *
 | ||
| []========================================================================[]
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     ClearScreen - процедура отчистки 0-го экана нужным цветом.
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		A - цвет отчистки (00-0Fh)
 | ||
| 	на выход:
 | ||
| 		-
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     MakeWindow - процедура создания графического окна
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		(SP) - описатель окна
 | ||
| 	на выход:
 | ||
| 		-
 | ||
| 
 | ||
| 	сразу за вызовом этой процедуры в программе следует описатель окна.
 | ||
| 	возврат из процедуры происходит по адресу, следующему за описателем.
 | ||
| 
 | ||
| 	например:
 | ||
| 		call MakeWindow
 | ||
| 		...		; описатель окна
 | ||
| 
 | ||
| 
 | ||
|     описатель окна:
 | ||
| 	+00 (1) флаг вывода окна: 0 - без сохранения данных под окном
 | ||
| 				      (используется для полноэкранных окон)
 | ||
| 	                          1 - с сохранением данных под окном
 | ||
| 				      (используется для небольших окон)
 | ||
| 				  0x7F - восстановить данные под окном
 | ||
| 				 	 (флаг служит для закрытия
 | ||
| 					 текущего окна)
 | ||
| 	+01 (2) координата x для вывода (0 - 639)
 | ||
| 	+03 (2) координата y для вывода (0 - 255)
 | ||
| 	+05 (2) длина окна по x (0 - 639)
 | ||
| 	+07 (2) длина окна по y (0 - 255)
 | ||
| 
 | ||
| 	далее идут об'екты окна в формате:
 | ||
|             +00 (1) тип обекта
 | ||
| 	    +01 ... описатели обекта
 | ||
| 
 | ||
| 	    об'екты окна:
 | ||
| 	    0.	+00 (1) == 0 - конец списка об'ектов. после этого оконная
 | ||
| 	    		       функция возвращает управление.
 | ||
| 
 | ||
|             1.  +00 (1) == 1 - текстовая строка
 | ||
| 		+01 (2) смещение x от начала окна (0 - 639)
 | ||
| 		+03 (2) смещение y от начала окна (0 - 255)
 | ||
| 		+05 (1) цвет печати
 | ||
| 			(d7-d4 цвет background, d3-d0 цвет foreground)
 | ||
| 		+06 ... текстовая строка (конец строки - 0)
 | ||
| 
 | ||
| 	    2.	+00 (1) == 2 - заполнение прямоугольной плоскости
 | ||
| 		+01 (2) смещение x от начала окна (0 - 639)
 | ||
| 		+03 (2) смещение y от начала окна (0 - 255)
 | ||
| 		+05 (2) длина по x (0 - 639)
 | ||
| 		+07 (2) длина по y (0 - 255)
 | ||
| 		+09 (1) цвет заполнения
 | ||
| 			(d7-d4 цвет background, d3-d0 цвет foreground)
 | ||
| 
 | ||
| 	    3.	+00 (1) == 3 - отрисовка углублённой прямоугольной плоскости
 | ||
| 		+01 (2) смещение x от начала окна (0 - 639)
 | ||
| 		+03 (2) смещение y от начала окна (0 - 255)
 | ||
| 		+05 (2) длина по x (0 - 639)
 | ||
| 		+07 (2) длина по y (0 - 255)
 | ||
| 
 | ||
| 	    4.	+00 (1) == 4 - отрисовка выпуклой прямоугольной плоскости
 | ||
| 		+01 (2) смещение x от начала окна (0 - 639)
 | ||
| 		+03 (2) смещение y от начала окна (0 - 255)
 | ||
| 		+05 (2) длина по x (0 - 639)
 | ||
| 		+07 (2) длина по y (0 - 255)
 | ||
| 
 | ||
| 	    5.	+00 (1) == 5 - отрисовка кнопки с текстом
 | ||
| 		+01 (2) смещение x от начала окна (0 - 639)
 | ||
| 		+03 (2) смещение y от начала окна (0 - 255)
 | ||
| 		+05 (2) длина по x (0 - 639)
 | ||
| 		+07 (2) длина по y (0 - 255)
 | ||
| 		+09 (1) цвет печати
 | ||
| 			(d7-d4 цвет background, d3-d0 цвет foreground)
 | ||
| 		+10 ... текстовая строка (конец строки - 0)
 | ||
| 
 | ||
|                 Внимание! печать текста осуществляется с позиций
 | ||
|                 	  x + 4, y + 1
 | ||
| 
 | ||
| 	    6.	+00 (1) == 6 - отрисовка горизонтального разделителя
 | ||
| 		+01 (2) смещение x от начала окна (0 - 639)
 | ||
| 		+03 (2) смещение y от начала окна (0 - 255)
 | ||
| 		+05 (2) длина по x (0 - 639)
 | ||
| 
 | ||
| 	    7.	+00 (1) == 7 - отрисовка вертикального разделителя
 | ||
| 		+01 (2) смещение x от начала окна (0 - 639)
 | ||
| 		+03 (2) смещение y от начала окна (0 - 255)
 | ||
| 		+05 (2) длина по y (0 - 255)
 | ||
| 
 | ||
| 	    8.	+00 (1) == 8 - отрисовка левой кнопки скролбара  <-
 | ||
| 		+01 (2) смещение x от начала окна (0 - 639)
 | ||
| 		+03 (2) смещение y от начала окна (0 - 255)
 | ||
| 
 | ||
| 	    9.	+00 (1) == 9 - отрисовка правой кнопки скролбара ->
 | ||
| 		+01 (2) смещение x от начала окна (0 - 639)
 | ||
| 		+03 (2) смещение y от начала окна (0 - 255)
 | ||
| 
 | ||
| 	    10.	+00 (1) == 10 - отрисовка верхней кнопки скролбара ^
 | ||
| 		+01 (2) смещение x от начала окна (0 - 639)
 | ||
| 		+03 (2) смещение y от начала окна (0 - 255)
 | ||
| 
 | ||
| 	    11.	+00 (1) == 11 - отрисовка нижней кнопки скролбара
 | ||
| 		+01 (2) смещение x от начала окна (0 - 639)
 | ||
| 		+03 (2) смещение y от начала окна (0 - 255)
 | ||
| 
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     InvertRectan - процедура замены цвета прямоугольной плоскости
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		 HL - x	координата
 | ||
| 		 BC - y	координата
 | ||
| 		 HX - длина y
 | ||
| 		 LX - длина x
 | ||
| 		 D  - текущий цвет
 | ||
| 			(d7-d4 цвет background, d3-d0 цвет foreground)
 | ||
| 		 E  - нужный цвет
 | ||
| 			(d7-d4 цвет background, d3-d0 цвет foreground)
 | ||
| 	на выход:
 | ||
| 		-
 | ||
| 
 | ||
| 	к сожалению процедура не очень быстрая, поэтому большие
 | ||
| 	прямоугольники советую особо не инвертировать... ;)
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     PrnTxtLnIFF - процедура вывода текстовых строк на графический экран
 | ||
| 		  640x256 в режиме размерного по X шрифта
 | ||
| 	на вход:
 | ||
| 		HL - адрес текстовой строки (конец строки - 0)
 | ||
| 		DE - позиция вывода по X
 | ||
| 		BC - позиция вывода по Y
 | ||
| 		A  - цвет печати
 | ||
| 			(d7-d4 цвет background, d3-d0 цвет foreground)
 | ||
| 	на выход:
 | ||
| 		HL - адрес байта, следующего за строкой
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     PrnTxtLnNorm - процедура вывода текстовых строк на графический экран
 | ||
| 		   640x256
 | ||
| 	на вход:
 | ||
| 		HL - адрес текстовой строки (конец строки - 0)
 | ||
| 		DE - позиция вывода по X
 | ||
| 		BC - позиция вывода по Y
 | ||
| 		A  - цвет печати
 | ||
| 			(d7-d4 цвет background, d3-d0 цвет foreground)
 | ||
| 	на выход:
 | ||
| 		HL - адрес байта, следующего за строкой
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     PrnTxtLnNormC - процедура вывода текстовых строк на графический экран
 | ||
| 		    640x256 с известным числом символов
 | ||
| 	на вход:
 | ||
| 		HL - адрес текстовой строки
 | ||
| 		DE - позиция вывода по X
 | ||
| 		C  - позиция вывода по Y
 | ||
| 		B  - кол-во печатаемых символов
 | ||
| 		A  - цвет печати
 | ||
| 			(d7-d4 цвет background, d3-d0 цвет foreground)
 | ||
| 	на выход:
 | ||
| 		HL - адрес байта, следующего за последним символом
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     PrnRangPathL - процедура вывода досовских путей на графический экран
 | ||
| 		   640x256 в режиме размерного по X шрифта, прижатых к
 | ||
| 		   левому краю ( |-> )
 | ||
| 	на вход:
 | ||
| 		IX - кол-во пикселей под вывод строки
 | ||
| 		HL - адрес текстовой строки (конец строки - 0)
 | ||
| 		DE - позиция вывода по X
 | ||
| 		BC - позиция вывода по Y
 | ||
| 		A -  цвет печати
 | ||
| 			(d7-d4 цвет background, d3-d0 цвет foreground)
 | ||
| 	на выход:
 | ||
| 		-
 | ||
| 
 | ||
| 	процедура грамотно укорачивает досовский путь до нужного
 | ||
| 	размера путём замещения невлезающих директорий на ..\
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     PrnRangPathR - процедура вывода досовских путей на графический экран
 | ||
| 		   640x256 в режиме размерного по X шрифта, прижатых к
 | ||
| 		   правому краю ( <-| )
 | ||
| 	на вход:
 | ||
| 		IX - кол-во пикселей под вывод строки
 | ||
| 		HL - адрес текстовой строки (конец строки - 0)
 | ||
| 		DE - позиция вывода по X
 | ||
| 		BC - позиция вывода по Y
 | ||
| 		A -  цвет печати
 | ||
| 			(d7-d4 цвет background, d3-d0 цвет foreground)
 | ||
| 	на выход:
 | ||
| 		-
 | ||
| 
 | ||
| 	процедура грамотно укорачивает досовский путь до нужного
 | ||
| 	размера путём замещения невлезающих директорий на ..\
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     PrnRangPathC - процедура вывода досовских путей на графический экран
 | ||
| 		   640x256 в режиме размерного по X шрифта, отцентрированных
 | ||
| 		   относительно краёв ( <-|-> )
 | ||
| 	на вход:
 | ||
| 		IX - кол-во пикселей под вывод строки
 | ||
| 		HL - адрес текстовой строки (конец строки - 0)
 | ||
| 		DE - позиция вывода по X
 | ||
| 		BC - позиция вывода по Y
 | ||
| 		A -  цвет печати
 | ||
| 			(d7-d4 цвет background, d3-d0 цвет foreground)
 | ||
| 	на выход:
 | ||
| 		-
 | ||
| 
 | ||
| 	процедура грамотно укорачивает досовский путь до нужного
 | ||
| 	размера путём замещения невлезающих директорий на ..\
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     InputLine - процедура редактирования строки на графическом экране
 | ||
| 		640x256 в режиме размерного по X шрифта
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		IX - адрес описателя строки
 | ||
| 		HL - адрес описателя элементов экрана (для мышки)
 | ||
| 	на выход:
 | ||
| 		-
 | ||
| 
 | ||
|     описатель строки:
 | ||
| 	+00 (1) максимальная длина строки
 | ||
| 	+01 (1) флаг готовности
 | ||
| 	+02 (1) текущая X позиция курсора (инициализируется в InputLine)
 | ||
| 	+03 (1) текущая add_x (инициализируется в InputLine)
 | ||
| 	+04 (1) количество введенных символов /  длина строки
 | ||
| 	+05 (2) X позиция строки на экране
 | ||
| 	+07 (2) Y позиция строки на экране
 | ||
| 	+09 (2) X длина строки на экране
 | ||
| 	+0B (1) цвет строки (d7-d4 цвет background, d3-d0 цвет foreground)
 | ||
| 	+0C ... сама строка
 | ||
| 
 | ||
|     процедуры для таблицы элементов экрана:
 | ||
|     InpLnExtN - процедура нормального выхода из редакции
 | ||
|     InpLnExtC -	процедура выхода из редакции по cancel
 | ||
| 		(восстанавливает изначальную строку)
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     InitScrBar - процедура инициализации описателя скроллбара
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		IX - адрес описателя скроллбара
 | ||
| 	на выход:
 | ||
| 		-
 | ||
| 
 | ||
|     описатель скроллбара:
 | ||
|     	+00 (2) X позиция скролбара (0-639)
 | ||
|     	+02 (2) Y позиция скролбара (0-255)
 | ||
|     	+04 (2) длина скролбара
 | ||
|     	+06 (2) текущая длина скролбара (инициализируется в InitScrBar)
 | ||
|     	+08 (2) адрес ячейки, куда запишется начальная координата бара
 | ||
|     		если 0, то не используется
 | ||
|     		(используется для таблицы элементов экрана)
 | ||
| 	+10 (2) адрес ячейки, куда запишется конечная координата бара
 | ||
|     		если 0, то не используется
 | ||
|     		(используется для таблицы элементов экрана)
 | ||
| 	+12 (2) кол-во видимых элементов
 | ||
| 	+14 (2) общее кол-во элементов
 | ||
| 	+16 (2) первая видимый элемент
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     PrnHScrBar - процедура печати горизонтального скроллбара
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		IX - адрес описателя скроллбара (см. выше)
 | ||
| 	на выход:
 | ||
| 		-
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     PrnVScrBar - процедура печати вертикального скроллбара
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		IX - адрес описателя скроллбара (см. выше)
 | ||
| 	на выход:
 | ||
| 		-
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     InitProcess - процедура инициализации описателя процессбара
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		IX - адрес описателя процессбара
 | ||
| 	на выход:
 | ||
| 		-
 | ||
| 
 | ||
|     описателя процессбара:
 | ||
|     	+00 (2) X позиция процессбара (0-639)
 | ||
|     	+02 (2) Y позиция процессбара (0-255)
 | ||
|     	+04 (2) длина процессбара
 | ||
|     	+06 (2) коэффициент для процесса (инициализируется в InitProcess)
 | ||
|     	+08 (2) коррекция коэфициента (инициализируется в InitProcess)
 | ||
| 	+10 (4) максимум (инициализируется в InitProcess)
 | ||
| 	+14 (4) текущее (инициализируется в InitProcess)
 | ||
| 	+18 (1) цвет процессбара
 | ||
| 			(d7-d4 цвет background, d3-d0 цвет foreground)
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     PrnProcess - процедура печати процессбара
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		IX - адрес описателя процессбара (см. выше)
 | ||
| 	на выход:
 | ||
| 		-
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     ResFire - процедура ожидания, пока все кнопки мыши не будут отпущены
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		-
 | ||
| 	на выход:
 | ||
| 		-
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     TestCoords - процедура проверки координат мыши по таблице элементов
 | ||
| 		 зкрана
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		IX - адрес таблицы элементов зкрана
 | ||
| 	на выход:
 | ||
| 		-
 | ||
| 
 | ||
|     таблица элементов зкрана:
 | ||
| 	+00 (2) левая   x координата элемента
 | ||
| 	+02 (2) правая  x координата элемента
 | ||
| 	+04 (2) верхняя y координата элемента
 | ||
| 	+06 (2) нижняя  y координата элемента
 | ||
| 	+08 (2) флаги элемента
 | ||
| 	+10 (2) адрес обработчика при не нажатом огне
 | ||
| 	+12 (2) адрес обработчика при нажатом огне (левая кнопка)
 | ||
| 	+14 (2) адрес обработчика при нажатом огне (правая кнопка)
 | ||
| 
 | ||
| 	если +00 == 0x8000 это считается концом таблицы элементов зкрана
 | ||
| 
 | ||
| 	флаги элемента:
 | ||
| 	    d00 - элемент кнопка
 | ||
| 	    d01 - рабочая кнопка
 | ||
| 	    d02 - инверт
 | ||
| 	    d03 - статичный инверт
 | ||
| 	    d04 - программа запускается без адреса возврата без огня
 | ||
| 		  (т.е. при попадании курсора мыши в эту прямоугольную
 | ||
| 		  область удаляется адрес возрата со стека и осуществляется
 | ||
| 		  переход на адрес, который находиться в +10)
 | ||
| 	    d05 - программа запускается без адреса возврата по левой кнопке
 | ||
| 	    	  огня
 | ||
| 		  (т.е. при нажатии левой кнопки мыши над прямоугольной
 | ||
| 		  областью удаляется адрес возрата со стека и осуществляется
 | ||
| 		  переход на адрес, который находиться в +12)
 | ||
| 	    d06 - программа запускается без адреса возврата по правой кнопке
 | ||
| 	    	  огня
 | ||
| 		  (т.е. при нажатии правой кнопки мыши над прямоугольной
 | ||
| 		  областью удаляется адрес возрата со стека и осуществляется
 | ||
| 		  переход на адрес, который находиться в +14)
 | ||
| 	    d07 - вызвать функцию закрытия окна перед запуском программы без
 | ||
| 	    	  огня
 | ||
| 		  (т.е. при попадании курсора мыши в эту прямоугольную
 | ||
| 		  область удаляется последнее окно с экрана)
 | ||
| 	    d08 - вызвать функцию закрытия окна перед запуском программы по
 | ||
| 	    	  левой кнопке
 | ||
| 		  (т.е. при нажатии левой кнопки мыши над прямоугольной
 | ||
| 		  областью удаляется последнее окно с экрана)
 | ||
| 	    d09 - вызвать функцию закрытия окна перед запуском программы по
 | ||
| 	    	  правой кнопке
 | ||
| 		  (т.е. при нажатии правой кнопки мыши над прямоугольной
 | ||
| 		  областью удаляется последнее окно с экрана)
 | ||
| 	    d15 - это флаг: 1 - инверт при огне не убирать
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     SetCMOSPrint - процедура включения печати даты/время из CMOS
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		- будет описано позднее
 | ||
| 	на выход:
 | ||
| 		-
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     ResCMOSPrint - процедура выключения печати даты/время из CMOS
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		- будет описано позднее
 | ||
| 	на выход:
 | ||
| 		-
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     SetClock - процедура установки курсора мыши в часы
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		-
 | ||
| 	на выход:
 | ||
| 		-
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     SetMouse - процедура установки курсора мыши в нормальный курсор
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		-
 | ||
| 	на выход:
 | ||
| 		-
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     MoveBytes - процедура быстрого копирования памяти с помощью
 | ||
| 		акселлератора с увеличением адресов
 | ||
| 	на вход:
 | ||
| 		HL - откуда
 | ||
| 		DE - куда
 | ||
| 		BC - сколько
 | ||
| 	на выход:
 | ||
| 		HL - (откуда + сколько)
 | ||
| 		DE - (куда + сколько)
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     MoveBytesUp - процедура быстрого копирования памяти с помощью
 | ||
| 		  акселлератора с уменьшением адресов
 | ||
| 	на вход:
 | ||
| 		HL - откуда
 | ||
| 		DE - куда
 | ||
| 		BC - сколько
 | ||
| 	на выход:
 | ||
| 		HL - (откуда - сколько)
 | ||
| 		DE - (куда - сколько)
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     Mult8 - процедура беззнакового умножения 8 * 8 bit = 16 bit
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		E * C
 | ||
| 	на выход:
 | ||
| 		HL - результат
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     Mult16X8 - процедура беззнакового умножения 16 * 8 bit = 24 bit
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		DE * C
 | ||
| 	на выход:
 | ||
| 		A, HL - результат
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     Mult16 - процедура беззнакового умножения 16 * 16 bit = 16 bit
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		DE * BC
 | ||
| 	на выход:
 | ||
| 		HL - результат
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     Mult16X16 - процедура беззнакового умножения 16 * 16 bit = 32 bit
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		DE * BC
 | ||
| 	на выход:
 | ||
| 		HL, DE - результат
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     Mult32 - процедура беззнакового умножения 32 * 16 bit = 32 bit
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		HL, DE * BC
 | ||
| 	на выход:
 | ||
| 		HL, DE - результат
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     Divis16X16 - процедура беззнакового деления 16 / 16 bit = 16.16 bit
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		BC / DE
 | ||
| 	на выход:
 | ||
| 		BC - результат
 | ||
| 		HL - остаток
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     Divis24X16 - процедура беззнакового деления 24 / 16 bit = 8.16 bit
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		HL, C / DE
 | ||
| 	на выход:
 | ||
| 		A  - результат
 | ||
| 		HL - остаток
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     Divis32X16 - процедура беззнакового деления 32 / 16 bit = 16.16 bit
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		HL, DE / BC
 | ||
| 	на выход:
 | ||
| 		DE - результат
 | ||
| 		HL - остаток
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     Divis32 - процедура беззнакового деления 32 / 16 bit = 32.16 bit
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		HL, DE / BC
 | ||
| 	на выход:
 | ||
| 		HL, DE - результат
 | ||
| 		BC     - остаток
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     ConvNumTxt32 - процедура конвертации беззнакового числа 32 bit в текст
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		BC, HL - число 32 bit
 | ||
| 	        DE - адрес буфера
 | ||
| 	на выход:
 | ||
| 		DE - адрес следующего байта за числом
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     ConvNumTxt16 - процедура конвертации беззнакового числа 16 bit в текст
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		HL - число 16 bit
 | ||
| 	        DE - адрес буфера
 | ||
| 	на выход:
 | ||
| 		DE - адрес следующего байта за числом
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     ConvNumTxt8 - процедура конвертации беззнакового числа 8 bit в текст
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		A  - число 8 bit
 | ||
| 	        DE - адрес буфера
 | ||
| 	на выход:
 | ||
| 		DE - адрес следующего байта за числом
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     ConvTxtNum32 - процедура конвертации текста в беззнаковое число 32 bit
 | ||
| 
 | ||
| 	на вход:
 | ||
| 	        DE - адрес текста (конец строки - 0)
 | ||
| 	на выход:
 | ||
| 		HL, IX - число
 | ||
| 		C flag - ошибка
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     ConvTxtNum16 - процедура конвертации текста в беззнаковое число 16 bit
 | ||
| 
 | ||
| 	на вход:
 | ||
| 	        DE - адрес текста (конец строки - 0)
 | ||
| 	на выход:
 | ||
| 		HL     - число
 | ||
| 		C flag - ошибка
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
|     DOSError - процедура вывода окна ошибки (для дос ошибок)
 | ||
| 
 | ||
| 	на вход:
 | ||
| 		A - номер ошибки
 | ||
| 	на выход:
 | ||
| 		-
 | ||
| 
 | ||
| []------------------------------------------------------------------------[]
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 13 july 2002
 | ||
| Anton Enin (C) Copyright 2002 R-lab
 | ||
| если есть вопросы e-mail: r-lab@mail.ru или на спринтер форуме. | 
