Hola amigos
Hace algun tiempo lo hice. Es relativamente sencillo pero laborioso. La CGRAM de la pantalla que utilize (LCD 16x2) era una memoria dondde el direcionamiento equivalia a dibujar un punto en una cuadricula limitada por el ancho y largo maximo de caracter. Era como un mapa de bits, donde gracias al mouse, dibujas un punto, y luego otro y otro hasta completar el simbolo deseado. Como te imaginaras, en la LCD no hay mouse, asi que lo haces a punta de coordenadas en la CGRAM y luego lo guardas como una direccion. Esto creo que varia de modelo en modelo de LCD. Busca el data Del Controlador de la pantalla, no de la pantalla. El controlador es del chip mas grande que se ve. en mi caso al pantalla tenia un codigo que no recuerdo, pero su controlador era Samsung. Busque el numero y tenia un muy buen datasheet de como inicializarlo, y la gama de opciones de como programar los caracteres especiales. Ademas me mostraba la cantidad de caracteres válidos y me parece que el "º" estaba incluido. Buscalo, a lo mejor esta y te ahorras ese trabajito...
como accederla en asembler?
depende como hayas conectado la pantallita... yo trabaje en micro 8051 de Intel (asembler) y estaba conectado al bus de datos, compartido con un teclado. con la orden:
MOV DPTR,#8100 // Mover al DPTR (unico registro de 16 bits), la constante 8100
Mov A,#40h //Mover al Acumulador (Registro de uso general) el caracte "@" en ascii
MOVX @DPTR,A //Mover a la posiccion mostrada por el dptr el contenido de A
que hice aqui?, pues el micro cree que la pantalla (y el teclado=9000) eran memorias externas, usando un data select o Decoder con las lineas de direcciones del micro identificaba con cual dispositivo estaba hablando ( por ello el 8000 o 9000) y el resto de los numeros le decian al LCD que queria hacer (leerla, escribirla o enviar comando (por ello 8100) y una vez hecho esto le decia cual caracter escribir.
Espero haber ayudado...