Programación General > ASM (Ensamblador)
Entrevista A Un Hacker De Ensamblador
Eternal Idol:
--- Cita de: "Enko" --- Tengo una duda, Si el kernel funciona en 32 bit, no podría acceder a las interupciones de la Bios, entonces... ¿Como se hace? Acceso a hardware mediante puertos y direcciones de memoria?
¿Hay forma de usar interupciones con kernel en modo real (32 bit me refiero sino me equivoco con el nombre)?
--- Fin de la cita ---
No, al menos no directamente de la manera tradicional. Modo real es el de 16 bits, modo protegido es de 32 bits. Y si, para usar interrupciones (las usa cualquier S.O. para sus servicios -amen de las instrucciones de "fastcall"- y ademas para el hardware) se hace igual que con la memoria hay un registro (idtr) que especifica la direccion de inicio de la tabla de interrupciones que apunta a direcciones virtuales de 32 bits.
Siempre es posible pasar a modo real, ejecutar lo que quieras y volver pero no es eficiente. Yo lo que habia hecho era jugar un poco con la "consola", total es solo acceso a memoria :lol:
pabloreda:
Hola a todos
Hace unos meses estuve portando mi lenguaje a DEXOS y me tope con dos problemas, por lo que abandone momentaneamente esto y espero retomarlo algun dia.
El primer problema es que utilizo el scancode del teclado directo y Dex convierte este codigo en el kernel mismo, la modificacion que tengo que hacer no es muy dificil, de hecho es sacar cosas mas que agregar.
La segunda es que no dispone de una funcion para calcular los milisegundos y tendria que hacer una interrupcion que lo hiciera.
De todos modos espero algun dia continuar con este port...ya funcionaba algo
Lo que me intereso del DexOS es que funciona en modo Unreal, maxima velocidad y sin pag no seg.
Me interesariaprobar si es posible quitar las interrupciones, es decir, que funcione con las interrupciones apagadas y cada tanto, prenderlas, responder a ellas y apagarlas, al revez de lo que pasa ahora..
alguien sabe si esto es posible ?
Eternal Idol:
--- Cita de: "pabloreda" ---Hace unos meses estuve portando mi lenguaje a DEXOS y me tope con dos problemas, por lo que abandone momentaneamente esto y espero retomarlo algun dia.
El primer problema ...
--- Fin de la cita ---
No creo que el tipo de la entrevista sepa castellano.
--- Cita de: "pabloreda" ---Me interesariaprobar si es posible quitar las interrupciones, es decir, que funcione con las interrupciones apagadas y cada tanto, prenderlas, responder a ellas y apagarlas, al revez de lo que pasa ahora..
alguien sabe si esto es posible ?
--- Fin de la cita ---
cli/sti ... aunque vos veras si realmente queres hacerlo.
pabloreda:
Ingles, no claro, etermal, podes ver los post en el foro correspondiente.
No me referia a que instrucciones se usan para activar o desactivar las int sino a si existe alguna prueba al respecto, es decir, hacer un SO sin interrupciones, o manejadas de modo que siempre esten inactivas y cada tanto, que se activen solo para averiguar si ocurrio un evento y luego desactivarlas.
Existe algun detalle que deba tener en cuenta para hacer esto ?
saludos :hola:
Eternal Idol:
--- Cita de: "pabloreda" ---Ingles, no claro, etermal, podes ver los post en el foro correspondiente.
--- Fin de la cita ---
Puedo, pero justamente estaba diciendo que no tienen relevancia en este foro.
--- Cita de: "pabloreda" ---No me referia a que instrucciones se usan para activar o desactivar las int sino a si existe alguna prueba al respecto, es decir, hacer un SO sin interrupciones, o manejadas de modo que siempre esten inactivas y cada tanto, que se activen solo para averiguar si ocurrio un evento y luego desactivarlas.
--- Fin de la cita ---
No lo se, me imagino que no.
--- Cita de: "pabloreda" ---Existe algun detalle que deba tener en cuenta para hacer esto ?
--- Fin de la cita ---
Si, la razon por la cual existen y se usan las interrupciones.
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa