16/08/2011, 10:45
|
| | Fecha de Ingreso: abril-2010
Mensajes: 21
Antigüedad: 14 años, 8 meses 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 |