Лабораторная работа: Бібліотека ASM-86 для перегляду графіки в стандартах BMP та PCX
setvideo($5f); {устанавливает видеорежим 640x480 256 цветов}
if pos('.pcx',paramstr(i))>0 then
graphresult:=LoadPcx(1,1,paramstr(i)){вызывает функцию для чтения .PCX
с указанным в командной строке именем файла
и возвращает результат чтения}
else
graphresult:=LoadBMP(1,1,paramstr(i));{вызывает функцию для чтения .BMP
и возвращает результат чтения}
if graphresult<>0 then begin
setvideo(3); {установка текстового видеорежима}
writeln('Ошибка чтения '+paramstr(i));
readln;
end else readln; {ждет нажатия Enter}
end;
readln;
setvideo(3); {установка текстового видеорежима}
end.
Текст бібліотеки:
.386 ;разрешение инструкций 386 процессора
IDEAL ;переход в идеальный режим
model SMALL,PASCAL ;модель памяти SMALL для распределения кода и данных
;и совместимая с паскалем
PUBLIC PASCAL LoadPcx ;Обьявляем общие процедуры
PUBLIC PASCAL LoadBmp
CODESEG
zagpcx db 130 dup(0) ;буфер для заголовков BMP и PCX
nfile db 'a.pcx',100 dup(0) ;буфер для имени файла
flc dw 0 ;индекс файла
x1 dw 0 ;координаты текущей точки