- 3


mov ,320*200/2 //

cld

rep movsw //

pop ds //

}

} // Show_Double_Buffer

////////////////////////////////////////////////////////////

void Plot_Pixel_Fast_D(int x,int y,unsigned char color)

{

// , 𠠠

// , 320* = 256* + 64* = y<<8 + <<6

double_buffer[((<<8) + (<<6)) + ] = color;

} // Plot_Pixel_Fast_D

////////////////////////////////////////////////////////////

void Circles(void)

{

// 1000

//

// , -

// .

// - .

int index,xo,yo,radius,x,,color,ang;

// 1000 ,

//

for (index=0; index<1000; index++)

{

//

 = 20 + rand()%300;

 = 20 + rand()%180;

radius = 1 + rand()%20;

color = rand()%256i

for (ang=0; ang<360; ang++)

{

x = + cos(ang*3.14/180} * radius;

= + sin(ang*3.14/180} * radius;

Plot_Pixel_Fast_D(x,y,(unsigned char)color};

} //

} //

} // Circles

// //////////////////////////////////////

void main(void) {

// 320200256

_setvideomode(_MRES256COLOR) ;

//

Init_Double_Buffer() ;

_settextposition (0, 0) ;

printf("Drawing 1000 circles to double buffer. \nPlease wait...");

//