• Martes 5 de Noviembre de 2024, 15:32

Autor Tema:  Hola Mundo  (Leído 2879 veces)

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Hola Mundo
« en: Miércoles 30 de Marzo de 2005, 22:19 »
0
Hola chicos de SoloCodigo, miren tengo este codigo hecho por mi, pero tiene errores, me pueden decir como le hago.
Código: Text
  1. .MODE SMALL
  2. .STACK
  3. .CODE
  4. cadena DB 'Hola Mundo$'
  5. JMP comenzar
  6. comenzar:
  7.     MOV DX, OFFSET cadena
  8.   MOV AH,9h
  9.   INT 21h
  10.   MOV AH,4Ch
  11.   INT 21h
  12.   JMP comenzar
  13. END
  14.  
Gracias chao.
El pasado son solo recuerdos, el futuro son solo sueños

Super_G

  • Miembro MUY activo
  • ***
  • Mensajes: 375
    • Ver Perfil
Re: Hola Mundo
« Respuesta #1 en: Jueves 31 de Marzo de 2005, 04:05 »
0
Modelo para un EXE(DOS):
Código: Text
  1.  
  2. .model small
  3. ;Anular el siguiente comentario cuando se usen caracteristicas del 386
  4. ; .386
  5. ;Anular el siguiente comentario cuando se usen caracteristicas del coprocesador
  6. ; .387
  7. .stack 100
  8. .data
  9. ; Colocar aqui los datos
  10. db
  11.  
  12. .code
  13. inicio:
  14. mov ax,_data
  15. mov ds,ax
  16. ; Escribir aqui el programa
  17.  
  18.  
  19. mov ah,4ch
  20. int 21h
  21. end inicio
  22.  
  23.  

Super_G

  • Miembro MUY activo
  • ***
  • Mensajes: 375
    • Ver Perfil
Re: Hola Mundo
« Respuesta #2 en: Jueves 31 de Marzo de 2005, 04:22 »
0
Compilando,tu programa, con TASM me sale que 1º debo poner el modelo de memoria, que de declaro con MODEL no MODE, tambien algo notorio es que despues de declarar el segmento de codigo "declaras" cadena y eso no es codigo el JMP debe estar antes de esa declaracion. eso lo mas resaltante.
haciendo las correcciones dichas tenemos:
Código: Text
  1.  
  2. .MODEL SMALL
  3. .STACK
  4. ;;JMP comenzar
  5. .DATA
  6. cadena DB 'Hola Mundo$'
  7. .CODE
  8. comenzar:
  9.    mov ax,_data &#59;;segmento de datos
  10.    mov ds,ax
  11.  
  12.    MOV DX, OFFSET cadena
  13.   MOV AH,9h
  14.   INT 21h
  15.   MOV AH,4Ch
  16.   INT 21h
  17.  &#59;JMP comenzar &#59;no se toma en cuanta el programa
  18. ;ya termino
  19. END comenzar
  20.  
  21.  
  22.  

y funciona!!

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Hola Mundo
« Respuesta #3 en: Jueves 31 de Marzo de 2005, 17:07 »
0
mmm Gracias por la ayuda Super_G, puedes creer que el unico error fue haber escrito mal el MODEL, pfff mucho tonto, pero ahora tengo un problema con el linkeador, me sale:

Stub error (2002): can't find rtm.exe

Y como puedes ver cuando le doy JMP comenzar, lo que quiero hacer es volver a empezar, osea, seria como hacer un ciclo infinito, si me pudieras ayudar con ese problema, aunque no me salio ningun error despues de acomodar el MODEL.

Gracias chao.
El pasado son solo recuerdos, el futuro son solo sueños

Super_G

  • Miembro MUY activo
  • ***
  • Mensajes: 375
    • Ver Perfil
Re: Hola Mundo
« Respuesta #4 en: Viernes 1 de Abril de 2005, 04:01 »
0
bueno par alo del ciclo infinito simplemente cambias la posicion de "jmp comenzar"
 lo pones antes del finalizar el programa
antes de :

 MOV AH,4Ch
 INT 21h

y listo
para el  error no lo reconosco ¿que compilador usas y que linkeador?
yo use el tasm y el tlink

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Hola Mundo
« Respuesta #5 en: Domingo 3 de Abril de 2005, 00:50 »
0
El compilador es TASM, y ya arregle el problema ahora si funciona, pero todavia no he sacado el .exe
El pasado son solo recuerdos, el futuro son solo sueños

Super_G

  • Miembro MUY activo
  • ***
  • Mensajes: 375
    • Ver Perfil
Re: Hola Mundo
« Respuesta #6 en: Lunes 4 de Abril de 2005, 02:22 »
0
si has compilado el archivo(eje:miarchivo.asm)

tasm miarchivo.asm


y no tiene errores(genera el .OBJ) entoces solo falta enlazar con el TLINK.exe

tlink miarchivo.obj

y si esta todo bien debuelve el ejecutable

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Hola Mundo
« Respuesta #7 en: Lunes 4 de Abril de 2005, 17:24 »
0
Pues ya hice eso, el problema es cuando trato de linkearlo y me saca el error que te digo
El pasado son solo recuerdos, el futuro son solo sueños

Super_G

  • Miembro MUY activo
  • ***
  • Mensajes: 375
    • Ver Perfil
Re: Hola Mundo
« Respuesta #8 en: Miércoles 6 de Abril de 2005, 02:41 »
0
Que raro ami no me sale ningun error.