Activar un pixel de pantalla con ensamblador
Publicado: Lun Jun 03, 2019 3:59 am
Hola a tod@s, tengo una duda de ensamblador, si alguien con experiencia
me puede echar una mano con la duda y tiene un momento para darme pistas de esto
me ayudaría muchísimo:
En un 48k, tengo una pantalla mostrándose en la zona de memoria de pantalla,
ahora dependiendo de unas condiciones, quiero activar un único pixel de la pantalla x,y ,
el paper de dicho pixel es negro y el ink es amarillo (es decir, el paper y el ink
del udg - se dice asi al bloque de pixels verdad?- al que pertenece dicho pixel es así),
lo que quiero es según una condición que pasa en un bucle es poner en ese pixel determinado x,y
el ink activado y por tanto se ve ese pixel amarillo o desactivado y por tanto se ve el paper, es decir negro.
Existe una forma fácil de hacer este set/unset de un solo pixel con ensamblador?
En un principio pensé que no, que me tocara hacer algo como esto:
1. leer el udg que esta en la posición que incluye dicho pixel y meterlo en una variable con LD
2. Para hacer "set" hacer algún tipo de operación OR con otro udg que solo tiene un "1" justo
en el pixel que quiero activar; y si lo quiero desactivar un AND con un udg que tiene todo unos
excepto justo un "0" en la misma posición del pixel.
3. poner de nuevo el udg modificado en la zona de memoria de pantalla a través de la variable del
paso 1 ya modificado otra vez con LD.
Aun así no se como implementarlo. Esto leyendo algunos cursos de ensamblador, y creo que me va a costar
un tiempo ponerme al día y entender el proceso, pero si alguien me puede explicar un código que lo haga
por aquí lo agradecería muchísimo, ya que hace mucho que no toco el ensamblador. Al menos la
estructura básica seria una gran ayuda.Mientras sigo mirando a ver si consigo hacerlo por mi cuenta (en tal caso pondré mi solución por aquí)
Saludos y gracias!
me puede echar una mano con la duda y tiene un momento para darme pistas de esto
me ayudaría muchísimo:
En un 48k, tengo una pantalla mostrándose en la zona de memoria de pantalla,
ahora dependiendo de unas condiciones, quiero activar un único pixel de la pantalla x,y ,
el paper de dicho pixel es negro y el ink es amarillo (es decir, el paper y el ink
del udg - se dice asi al bloque de pixels verdad?- al que pertenece dicho pixel es así),
lo que quiero es según una condición que pasa en un bucle es poner en ese pixel determinado x,y
el ink activado y por tanto se ve ese pixel amarillo o desactivado y por tanto se ve el paper, es decir negro.
Existe una forma fácil de hacer este set/unset de un solo pixel con ensamblador?
En un principio pensé que no, que me tocara hacer algo como esto:
1. leer el udg que esta en la posición que incluye dicho pixel y meterlo en una variable con LD
2. Para hacer "set" hacer algún tipo de operación OR con otro udg que solo tiene un "1" justo
en el pixel que quiero activar; y si lo quiero desactivar un AND con un udg que tiene todo unos
excepto justo un "0" en la misma posición del pixel.
3. poner de nuevo el udg modificado en la zona de memoria de pantalla a través de la variable del
paso 1 ya modificado otra vez con LD.
Aun así no se como implementarlo. Esto leyendo algunos cursos de ensamblador, y creo que me va a costar
un tiempo ponerme al día y entender el proceso, pero si alguien me puede explicar un código que lo haga
por aquí lo agradecería muchísimo, ya que hace mucho que no toco el ensamblador. Al menos la
estructura básica seria una gran ayuda.Mientras sigo mirando a ver si consigo hacerlo por mi cuenta (en tal caso pondré mi solución por aquí)
Saludos y gracias!