Как установить графический режим?

Приведем примеры установки 15 различных графических режимов: от 320x200x16 до 800x600x16M.

Цветов1625632k64k16M
РазрешениеНомера графических режимов
320x2000Dh13h10Dh10Eh10Fh
640x48012h101h110h111h112h
800x600102h103h113h114h115h

Двузначные моды - стандартные VGA, устанавливаются через 0 функцию 10h прерывания. Hомер моды устанавливается в al.

procedure SetVgaMode(mode:byte); assembler;
asm
   mov al,[mode]   {al <- номер режима}
   xor ah,ah       {ah <- функция 0   }
   int 10h         {прерывание $10    }
end;

Трехзначные моды - VESA, устанавливаются через 4Fh функцию 2 подфункцию. В ax - 4F02h, в bx - номер моды.

procedure SetVesaMode(mode:word); assembler;
asm
   mov bx,[mode] {bx <- номер режима }
   mov ax,4F02h  {ah <- функция 4Fh;  al <- подфункция 2}
   int 10h       {прерывание $10     }
end;

Если надо проверить, установился режим или нет, то смотришь, что в регистре ah:

00h - все ok
01h - режим не установился

Для возврата обратно в текстовый режим достаточно вызвать:

SetVgaMode(3); {Установить текстовый режим 80х25}