Contrata Amigos Para Trabajar.
Enviado por guspinzon • 2 de Junio de 2014 • 2.680 Palabras (11 Páginas) • 285 Visitas
Instituto Tecnológico de Milpa Alta II
Ing. En Sistemas Computacionales
Leguajes de Interfaz
Buffer de video en modo de texto
Presenta:
Palma Pinzón Gustavo Fausto
Buffer de video en modo texto
Se llama modo texto a cualquier modo de video de un ordenador en el que el contenido de la pantalla se representa internamente en términos de caracteres textuales en lugar de pixeles individuales, típicamente la pantalla consistirá en una rejilla uniforme de <<celdas de caracteres>>, cada una de las cuales contendrá un carácter del juego de caracteres
Las ventajas de los nodos de texto respecto a los gráficos incluyen el menor consumo de memoria y la más rápida manipulación de pantalla. Además, las aplicaciones en modo texto tienen unos requisitos de ancho de banda relativamente bajo en uso remoto. Una desventaja obia del modo texto es la restricción del contenido de pantalla que lo hace inviable para muchos tipos de aplicaciones.
Una característica importante de los programas en modo texto es que asumen un ancho constante de las fuentes, donde cada carácter tiene la misma anchura en pantalla, lo que permite fácilmente la alineación vertical cuando se muestran caracteres semi-graficos
Según el entorno, el buffer de pantalla puede ser directamente accesible, como memoria convencional, para los programas locales. Los programas que muestran salidas en una terminal remota deben enviar secuencias de control de especiales para manipular el buffer de pantalla. Los estándares más populares de dichas secuencias de control son ANSI y VT100. Los programas que acceden al buffer de pantalla mediante secuencias de control pueden perder la sincronización con la pantalla real, por lo que muchos programas en modo texto tienes un comando para<<refrescar >> toda la pantalla, a menudo asociado con la combinación de teclas Ctrl+L.
La distinción entre los programas en modo texto y grafico puede a veces ser difusa, especialmente en ordenadores con tarjetas VGA, debido a que muchos programas en modo texto recientes llevaron al extremo las posibilidades de dicho hardware manipulando la controladora de video.
Por ejemplo, redefinían el juego de caracteres para crear caracteres semi-graficos a medida, e incluso simulaban un cursor de ratón grafico redefiniéndola apariencia de los caracteres sobre los que dicho cursor quedaba en cada momento. También pueden usarse estas técnicas para videojuegos 2D que necesiten aprovechar la mayor velocidad de manipulación de los modos de texto respecto a los gráficos.
Muchos programas modernos con interfaz grafica simulan el estilo de los programas en modo texto, especialmente cuando es importante preservar la alineación vertical del texto. Por ejemplo durante la programación. Existen también componentes software que emulan modos de texto, tales como los emuladores de terminal o la consola de Windows.
Una controladora de video con modo de texto suele usar dos zonas de memoria distintas: una <<memoria de caracteres>> conteniendo la estructura de pixeles de cada carácter de la fuente en uso y una <<matriz de pantalla>> o <<buffer de pantalla>> conteniendo la matriz de los caracteres mostrados en la pantalla, almacenados como índices a la memoria de caracteres
La memoria de caracteres suele residir en ROM por defecto. Sin embargo,muchos sistemas también permiten el uso de RAM para este propósito, haciendo posible redefinir el juego de caracteres para fines específicos de cada apliucacion. El uso de caracteres residentes en RAM también facilita algunas técnicas especiales, como la implementación de un buffer de video para graficos pixelados. En algunos chips graficos históricos, incluyendo el TMS9918 y el MOS Technology VIC, esta era realmente la forma crónica de lograr graficos nivelados
Los modos texto a menudo adignan atributos a los caracteres mostrados. Por ejemplo, las terminales TV100 permiten que cada carácter aparezsca subrayado, resaltado, perpadeando o invertido (negativo). Los dispositivos en color suelen permitir cambiar el color de cada carácter y menudo también del fondo, a seleccionar de una paleta limitada. Estos atributos pueden coexistir con los indicesde caracteres o usar otra zona de memoria diferente llamada <<memoria de color>> o <<memoria de atributo>>.
Algunas implementaciones de modos texto también el concepto de atributos de liena. Por ejemplo, los términos compatibles VT100 soportan del doblado del ancho y anchura de los caracteres en líneas de tecto individuales.
Ejemplo:
Para los atributos de pantalla,(color de fondo, color de texto, etc.) se puede utilizar este procedimiento tratado de abarcar los aspectos mas importantes del modo de video:
Prepararpantalla proc near
Mov ah, 06h; función de limpiar pantalla
Mov bh, 80h; atributos de color de fondo
Mov al, 00h; cantidad de filas a borrar enrollar
Mov cx, 00h; columna inicial en Ch, columna inicial en Cl
Mov dx, 30ª0h; columna final en Dh, columna final en Dl
Int 100h
Ret prepararpantalla endp
Para llamarlo se debe hacerlo asi:
Call preparar pantalla
Subrutinas/Funciones en ensamblador
Cuando las rutinas a incluir son excesivamente largas, resulta más conveniente escribirlas como ficheros independientes y ensamblarlas por separado, incluyéndolas en un fichero de proyecto (*.PRJ) seleccionable en los menús del compilador.
Para escribir este tipo de rutinas hay que respetar las mismas definiciones de segmentos que realiza el compilador. Hoy en día existe algo más de flexibilidad; sin embargo, aquí se expone el método general para mezclar código de ensamblador con C.
Veamos el siguiente programa en C:
int variable;
extern dato;
extern funcion();
main()
{
int a=21930; char b='Z';
variable = funcion (a, b, 0x12345678);
}
La variable variable es una variable global del programa a la que no se asigna valor alguno en el momento de definirla. Tanto a como b son variables locales del procedimiento main() y son asignadas con un cierto valor inicial; funcion() no aparece por ningún sitio, ya que será codificada en ensamblador en un fichero independiente. A dicha función se le pasan 3 parámetros. La manera de hacerlo es colocándolos en la pila (empezando por el último y acabando por el primero). Por ello, el compilador meterá primero en la pila el valor 1234h y luego el 5678h (necesita dos palabras de pila porque es un dato de tipo long).
...