Ver Mensaje Individual
  #12 (permalink)  
Antiguo 16/08/2011, 10:45
Riki_89D
 
Fecha de Ingreso: abril-2010
Mensajes: 21
Antigüedad: 14 años
Puntos: 5
Respuesta: C/C++ Hola mundo sin Sistema Operativo

primero tienes que especificar con ORG la direccion de segmento del BIOS,osea 0x7c00,alli empezara el codigo del programa,no lo tienes especificado,pudes hacer tu hola mundo de 3 formas,1 usnado la interrupcion del BIOS 10h que trabaja con la pantalla,con la funcion teletipo y avanza cursor,el parametro debe estar en la aprte alta de AX (AH),pero no recuerdo el num que hace referncia a dicha funcion,deberias cargar un texto en el registro SI,y conla funcion LODSB cargar BIT a BIT en AH lo que hay en SI,y con OR AH,AH JSZ saltaria cuando la cadena ya estubiese cargada del todo y finalmente aisn se motraria,aqui lo e explicado muy por encima,busca ma sinfo sobre esto

otra forma es hacer esto mismo en un archivo aparte,en ASM claro...y cargarlo desde este mismo con la funcion 0x13 del BIO (Leer sectores de disco)

o ya hacerlo en C,que es la mejor opcion....


eso del "[EXTERN]" creo que era en Linux fijate bine de donde lo viste,es bastante mas complicado que eso,para llamar el kernel echo en C deberas pasar a modo protegido antes,no puedes hacerlo en modo real (16 bits)


saludos