elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
14 Febrero 2012, 05:44  

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  El sector de arranque (ASM)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: El sector de arranque (ASM)  (Leído 3,284 veces)
Riki_89D


Desconectado Desconectado

Mensajes: 842


BCN CITY


Ver Perfil
El sector de arranque (ASM)
« en: 5 Marzo 2010, 21:25 »

Hola que tal estan??


bueno vi una practica en PDF que explicaba como programar el sector de arraque de un ordenador y a la vez definia lo que es el sector de arrranque,pues bien el code que poninan solo colgaba el PC,pero es para ver como se programa i tal en ASM de 16 BIts (a modo real), para realizar esa practica me piden estos programas:

El ensamblador: gas    (No lo e encontrado :()
El Enlazador: id           (No lo e encontrado)
El emulador: Qemu   (Este si lo encontre)

i digo yo,no se puede hacer eso por ejemplo con FASM?????

como seria el code con FASM??

salu2


En línea
Riki_89D


Desconectado Desconectado

Mensajes: 842


BCN CITY


Ver Perfil
Re: El sector de arranque (ASM)
« Respuesta #1 en: 5 Marzo 2010, 21:38 »

He encontrado este code en FASM,es sobre el setor de arranque,sesupone que debe salir un "HOL MUNDO":
Código
org 0x7C00
use16
 
;-----------------------------; INICIO
 
inicio:
 
  xor      ax,ax      ; AX = 0
  mov      ds,ax      ; DS = 0
  mov      si,msg      ; SI apunta a msg
  call      print      ; Llamamos al procedimiento print
 
  jmp  $
 
;-----------------------------; PRINT
print:
 
  lodsb            ; Cargamos el caracter de DS:SI en AL
  or   al,al         ; Hacemos un OR al registro AL
  jz    .fin_print      ; Terminamos si es cero
  mov   ah,0x0E         ; Poner caracter (parametro int 0x10)
  int   0x10            ; BIOS VIDEO
  jmp   print         ; Siguiente caracter
 
.fin_print:
 
  ret            ; termina el procedimiento y regresamos
 
;-----------------------------; CONSTANTES
 
  msg   db   " HOLA MUNDO!",0      
 
;-----------------------------; FIRMA
 
times 510- ($-inicio)  db 0
dw 0xaa55
 


alfinal de todo me queda un archivo .BIN,que ago entonces para probar eso?? que hago con el archivo BIN????



salu2


En línea
bizco


Desconectado Desconectado

Mensajes: 698


Ver Perfil
Re: El sector de arranque (ASM)
« Respuesta #2 en: 5 Marzo 2010, 22:45 »

Citar
El ensamblador: gas    (No lo e encontrado :()

yo creo que se habla de gnu assembler (gas).
En línea
Riki_89D


Desconectado Desconectado

Mensajes: 842


BCN CITY


Ver Perfil
Re: El sector de arranque (ASM)
« Respuesta #3 en: 5 Marzo 2010, 22:56 »

I que me dices del .BIN??? pueod meterlo en un Pnendrive i arrancar desde alli???



salu2
En línea
08l00D

Desconectado Desconectado

Mensajes: 168


Ver Perfil
Re: El sector de arranque (ASM)
« Respuesta #4 en: 6 Marzo 2010, 00:43 »

Si, podes hacer booteable un pendrive hay herramientas para ello. Pero tampoco es necesario para lo que queres hacer, algo mas aconsejable es que testees esas cosas en una virtual machine o maquina virtual como bochs o qemu.
Busca en google vas a encontrar informacion a montones, en la pagina http://osdev.org tambien hay mucha informacion acerca del sector de arranque que supongo te sera de interes...

Y por lo de gas y ld, son herramientas parte de gnu utilities y desconozco si hay un port para windows, lo que si podes usar cygwin para emular un entorno unix instalar los paquetes binutils y usarlos desde ese entorno emulado..
En línea
Riki_89D


Desconectado Desconectado

Mensajes: 842


BCN CITY


Ver Perfil
Re: El sector de arranque (ASM)
« Respuesta #5 en: 6 Marzo 2010, 19:39 »

OK,pues ya tengo el QEMU,Pero,como le digo al QEMU que inicio mi Archvo BIN (BOOT.BIN) para ver si funciona correcatmente????

e buscadoe n google tutoriales i me salen paa emular Windows i son para Linux :(



salu2
En línea
08l00D

Desconectado Desconectado

Mensajes: 168


Ver Perfil
Re: El sector de arranque (ASM)
« Respuesta #6 en: 6 Marzo 2010, 20:23 »

Con QEMU podes emular el booteo desde un CD, disco Floppy, etc. Para eso tenes que crear una imagen con tu archivo binario, y despues se lo pasas como parametro a QEMU...

Para crear el archivo imagen -> http://www.nu2.nu/mkbt/
Código:
mkbt tu_archivo.bin tu_archivo.img
Para ejecutar QEMU..
Código:
qemu -L .\ -fda tu_archivo.img

http://wiki.osdev.org/Bare_Bones
http://wiki.osdev.org/QEMU
http://wiki.osdev.org/Disk_Images
http://www.nu2.nu/mkbt/

tan bien no habias buscado  :P
En línea
Riki_89D


Desconectado Desconectado

Mensajes: 842


BCN CITY


Ver Perfil
Re: El sector de arranque (ASM)
« Respuesta #7 en: 6 Marzo 2010, 21:11 »

ok,yo ago:  mkbt Boot.bin IMagen.img

i me dice k IMagen.img no existe,entonces ese archivo ya tiene k estar creado???
En línea
Riki_89D


Desconectado Desconectado

Mensajes: 842


BCN CITY


Ver Perfil
Re: El sector de arranque (ASM)
« Respuesta #8 en: 6 Marzo 2010, 21:15 »

É Echo esto:

qemu -L .\ -fda Boot.BIN


i me a salido EL HOLA MUNDO ^^ me a funcionado!!

i la ultima pregunta es,ara para k me vaya en el pc isn el qemu osea para probarlo de verdad devria grabarlo en un CD rom asin tal kual i ejecutar el CD desde el inico del PC no??
En línea
08l00D

Desconectado Desconectado

Mensajes: 168


Ver Perfil
Re: El sector de arranque (ASM)
« Respuesta #9 en: 7 Marzo 2010, 20:10 »

É Echo esto:

qemu -L .\ -fda Boot.BIN


i me a salido EL HOLA MUNDO ^^ me a funcionado!!

i la ultima pregunta es,ara para k me vaya en el pc isn el qemu osea para probarlo de verdad devria grabarlo en un CD rom asin tal kual i ejecutar el CD desde el inico del PC no??
Hacer un CD Booteable es otra historia, hay un estandar especifico llamado El Torito para hacer booteable un CD.
Te recomiendo que te pongas a leer antes que nada.. mira aca te dejo un par de links ...
http://wiki.osdev.org/El-Torito
http://wiki.osdev.org/Bootable_CD
En línea
Riki_89D


Desconectado Desconectado

Mensajes: 842


BCN CITY


Ver Perfil
Re: El sector de arranque (ASM)
« Respuesta #10 en: 7 Marzo 2010, 21:03 »

Entonces el archivo Boot.bin por lo que e leido debp pasarlo a ISO i grabarlo en un CD para que me funcione desde la BIOS??????? o tengo k meter el Boot.BIN en una carpeta i grabarla sin tal kual ene l CD??c
« Última modificación: 12 Marzo 2010, 21:43 por Riki_89D » En línea
08l00D

Desconectado Desconectado

Mensajes: 168


Ver Perfil
Re: El sector de arranque (ASM)
« Respuesta #11 en: 7 Marzo 2010, 21:11 »

Segun el estandar El Torito una de las formas en la que podes bootear desde un CD que la BIOS haga una emulacion de un booteo desde floppy, para eso tenes que quemar una imagen floppy en el CD...
Lee los links que te puse, y busca en google las preguntas que haces las podes encontrar sin problemas buscando un poco...
En línea
JaimeAsm

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Re: El sector de arranque (ASM)
« Respuesta #12 en: 8 Marzo 2010, 13:19 »

Yo tegno el mismo problema,con FASM obtengo el BIN,con el QEMU pongo QEMU -L .\ hda Boot.BIN i me sale bien.pero nse como grabarlo en un CD i probarlo desde la BIOS real!
En línea
Riki_89D


Desconectado Desconectado

Mensajes: 842


BCN CITY


Ver Perfil
Re: El sector de arranque (ASM)
« Respuesta #13 en: 18 Abril 2010, 20:06 »

Ya esta por fin!!! ya me funciona desde el CD pues menuda tonteria era,solo tenia k grabar el bin con el nero 8 i no el 6 como hacia yo k seve k no va muy bien o eso e experimentado xD


SALU2
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Bad Sector o Sector Dañado en Discos Duros
Hardware
Javi Cabfer 2 633 Último mensaje 7 Noviembre 2011, 22:38
por Javi Cabfer
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines