Foros del Web » Programación para mayores de 30 ;) » Programación General »

BootLoader en ASM

Estas en el tema de BootLoader en ASM en el foro de Programación General en Foros del Web. Hola soy nuevo en este foro espero me puedan ayudar por que lo necesito urgentemente :( me hacen hacer un ejercicio de escribir un BootLoader ...
  #1 (permalink)  
Antiguo 17/04/2010, 14:15
 
Fecha de Ingreso: abril-2010
Mensajes: 21
Antigüedad: 14 años, 1 mes
Puntos: 5
BootLoader en ASM

Hola soy nuevo en este foro espero me puedan ayudar por que lo necesito urgentemente :(

me hacen hacer un ejercicio de escribir un BootLoader en ASM para luego ejecutarlo desde un CD/DVD al arranque del PC,solo tiene que decirme "Hola"

el codigo que tengo es el siguiente:
Código ASM:
Ver original
  1. .286P
  2. .MODEL TINY,STDCALL
  3. .CODE
  4. ORG 7C00H
  5. START:
  6. XOR AX,AX
  7. MOV DS,AX
  8. LEA SI,MENSAJE
  9. JMP ESCRIBE
  10. ESCRIBE:
  11. LODSB
  12. OR AL,AL
  13. JZ FINAL
  14. MOV AH,0EH
  15. INT 10H
  16. JMP ESCRIBE
  17. FINAL:
  18. RET
  19. MENSAJE DB 'Hola',0H
  20. DB 510-($-START) DUP(0)
  21. DW 0AA55H
  22. END START

Bien una vez tengo ese code echo con el masm32) pongo el archivo .asm en la carpeta bin,despues ejecuto desde la consola el ejecutable ml para ensamblar con la siguiente linea:

ml -c Boot.asm

i me lo ensambla bien!

despues ejecuto el link16 de la siguiente forma

link16 Boot.OBJ,Boot.BIN,MODEL/TINY

i me sale todo bien,afinal me queda un archivo BIN de 512 bytes,que es lo que tiene que ocupar el sector de arranque los primeros 512 bytes!

despues de todo eso pruebo el archivo BIN con un maquina virtual,en mi caso qemu ago lo siguiente:

qemu -fda Boot.BIN

i efectivamente!! funciona! y con virtualbox tmb funciona si le digo que cargue una imagen de disquette,pero nose como hacerlo para grabarlo en un DVD :( el nero no me deja,me dice que el archivo esta vacio o que no cotiene pistas o algo asin no lo entiendo :(


salu2

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:17.