• Domingo 17 de Noviembre de 2024, 20:02

Autor Tema:  Re: Cómo utilizar la interrupción 10h aplicado al siguiente  (Leído 1802 veces)

fabet

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re: Cómo utilizar la interrupción 10h aplicado al siguiente
« en: Martes 20 de Mayo de 2003, 08:00 »
0
Hola:
tengo un problema y les pido de su ayuda por favor, tengo que realizar un programa, obviamente en ensamblador, y una parte consiste en posicionar el cursor en pantalla dadas las coordenadas de posicionamiento : fila,columna , pero estas deben ser las que el usuario desee , es decir cada que el programa se ejecute el usuario teclea dichas coodenadas y el cursor se debe de posicionar en esa posición para imprimir un carácter .
Mi duda es cómo hacerle para que al momento de que tecle por ejemplo 12,34 se lea como cadena de numeros y moverlo a un registro, ya que

mov bh,0
mov dh,12
mov dl,40
mov ah,2
int 10h

me posiciona el cursor en el centro , pero cómo debo hacerle para que sea variable esta posicionamiento.
Si alguien me puede ayudar se lo agradeceré mucho ya que soy principiante en este lenguaje de programación y aún tengo muchas dudas.
por su atención gracias.
Saludos.
:gracias::hola:

karen81

  • Miembro MUY activo
  • ***
  • Mensajes: 119
    • Ver Perfil
Cómo utilizar la interrupción 10h aplicado al siguiente prob
« Respuesta #1 en: Martes 1 de Julio de 2003, 04:57 »
0
Aqui te mando un pequeño programa que hace lo que necesitas:

luego que le pides al usuario las coordenadas del cursor las guardas en un registro ejemplo 0612
mov dx,0612
call cursor

cursor es una funcion que tendras mas adelante talvez en otra direccion y tendras que tenerla de la siguiente forma:
cursor:
push ax
push bx (para guardar los registros)
push cx
push dx
mov bh,00
mov ah,02
int 10h
pop dx
pop cx
pop bx
pop ax
ret
el re te manda a la instruccion que tengas abajo de cursor y ahi le puedes poner que salte al inicio para que otro usuario introduzca las coordenadas nuevas
No basta tener buen ingenio; lo principal es aplicarlo bien.