¿Cómo escribir directamente en la memoria de la pantalla en modo DOS? Lo mejor es dar un ejemplo en lenguaje C. ¡Gracias!
La tecnología de escritura directa de pantalla es fácil de implementar en DOS. Puede ingresar al modo de video llamando a la función 00h de la interrupción de 10h del BIOS. Para los modos de visualización VGA y VESA, la dirección inicial del video. la memoria es A000:0000H (Es una dirección de segmento + forma de desplazamiento de una dirección de 16 bits) Ingrese al modo de video y use un puntero lejano para señalar la primera dirección de la memoria de video. memoria de video, como dibujar algo: #define MODE_VGA13H 0x13 #define MODE_TEXT 0x03 void setmode(char mode) //Función para configurar el modo de video { asm mov ah,0x00 //Llama a la función 00h para configurar el modo de video asm mov al ,modo //El registro AL contiene el número del modo de video que se configurará, aquí tome el modo de video 13h como ejemplo asm int 0x10 //Llamar a 10h interrupción} char far * vediobuf=(char far*)0xa0000000L //Puntero al video; dirección de memoria void putpixel(int x,int y,int c) //Dibujar puntos Función { *(vediobuf+x+320*y)=c } int getpixel(int x,int y) //Función para obtener el punto { return *(vediobuf+x+320*y); } void main(void ) { int i; int j; //Establece el modo de vídeo VGA13H setmode(MODE_VGA13H); =0;i<20;i++) for(j=0;j<320 ;j++) putpixel(j,i,j); //Regresar al modo texto de DOS setmode(MODE_TEXT } Lo anterior proporciona un código muy simple para escribir directamente en la pantalla. El modo de vídeo VGA13H es 320*200 *256, es decir, el número máximo de colores de 256 colores en la resolución real de 320*200. Este modo ya está muy atrasado... Por supuesto, también puede configurar otros modos de visualización. El estándar VESA puede admitir una variedad de modos de video de alta resolución y colores. Los principios de programación son similares. Hay mucha información relevante sobre el manejo de la paginación en línea. Compruébelo. Por ejemplo, hay una explicación sobre el sistema de visualización DOS chino/view/b03bf94fe518964bcf847cd9.html.