Documentos de Académico
Documentos de Profesional
Documentos de Cultura
achainya@gmail.com
Escritorio
Cerrar sesión
Buscar
Ensamblador 8086 Formato BMP
Te encuentras en la serie de "Ensamblador 8086 Modo Gráfico 13h": Seguidores (67)
Siguiente
Hasta el momento hemos hablado del modo 13h, la memoria de gráficos y la paleta de
colores. En este post veremos cómo está compuesto el formato BMP. En particular
hablaremos del formato que contiene una paleta de colores, lo cual lo hace ideal para poder Seguir
desplegarlo en el modo 13h.
El formato BMP con paleta de colores tiene 3 secciones principales: Entradas populares
1. Encabezado fijo de 54 bytes: donde podemos encontrar información como el ancho y Cómo evaluar transformadas de
el alto de la imagen, y la dirección donde empieza la información de cada pixel de la Laplace utilizando Wolfram Alpha
imagen (sección 3).
Cómo evaluar integrales múltiples
2. Paleta de colores: la cual puede variar en tamaño. Cada entrada tiene 4 bytes en el utilizando Wolfram Alpha
siguiente orden: azul (B), verde (G), rojo (R), byte reservado. Para calcular el número
de elementos de la paleta tomamos la dirección donde inicia la sección 3 Ordenamiento externo: Mezcla
(información de cada pixel) y restamos los 54 bytes del encabezado fijo. Esto nos da Natural (Natural Merge Sort)
el tamaño en bytes de la paleta de colores, simplemente dividimos este número entre
Ensamblador 8086 Modo 13h
cuatro y obtenemos el número de entradas o colores de la paleta. Paleta de Colores
3. Información de cada pixel de la imagen.
Ensamblador 8086 Modo Gráfico
Usaremos la siguiente imagen y la abriremos con un visualizador de datos en hexadecimal 13h
(GHex) para analizar algunos puntos importantes de su contenido.
►
2019
(7)
►
►
2016
(1)
►
►
2015
(4)
►
►
2014
(7)
►
►
2013
(9)
►
▼
2012
(25)
▼
►
diciembre
(2)
►
Encabezado Fijo ►
noviembre
(4)
►
►
octubre
(1)
►
►
septiembre
(1)
►
►
agosto
(1)
►
►
julio
(4)
►
►
mayo
(1)
►
▼
abril
(5)
▼
Los valores numéricos están guardados en formato little endian, es decir el byte menos
Ensamblador 8086 Formato
significativo está en la dirección menos significativa. Si tenemos el número 36 9A, lo BMP
leeremos 9A36.
Ensamblador 8086 Modo 13h
Paleta de Colores
42 4D: son los valores ASCII de BM, los archivos en formato BMP empiezan con
estos 2 bytes. Ensamblador 8086 Modo 13h
Memoria para Gráficos
00 00 9A 36: la imagen mide 39,478 bytes.
00 00 04 36: donde empiezan los datos de cada pixel, es decir en el byte 1078 Ensamblador 8086 Modo
del archivo. Gráfico 13h
00 00 00 28: hasta este punto van 14 bytes del encabezado y faltan 40 bytes Ensamblador 8086 itoa
más (28h), que dan los 54 bytes del encabezado fijo.
►
marzo
(2)
►
►
2010
(67)
►
Si los datos de cada pixel inician en el byte 1078 y el encabezado fijo mide 54 bytes,
►
2009
(24)
►
entonces la paleta de colores mide 1024 bytes; es decir tiene 256 entradas.
Ahora realizaremos un ejercicio para mostrar que leer los colores de la imagen es
prácticamente equivalente a la explicación que vimos para el modo 13h.
2. La paleta de colores inicia en 36h, por lo que la entrada 37h esta en: 36h + (37h * 4)
= 112h.
El valor 37h aparece repetidamente al inicio del archivo ya que es el valor del fondo de la
imagen. Ahora, busquemos el primer valor diferente y veamos su color.
3. Nuestra intuición diría que el color debe ser rojo; sin embargo, podemos ver que el
color es verde, y corresponde al cuadro de la parte inferior. Esto se debe a que en el
formato BMP, las líneas se guardan de abajo hacia arriba con respecto a como se
deben mostrar en la pantalla. Es decir, la primer línea de datos del archivo es la línea
inferior de la imagen.
Muy bien, ya tenemos todos los elementos para poder desplegar una imagen BMP en
ensamblador 8086 modo 13h, en el siguiente post veremos el código.
La siguiente página tiene información adicional acerca del modo 13h y del formato BMP.
Publicado por
Mariana
en
4/10/2012
Etiquetas:
ensamblador,
graficos
7 comentarios:
Responder
Hola Gara,
Muchas gracias por tu interés en el blog. Estoy usando masm y el emulador DOSBox para
ensamblar y ejecutar los programas. El siguiente post describe los pasos.
Saludos.
Responder
Me encanta tu blog.
Responder
Responder
Respuestas
Responder
Jourlez 4 de noviembre de 2015, 16:43
1.Tomamos la información de un pixel: el primer pixel inicia en 1078 (436h) y contiene 37h.
Esta es la entrada de la paleta de donde tomaremos el color
2. La paleta de colores inicia en 36h, por lo que la entrada 37h esta en: 36h + (37h * 4) =
112h.
esta mal en 2. pues en 1. se dice claramente que inicial en 436h y no en 36h como lo dice
2.
Gracias de antemano.
Responder
Respuestas
Responder
Escribe tu comentario
Suscribirse a:
Enviar comentarios (Atom)