PIXELES EN ENSAMBLADOR

MTMC
08 de Julio del 2005
POR FA, QUE INSTRUCCIONES DEBO UTILIZAR PARA PODER DESPLEGAR UNO O VARIOS PIXELES EN PANTALLA, MEDIANTE LENGUAJE ENSAMBLADOR.

hiei
08 de Julio del 2005
En ensamblador, las instruccione que existen solo hacen referencia a operaciones entre la memoria y el procesador y control de flujo de programa.
Para poner un pixel en pantalla tienes que acceder al framebuffer de la targeta grafica y esto varia de modo a modo (y de targeta a targeta }X-DDDD)
Por ejemplo, en modo FLAT 320x200x8 para poner un pixel blanco en 10,10 devec hacer:

mov cx, 10 ; X
mov dx, 10 ; Y
; =======
mov ax, 0xA000 ; Cargar DS con
mov ds, ax ; Segmento 0xA000

mov ax, dx ; AX = (Y shl 8)+(Y shl 6)
shl ax, 8 ; que es lo mismo que AX = Y*320
shl dx, 6
add ax, dx
add ax, cx ; AX += X
mov di, ax
; Resumiendo: di = Y*320+X
mov ax, 0x0F
mov byte ptr ds:[di], ax
; ========
Pra mas informacion de modos garfico:
http://pinsa.escomposlinux.org/sromero/articulos/#gfx