Niedziela 19 Maj 2024r. Godz 00:00:00      
Postów: 251      

Rysowanie punktu VGA

Mamy już ustawiony tryb graficzny. Teraz możemy zacz±ć rysować jaki¶ punkt. Służy do tego funkcja 0x0C przerwania 0x10. Musimy jej podać numer koloru, stronę na któr± zapisujemy piksel, no i oczywi¶cie współżędne piksela.


char         strona=0x00,
        kolor=0x0F;
unsigned int         kolumna=100,
                wiersz=150;
asm
{                        
        MOV AH, 0x0C
        MOV BH, strona
        MOV AL, kolor
        MOV CX, klumna
        MOV DX, wiersz
        INT 0x10
}

Trzeba jednak pamiętać żeby nie wychodzić poza ekran. Można zrobić ograniczenia, ale trzeba je uzależnić od trybu którego używamy. Czyli w tym momencie utwóżmy sobie funkcję której będę używał w póĽniejszych działach.


void punkt(unsigned int x, unsigned int y, unsigned char kolor, 
unsigned char strona=0x00,)
{
        asm
        {                        
                MOV AH, 0x0C
                MOV BH, strona
                MOV AL, kolor
                MOV CX, x
                MOV DX, y
                INT 0x10
	}
}