SoloCodigo
Programación General => ASM (Ensamblador) => Mensaje iniciado por: jaumegs en Miércoles 7 de Diciembre de 2005, 18:15
-
Bueno, suena estraño, pero no lo es tanto...
Mi problema es que al introducir texto directamente en la memoria de video (0B800:XXXX) me va divinamente... pero el problema está en que el cursor... como lo diria... No se mueve :alien: ! Se queda donde eantes...
Como puedo indicarle a que posición debe ponerse? Cual es la dirección de memoria RAM (si es que la tiene) para este fin?
SALUDOS
-
http://www.ctyme.com/intr/rb-0087.htm (http://www.ctyme.com/intr/rb-0087.htm)
:comp: :ph34r:
-
Bueno, esa es una opción que ya imaginava... pero igual que hay una memoria de video... no hay algo que indique la posición del cursor sin utilizar las INT?
SALUDOS
-
0040:0050 16 Bytes
Cursor Positions on all pages
creo que es esa no me acuerdo
creo que tambien se hacia con puertos, alguna ves lo hice asi con diOS
-
Tambien podes desensamblar la interrupcion asi:
A.haces un programa que la llame
B.lo depuras con debug.com y el comando t (trace)
:smartass: :comp: :ph34r:
-
Parece buena idea... pero... COMO SE HACE? :P
SALUDOS
-
0040:0050 16 Bytes
Cursor Positions on all pages
No entiendo esto :-S esto que es, que la posición del cursor se encuentra en el segmento 0x0040 offset 0x0050 de la RAM?
SALUDOS
PD- He visto que al hablar de esta posición de memoria se refieren a la RAM de BIOS. Quiere decir esto que 0x0040:0x0050 se encuentra en 0xF040:0x0050?
-
la BIOS es ROM ( memoria de solo lecura ), para ejecutarse rapidamente se carga en la RAM ( memoria de acceso aleatorio ), se carga a partir de la posicion F000:0000 ( si mal no recuerdo ), pero a su vez la BIOS recava mucha informacion de la pc que la tiene desperdigada por muchos lugares de la memoria, uno de estos es el segmento 0040 que esta ahi ( 0040 de la RAM )
-
jejej, ok. Cuando he dicho la ram de la bios me referia a el código de la bios cargado en la ram, que efectivamente esta en la f000:0000(por eso he añadido la PD)...
SALUDOS :kicking: