Procedure Tetragon(X1,Y1,X2,Y2,X3,Y3:Integer;
Color:Byte;VideoSeg:Word);
Pro ty, kteří začínají programovat a pochopí, že BGI je
k ničemu, tu mám procedurku pro vykreslování obecných trojúhelníků
v Pascal napsanou 100% v assembleru. Pokud ji budete chtít využít,
stiskněte na konci tohoto článku tlačítko s popiskou "TETRA.INC".
Potom by jste měli mít v aktuálním adresáři soubor se jménem
tetra.inc, v němž je samotný kód. Při kompilaci je nutné zapnout
generování kódu pro procesory 286 a vyšší. Parametry procedury jsou
víceméně jasné, snad jen parametr VideoSeg, kterým se předává
proceduře adresa segmentu v paměti, kam se bude trojúhelník
vykreslovat. Jestliže chcete, aby se vám vykresloval rovnou do
videopaměti, dosaděte v programu za tento parametr konstantu
"SegA000". Pokud ho však budete vykreslovat do virtuální obrazovky,
pak za něj dosaďte funkci "Seg(VirScr^)", kde "VirScr" je ukazatel na
alokovanou virtuální videopaměť. Občas se v kódu objeví něco, co
vypadá jako data, jsou to inlajny instrukcí procesoru 386, které
jinak kompilátor Pascalu nezvládá. Ve složené závorce je patřičná
instrukce zapsána. Z toho plyne, že tato rutinka bude chodit pouze na
386kách a vyšších. Kdyby měl někdo zájem o pouze 286 verzi této
procedurky muhou ji také po dohodě poskytnout.
TETRA.INC
ReDox
výheň