Programación General > ASM (Ensamblador)

 Pasos Para Pasar De Com A Exe

<< < (2/2)

Eternal Idol:

--- Cita de: "JuanK" --- Saludos, ahi voy de nuevo, porque no me funciona este codigo?
es decir la version com de es codigo funcionaba, pero al copnvertirlo a exe ya no me funciona.. porque?
--- Fin de la cita ---
Entre las modificaciones que hice estaba la de devolver el control a MS-DOS que no esta en tu ultimo codigo y si la agregaras funcionaria perfectamente:


--- Código: Text --- mov ah, 4chint 21h  

JuanK:
:blink:  pOR SUPUESTO!


y que hace puntualmente ese llamado a la interrupcion, es decir que quiere decir devolverle el control al DOS? porque el archivo COM no lo necesita?'

Eternal Idol:

--- Cita de: "JuanK" ---y que hace puntualmente ese llamado a la interrupcion, es decir que quiere decir devolverle el control al DOS? porque el archivo COM no lo necesita?
--- Fin de la cita ---

Para empezar yo asumi que ese codigo funcionaba como COM pero no es cierto. ¿Lo ensamblaste y lo probaste? Es imposible que funcione por la simple razon de que sus primeros bytes no son opcodes sino los bytes que corresponden a la cadena prueba ...

Asi si funcionaria como COM:


--- Código: Text --- bits =16org 100hstart:cldmov si, cadcall imprimirretimprimir:mov ah,0ehcaracter:lodsbcmp al,0jz fincharint 10hjmp caracterfinchar:retcad db &#34;prueba&#34;,0  
En cuanto a la necesidad de avisar al sistema:
http://www.ctyme.com/intr/rb-2974.htm

Cuando haces el ret en un COM salta al codigo que hay en el cs:0, cabe recordar que nuestro ejecutable empieza en cs:100h, dentro de esa posicion hay un int 20h que es la forma antigua de devolver el control al sistema: http://www.ctyme.com/intr/rb-2471.htm en el EXE al hacer ret solo conseguis saltar al principio del codigo y hacer un bucle infinito.

JuanK:
respecto a lo del com si me funciono pero es que este es el que yo tengo como version COM:

--- Código: Text --- bits =16org 0100hstart:cldmov si, cadcall imprimirretimprimir:mov ah,0ehcaracter:lodsbcmp al,0jz fincharint 10hjmp caracterfinchar:retcad db &#34;prueba&#34;,0  
No sabia lo del 20H.

Bien gracias!.

Eternal Idol:

--- Cita de: "JuanK" --- respecto a lo del com si me funciono pero es que este es el que yo tengo como version COM
--- Fin de la cita ---
Bueno, es es igual al ultimo que te pase y la diferencia radica en la posicion del mensaje.

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa