• Domingo 22 de Diciembre de 2024, 13:48

Autor Tema:  Ejemplo De Programa Booteable  (Leído 3650 veces)

fdxx

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Ejemplo De Programa Booteable
« en: Martes 20 de Mayo de 2008, 18:31 »
0
Buenas tardes, hace unos dias me estoy iniciando en la programación con lenguaje ensamblador, estube buscando varios ejemplos por internet, y por el foro este tambien, de programas para bootearlos desde un diskette, encontre varios, pero hacian mas de lo que entiendo...

Queria saber si podrian mostrarme un ejemplo de un programa que SOLAMENTE arranque desde el diskette y muestre un texto como maximo, algo simple, asi puedo entender mas o menos como funciona, bueno desde ya gracias.

pd: tambien me gustaria que me recomienden que compliador usar, actualmente uso NAMS, pero tengo tambien y vi varios ejemplos de FASM, y no se con cual quedarme.

Saludos

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Ejemplo De Programa Booteable
« Respuesta #1 en: Martes 20 de Mayo de 2008, 18:56 »
0
Directo de este hilo Como bootear una maquina.

Código: Text
  1.  
  2. .186
  3. .model tiny
  4.  
  5. Codigo segment 'code'
  6.  
  7. reset equ DB 0EAh, 0h, 0h, 0FFh, 0FFh
  8.  
  9. IFDEF LOADER
  10.  org 07C00h
  11. ELSEIFNDEF
  12.  org 0100h
  13. ENDIF
  14.  
  15. main:
  16.  IFDEF LOADER
  17.    mov ax, 0FFFFh
  18.    mov ds, ax
  19.  ENDIF
  20.  
  21.  mov ax, cs
  22.  mov ds, ax
  23.    
  24.  mov si, offset msg
  25.  call prints
  26.  call getchar
  27.  
  28.  IFDEF LOADER
  29.    reset
  30.  ELSEIFNDEF
  31.    call exit
  32.  ENDIF
  33.  
  34. exit :
  35.   mov ah, 4Ch
  36.  int 21h
  37.  
  38. putchar:
  39.  pusha
  40.    mov ah, 0Eh
  41.    xor bh, bh
  42.    int 10h
  43.  popa
  44. ret
  45.  
  46. prints:
  47.  prints_bucle:
  48.  lodsb
  49.  cmp al, 0
  50.  jz prints_fin
  51.  call putchar
  52.  jmp prints_bucle
  53.  prints_fin:
  54. ret
  55.  
  56. getchar:
  57.  xor ah, ah
  58.  int 16h
  59. ret
  60.      
  61. msg db "Presione una tecla para continuar", 0
  62.  
  63. Codigo ends
  64.  
  65. End Main
  66.  
  67.  

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.

fdxx

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Ejemplo De Programa Booteable
« Respuesta #2 en: Martes 20 de Mayo de 2008, 22:03 »
0
Gracias por responder, pero me tira error cuando trato de compliar ese codigo...

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Ejemplo De Programa Booteable
« Respuesta #3 en: Martes 20 de Mayo de 2008, 22:06 »
0
De nada pero el problema esta de tu lado. Ese codigo ensambla perfectamente usando una version de MASM de 16 bits.

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.

fdxx

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Ejemplo De Programa Booteable
« Respuesta #4 en: Martes 20 de Mayo de 2008, 22:18 »
0
Efectivamente estaba de mi lado el error, gracias y perdon :)

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Ejemplo De Programa Booteable
« Respuesta #5 en: Miércoles 21 de Mayo de 2008, 09:22 »
0
No problem  B)

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.