Uso del Debug del MS-DOS

Iniciado por Hendrix, 10 Diciembre 2006, 21:32 PM

0 Miembros y 2 Visitantes están viendo este tema.

Hendrix

Bueno, esto va para Sdc, se peude con el Debug ejecutar un prorama sin que este en el HD???que el codigo del programa este por ejemplo en una variable...

Salu2

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

sirdarckcat

al decir ejecutar te refieres a depurar un programa?

si lo generas dinamicamente no hay problema, es decir, tendrias que hacerlos con
E direccion HEX HEX HEX HEX
o con
A
DB HEX HEX HEX


y el contenido de HEX lo guardas en una variable..

si DEBUG aceptara handlers como archivos (con:) seria muy bueno.. pero no se puede :P

Saludos!!

Hendrix

Ok... ;) ;)

Era para que en tu BC se ejecutara el programa sin que se generase el ejecutable... ;) ;)

Weno, gracias.

Salu2 ;)
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

sirdarckcat

ahh valla..
pues si se puede.. aunque solo en programas de 16bits
entra a debug.

-A
0D28:0100 JMP 10A
0D28:0102 DB "mensaje$"
0D28:010A MOV AH,09
0D28:010C MOV DX,0102
0D28:010F INT 21
0D28:0111 INT 20
0D28:0113
-P 113

AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0D28  ES=0D28  SS=0D28  CS=0D28  IP=010A   NV UP EI PL NZ NA PO NC
0D28:010A B409          MOV     AH,09

AX=0900  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0D28  ES=0D28  SS=0D28  CS=0D28  IP=010C   NV UP EI PL NZ NA PO NC
0D28:010C BA0201        MOV     DX,0102

AX=0900  BX=0000  CX=0000  DX=0102  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0D28  ES=0D28  SS=0D28  CS=0D28  IP=010F   NV UP EI PL NZ NA PO NC
0D28:010F CD21          INT     21
mensaje
AX=0924  BX=0000  CX=0000  DX=0102  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0D28  ES=0D28  SS=0D28  CS=0D28  IP=0111   NV UP EI PL NZ NA PO NC
0D28:0111 CD20          INT     20

El programa ha terminado de forma normal
-Q



Lo que hace primero es generar el programa, despues lo ejecuta hasta la direccion 113, y la Q es para salir xD

lo unico que hace este es mostrar en pantalla "mensaje" jejeje

Saludos!!

Hendrix

Si, eso lei... ;) ;)

Y no se podria hacer que no se vea quando genera el programa???

Seria interesante asi... ;D ;D

Salu2 y gracias... ;) ;)
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

sirdarckcat

Pasando por un filtro nulo jeje :P
debug<entrada.in|goto:EOF

Saludos!!

Hendrix

Ok, antes tendriamos que crear el archivo entrada.in, en este archivo se tiene que poner forzosamente lo que le ponia en el BC o esto funcionaria:

0D28:0100 JMP 10A
0D28:0102 DB "mensaje$"
0D28:010A MOV AH,09
0D28:010C MOV DX,0102
0D28:010F INT 21
0D28:0111 INT 20
0D28:0113

Salu2 y gracias otra vez.. ;) ;)

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

sirdarckcat

#7

@echo off

call:easm
debug<entrada.in|exit

:easm
echo A >>entrada.in
echo JMP 10A >>entrada.in
echo DB "mensaje$" >>entrada.in
echo MOV AH,9 >>entrada.in
echo MOV DX,102 >>entrada.in
echo INT 21 >>entrada.in
echo INT 20 >>entrada.in
call:esalto >>entrada.in
echo P 113 >>entrada.in
echo Q >>entrada.in

:esalto
type %~nx0|find /v "e"


Saludos!!

Hendrix

 :o :o :-\ :-\ :-\ me tendras que explikar varias kosas...xD xD

Esto que hace: %~nx0 :huh:

Y luego komo llamas a esta linea: debug<entrada.in|exit :-\ :-\

Otra cosa, en todas las lineas pones >, no tendria que ser >>???ya que el > escribe desde el inicio, y el >> escribe desde el final...

Interesante codigo... ;D ;D

Salu2

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

sirdarckcat

1.- $~nx0 regresa el nombre y extension del archivo.
2.- como la llamo? pues el nombre podria ser.. "linea 4", jeje
3.- los > son >> :P ups xD

Saludos!!