Autor
|
Tema: Duda sobre bootloader en paso a modo protegido (Leído 7,739 veces)
|
armizh
Desconectado
Mensajes: 187
His brain caught in a hole...
|
Bueno la verdad, la duda no es sobre el paso a modo protegido, sino que no estoy seguro si esta funcionando como deberia. He buscado muchisima información pero nada ayuda a salir de mi duda. Ahora explicando, pues el bootloader es bastante simple, arranca el sistema, muestra un mensaje, luego pasa a modo protegido y muestra otro mensaje, el problema es que el segundo mensaje no se imprime en la pantalla al 100 %. Cree un blog en el que voy publicando cualquier avance, y ahi esta mi duda. Por cierto, el código está publicado y recién estoy empezando, la publicación del blog es INNECESARIA. Esto lo estoy haciendo para aprender y para que otras personas se animen a aprender. ;----------------boot.asm------------------; [BITS 16] [ORG 0x7c00] jmp main bootmesg db "Loading... please wait... " pm_mesg db "Switching to protected mode. " init: mov ax, cs mov ds, ax mov es, ax ret print_mesg : mov ah,0x13 mov al,0x00 mov bx,0x0007 mov cx,0x20 mov dx,0x0000 int 0x10 ret clrscr : mov ax,0x0600 mov cx,0x0000 mov dx,0x174f mov bh,0 int 0x10 ret switch_protected: cli mov eax, cr0 or eax, 1 mov cr0, eax jmp 0x08:protected_main main: call init call clrscr mov bp,bootmesg call print_mesg call switch_protected jmp main [BITS 32] protected_main: mov bp,pm_mesg call print_mesg jmp protected_main times 510-($-$$) db 0 db 0x55 db 0xAA
|
|
« Última modificación: 11 Diciembre 2011, 16:25 pm por Eternal Idol »
|
En línea
|
Visita mi blog: http://armizh.10h.us/Fnx, fork de FreeNOS: git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++: git clone https://github.com/armizh/Hamster
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.966
Israel nunca torturó niños, ni lo volverá a hacer.
|
Escribe solo en modo real y escribe los 32 caracteres que le mandas escribir ... CX = number of characters in string.http://www.ctyme.com/intr/rb-0210.htmMejor termina las cadenas con un 0 terminador.
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
armizh
Desconectado
Mensajes: 187
His brain caught in a hole...
|
Escribe solo en modo real y escribe los 32 caracteres que le mandas escribir ...
CX = number of characters in string.
Ohhh jeje, siertamente fue un error estupido, debi haber revisado bien esa página anoche, o tal vez estaria medio dormido Pero, ahora me surge una nueva duda, realmente escribe solo en modo real y ya que pase a modo protegido simplemente no escribe lo segundo... ¿como se escribe en pantalla en modo protegido? Graciaas
|
|
|
En línea
|
Visita mi blog: http://armizh.10h.us/Fnx, fork de FreeNOS: git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++: git clone https://github.com/armizh/Hamster
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.966
Israel nunca torturó niños, ni lo volverá a hacer.
|
Directamente escrbiendo en la memoria, empezando por 0B8000h. http://wiki.osdev.org/Printing_to_Screen
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
armizh
Desconectado
Mensajes: 187
His brain caught in a hole...
|
Perdon por tantas preguntas tal vez estupidas, pero como se hace eso?
|
|
|
En línea
|
Visita mi blog: http://armizh.10h.us/Fnx, fork de FreeNOS: git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++: git clone https://github.com/armizh/Hamster
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.966
Israel nunca torturó niños, ni lo volverá a hacer.
|
¿Leiste el enlace que deje? ¿Tenes alguna duda concreta?
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
armizh
Desconectado
Mensajes: 187
His brain caught in a hole...
|
¿Leiste el enlace que deje? ¿Tenes alguna duda concreta?
Bueno, se supone que el orden es 0x000b8000: 'H', colourforH cambio 'colourforH' por 0x07 que es lightgrey-on-black pero a la hora de compilar me aparece 'error: label or instruction expected at start of line'
|
|
|
En línea
|
Visita mi blog: http://armizh.10h.us/Fnx, fork de FreeNOS: git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++: git clone https://github.com/armizh/Hamster
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.966
Israel nunca torturó niños, ni lo volverá a hacer.
|
Eso no es codigo, lee el enlace completo de nuevo, sobre el final tenes un ejemplo: mov [0xb8000], 0x07690748
Igual sin saber assembly mucho mas que copiar y pegar no vas a estar haciendo la verdad ...
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
armizh
Desconectado
Mensajes: 187
His brain caught in a hole...
|
Eso no es codigo, lee el enlace completo de nuevo, sobre el final tenes un ejemplo: mov [0xb8000], 0x07690748
Igual sin saber assembly mucho mas que copiar y pegar no vas a estar haciendo la verdad ... Siento defraudarte por dos razones: primero no soy ningun genio ni erudito del asm, estoy aprendiendo lo basico como para poder pasar ya a C o C++ o cualquier lenguaje para crear un kernel, y segundo, esto es una de las pocas cosas que he estado haciendo con copiar y pegar... Creo que me faltab algo: aun con el ejemplo no compila 'error: operation size not specified' Realmente creo que hay veces en que nos gustaria que nos explicaran algo, especialmente a los que estamos comenzando. Gracias de todos modos
|
|
|
En línea
|
Visita mi blog: http://armizh.10h.us/Fnx, fork de FreeNOS: git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++: git clone https://github.com/armizh/Hamster
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.966
Israel nunca torturó niños, ni lo volverá a hacer.
|
Convengamos que tomar eso por codigo no es precisamente ser un genio o erudito sino mas bien no tener ni la mas minima idea. Si estas empezando lo que tenes que hacer es leer los hilos que estan fijados arriba en el subforo y mas que nada comprarte un libro de ensamblador. Asi al menos iras comprendiendo lo que estas haciendo y te daras cuenta tambien que muchas veces alguien que sabe contar quiere que le enseñen raices cubicas personas que no son maestros ni cobran por responder. Primero aprende a sumar, restar, multiplicar y dividir.
PD. Proba con mov dword ptr [], yo trabajo con MASM y no con NASM.
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema al debuguear paso de modo usuario a modo kernel
Ingeniería Inversa
|
jauma
|
0
|
2,185
|
11 Junio 2006, 20:53 pm
por jauma
|
|
|
Adobe Reader tendrá un modo protegido”
Noticias
|
Novlucker
|
0
|
1,562
|
21 Julio 2010, 13:46 pm
por Novlucker
|
|
|
Pasar a modo protegido problema
ASM
|
Riki_89D
|
1
|
4,972
|
4 Mayo 2011, 20:19 pm
por karmany
|
|
|
Duda sobre modo :P
ASM
|
S3kh
|
7
|
4,606
|
19 Julio 2011, 15:46 pm
por _Enko
|
|
|
Utilidad para vigilar el uso del Modo Protegido en Internet Explorer
Noticias
|
wolfbcn
|
0
|
2,015
|
23 Mayo 2012, 22:59 pm
por wolfbcn
|
|