• Martes 30 de Abril de 2024, 22:23

Autor Tema:  Como crear un menu en ensamblador  (Leído 16804 veces)

egosumdan

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Como crear un menu en ensamblador
« en: Miércoles 15 de Abril de 2009, 05:17 »
0
Necesito ayuda para crear un menu de opciones en turbo assemble.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Como crear un menu en ensamblador
« Respuesta #1 en: Miércoles 15 de Abril de 2009, 08:05 »
0
Tres cosas:
A. Un bucle
B. Escribir en consola
C. Leer el teclado

B y C las podes hacer con la interrupcion 021h por ejemplo, busca informacion e intentalo, si tenes algun problema con eso te ayudaremos.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

egosumdan

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Como crear un menu en ensamblador
« Respuesta #2 en: Jueves 16 de Abril de 2009, 07:05 »
0
Cita de: "Eternal Idol"
Tres cosas:
A. Un bucle
B. Escribir en consola
C. Leer el teclado

B y C las podes hacer con la interrupcion 021h por ejemplo, busca informacion e intentalo, si tenes algun problema con eso te ayudaremos.

Daniel: Gracias por la ayuda anterior, ahora tengo otro pequeño problema, lo que pasa es que para ambiar a modo grafico y para cambiar el color de fondo de la pantalla utilizo el siguiente codigo:

mov ah,0h
mov al,10h
int 10h
mov ah,11
mov bh,00
mov bl,01
int 10h

pero al ejecutarlo la ventana del MS-DOS cambia a pantalla completa pero distorcionada y el color de fondo no cambia, me podrias explicar que codigo tengo que utilizar,por favorr. Gracias.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Como crear un menu en ensamblador
« Respuesta #3 en: Jueves 16 de Abril de 2009, 08:12 »
0
Lo siento pero si lo que necesitas es hacer un menu grafico sera una tarea ya que es totalmente obsoleto, busca en Google mejor.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Toph

  • Moderador
  • ******
  • Mensajes: 420
  • Nacionalidad: sv
    • Ver Perfil
    • http://www.electronicayotros.blogspot.com/
Re: Como crear un menu en ensamblador
« Respuesta #4 en: Jueves 16 de Abril de 2009, 22:00 »
0
Cita de: "egosumdan"
lo que pasa es que para ambiar a modo grafico y para cambiar el color de fondo de la pantalla utilizo el siguiente codigo:

mov ah,0h
mov al,10h
int 10h
mov ah,11
mov bh,00
mov bl,01
int 10h

pero al ejecutarlo la ventana del MS-DOS cambia a pantalla completa pero distorcionada y el color de fondo no cambia, me podrias explicar que codigo tengo que utilizar,por favorr. Gracias.

para cambiar color de fondo en MS-DOS es mejor usar la funcion 06h, interrupcion 10h:

Citar
INT 10h / AH = 06h - scroll up window.
INT 10h / AH = 07h - scroll down window.

input:
AL = number of lines by which to scroll (00h = clear entire window).
BH = attribute used to write blank lines at bottom of window.
CH, CL = row, column of window's upper left corner.
DH, DL = row, column of window's lower right corner.


en el nibble mas significativo de BH va el color del fondo y en el menos significativo el color del texto asi por ejemplo quisieras fondo azul, letras negras BH deberia ser igual a: 10h, fondo negro, letras azules BH=01h
Por favor leer esto antes de postear. Gracias
NO alimenten al TROLL y morirá
¿Querés ayudar?, pues doná comida gratis con un simple clic aqui ,sin trucos
photobucket , Google , wine y cutepdf Rock!!!


programacion,c,c++,
Microcontroladores,java,linux,videojuegos,
,.NET,asm,codigo
por favor este 2012 que sea

egosumdan

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Como crear un menu en ensamblador
« Respuesta #5 en: Sábado 18 de Abril de 2009, 02:12 »
0
Gracias por contestar mis dudas, ahora tengo una nueva, lo q pasa es q necesito trazar una linea, pero como puedo hacerlo con un ciclo loop:

mov si,0
mov cx,20
aviso:
   
   mov ah,12
   mov dx,200   
   mov cx,[80+si]
   
   mov al,0bh
   int 10h
   inc si

loop aviso

pero este codigo me imprime pixeles pero dispersos en la pantalla y quiero q se impriman uno seguidi de otro formando una linea continua, podrian ayudarme. Porfavor

Toph

  • Moderador
  • ******
  • Mensajes: 420
  • Nacionalidad: sv
    • Ver Perfil
    • http://www.electronicayotros.blogspot.com/
Re: Como crear un menu en ensamblador
« Respuesta #6 en: Lunes 20 de Abril de 2009, 21:30 »
0
Cita de: "egosumdan"
pero este codigo me imprime pixeles pero dispersos en la pantalla y quiero q se impriman uno seguidi de otro formando una linea continua, podrian ayudarme. Porfavor

lo que se debe hacer primero es ubicar el cursor en la posicion donde se quiere imprimir la linea (esto se hace con la funcion 02h de la interrupcion 10h, en dl va la columna y en dh la fila, en bh= el numero de pantalla, generalmente 0), la linea se debe hacer con el ascii de "─" que es C4h, se imprime con la funcion para imprimir un caracter (funcion 02h de la int 21h) despues de que se imprime en pantalla automaticamente el cursor se pasa a la siguiente posicion, por lo que lo que se deja en el lazo es la impresion de caracteres, asi:

-ubica posicion inicial
-aviso:
-imprime caracter
-loop aviso
 
claro que habria que poner algo para que se salga del lazo talvez al llegar a cierta posicion de la pantalla.
Por favor leer esto antes de postear. Gracias
NO alimenten al TROLL y morirá
¿Querés ayudar?, pues doná comida gratis con un simple clic aqui ,sin trucos
photobucket , Google , wine y cutepdf Rock!!!


programacion,c,c++,
Microcontroladores,java,linux,videojuegos,
,.NET,asm,codigo
por favor este 2012 que sea