Графические устройства

         

Преобразование палитры bgr в 32разрядный код



Пример 7.19. Преобразование палитры bgr в 32-разрядный код

cnvpal: PushReg <ax,ex,di,si,es> ; сохранение содержимого регистров
les di, dword ptr GenOffs ; es:di = адрес таблицы цветов
modcol: movs word ptr [di], fs:[si]; копируем 2 младших байта
lods byte ptr fs:[si] ; читаем в регистр al третий байт
xor ah, ah ; очищаем старший байт регистра ах
stosw ; записываем 2 старших байта
loop modcol ; управление повторами цикла
PopReg <es,si,di,cx,ax> ; восстановление регистров
ret ; возврат из подпрограммы



Содержание раздела