• Viernes 29 de Marzo de 2024, 08:08

Autor Tema:  CMD se cierra solo al finalizar la ejecucion  (Leído 5963 veces)

Mondi

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
CMD se cierra solo al finalizar la ejecucion
« en: Jueves 10 de Diciembre de 2009, 22:08 »
0
Bueno, eso q dice el titulo, ejecuto un codigo en macro assembler, visual c++ express edition, y al final tengo un call DumpRegs, para ver los registros, y los muestra pero se cierra inmediatamente y no los puedo visualizar, alguien podria ayudarme?

Gracias.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: CMD se cierra solo al finalizar la ejecucion
« Respuesta #1 en: Jueves 10 de Diciembre de 2009, 22:14 »
0
¿Estas ejecutando desde Inicio>>Ejecutar>>Cmd?  Siempre podes poner un getchar (GetStdHandle con STD_OUTPUT_HANDLE y ReadFile).

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.

Mondi

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: CMD se cierra solo al finalizar la ejecucion
« Respuesta #2 en: Jueves 10 de Diciembre de 2009, 22:22 »
0
TITLE Add and Subtract              (16-bit.asm)

; This program adds and subtracts 32-bit integers.
; Last update: 06/01/2006

INCLUDE Irvine16.inc

.code
main PROC
   mov   ax,@data
   mov   ds,ax

   mov   eax,10000h      ; EAX = 10000h
   add   eax,40000h      ; EAX = 50000h
   sub   eax,20000h      ; EAX = 30000h
   call   DumpRegs

   exit
main ENDP
END main

este es el programa de prueba de la libreria Irvine, de 16 bits, entonces hago el build, dps run, y al correrlo, se abre el cmd, veo unas lineas rapidas, y luego se cierra rapidamente.

gracias.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: CMD se cierra solo al finalizar la ejecucion
« Respuesta #3 en: Jueves 10 de Diciembre de 2009, 22:27 »
0
¿Y eso como lo ensamblas con "visual c++ express edition"? ¿Trae un ml de hace unos 15 años? Si lo ejecutas tal y como te dije no se cierra la ventana ... Inicio>>Ejecutar>>cmd.

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.

Mondi

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: CMD se cierra solo al finalizar la ejecucion
« Respuesta #4 en: Jueves 10 de Diciembre de 2009, 22:29 »
0
si pero yo estoy ejecutando el codigo desde macro assembler, con las librerias de kip irvine.

y no puedo poner getchar en ensamblador...

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: CMD se cierra solo al finalizar la ejecucion
« Respuesta #5 en: Jueves 10 de Diciembre de 2009, 22:43 »
0
¿Sabes usar la consola de Windows o no?

Inicio>>Ejecutar>>cmd
X:
CDDIRDIRDIR
PROGRAMA

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.

Mondi

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: CMD se cierra solo al finalizar la ejecucion
« Respuesta #6 en: Jueves 10 de Diciembre de 2009, 22:48 »
0
cuando pongo c:Irvineexamplesch03prueba.asm q es donde tengo el archivo q quiero ejecutar, se abre el macro assembler xD

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: CMD se cierra solo al finalizar la ejecucion
« Respuesta #7 en: Jueves 10 de Diciembre de 2009, 22:51 »
0
Ese es el codigo fuente ... tenes que ensamblarlo ... te generara un ejecutable ...

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.

Mondi

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: CMD se cierra solo al finalizar la ejecucion
« Respuesta #8 en: Jueves 10 de Diciembre de 2009, 23:01 »
0
ok gracias, ahora si, pero igual me gustaria q al correrlo desde visual c++ se haga la pausa al final, se agradece mucho la atencion.

una pregunta, sabes de assembler? quisiera saber como guardar en un archivo los registros en forma decimal, en vez de hexa.

Gracias.

EI: juntando mensajes.

ahora si q no se q pasa, hago modificaciones a mi programa y SIEMPRE me da lo mismo, la misma ejecucion

y si lo compile de nuevo.

EI: juntando mensajes.

aqui ta la solucion a mi problema

En el menu de Herramientas / Herramientas Externas seleccionas el comando Run 16-bit ASM. Al seleccionarlo notaras que en la parte de abajo de la pantalla hay un "checkbox" que dice "Cerrar al terminar". Muy probablemente lo tienes seleccionado. Hay que des-seleccionar esa opcion y ya con eso no se cierra la pantalla al terminar la ejecucion.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: CMD se cierra solo al finalizar la ejecucion
« Respuesta #9 en: Jueves 10 de Diciembre de 2009, 23:12 »
0
Si queres usar eso lee: http://kipirvine.com/asm/gettingStarted/index.htm

ml es el ensamblador, siempre podes usarlo desde linea de comandos para ensamblar, sino lee arriba para integrarlo.

PD. Decimal y hexadecimal son unicamente una representacion, guarda el numero como entero (4 bytes).

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.

davedg

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: CMD se cierra solo al finalizar la ejecucion
« Respuesta #10 en: Lunes 1 de Marzo de 2010, 17:19 »
0
solo tienes k agregar call WaitMsg para k no se cierre entonces tu codigo kedaria asi:



TITLE Add and Subtract (16-bit.asm)

; This program adds and subtracts 32-bit integers.
; Last update: 06/01/2006

INCLUDE Irvine16.inc

.code
main PROC
mov ax,@data
mov ds,ax

mov eax,10000h ; EAX = 10000h
add eax,40000h ; EAX = 50000h
sub eax,20000h ; EAX = 30000h
call DumpRegs
call WaitMsg

exit
main ENDP
END main