• Viernes 3 de Mayo de 2024, 00:09

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - germancho7186

Páginas: [1]
1
C/C++ / <pshpack1.h>, <poppack.h>
« en: Sábado 14 de Febrero de 2009, 16:25 »
¿Para que sirve esto archivos de cabecera?

pshpack1.h
pshpack2.h
pshpack4.h
pshpack8.h
pshpack16.h
poppack.h

He notado que la utilización de estas cabeceras, influyen en el tamaño de las estructuras.
¿A qué se debe ésto?, ¿Pará que utilizarlas?, ¿Cuando es necesario utilizarlas?

2
ASM (Ensamblador) / Re: Problemas Con El Salto A Modo Protegido
« en: Viernes 9 de Enero de 2009, 00:34 »
No, el bootloader ya lo tengo, y este debería ser el kernel.

Si escribo el código en 16 bits todo funciona bien, el problema es cuando intento pasar a modo protegido.

3
ASM (Ensamblador) / Re: Problemas Con El Salto A Modo Protegido
« en: Miércoles 7 de Enero de 2009, 19:53 »
Aun no logro hacerlo funcionar, ¿que es lo que estoy haciendo mal?

Código: Text
  1. [BITS 16]
  2.     jmp Start
  3. GDT:
  4. GDT_NULL:
  5.     dq 0
  6. GDT_CODE:
  7.     dw 0FFFFh
  8.     dw 0
  9.     db 0
  10.     db 10011010b
  11.     db 11001111b
  12.     db 0
  13. GDT_DATA:
  14.     dw 0FFFFh
  15.     dw 0
  16.     db 0
  17.     db 10010010b
  18.     db 11001111b
  19.     db 0
  20. GDT_END:
  21. GDT_DESC:
  22.     dw GDT_END - GDT - 1
  23.     dd GDT
  24.     dw 0
  25. Start:
  26.     cli
  27.     xor ax, ax
  28.     mov ds, ax
  29.    
  30.     lgdt [GDT_DESC]
  31.    
  32.     mov eax, cr0
  33.     or eax, 1
  34.     mov cr0, eax
  35.    
  36.     ;jmp dword 08h:10000h                   ; ???
  37.     ;jmp dword 08h:ProtectedMode            ; ???
  38.     jmp dword GDT_CODE:ProtectedMode
  39.  
  40.    
  41. [BITS 32]
  42. ProtectedMode:
  43.  
  44.     jmp $
  45.    
  46.  

Estoy usando el NASM.
nasm -f bin kernel.asm -o kernel.bin

4
ASM (Ensamblador) / Problemas Con El Salto A Modo Protegido
« en: Miércoles 24 de Diciembre de 2008, 23:48 »
Yo tengo el mismo problema.

Este el código de mi kernel:

Código: Text
  1.  
  2. [BITS 16]
  3.     jmp Start
  4.  
  5. GDT:
  6. GDT_NULL:
  7.     dq 0
  8. GDT_CODE:
  9.     dw 0FFFFh
  10.     dw 0
  11.     db 0
  12.     db 10011010b
  13.     db 11001111b
  14.     db 0
  15. GDT_DATA:
  16.     dw 0FFFFh
  17.     dw 0
  18.     db 0
  19.     db 10010010b
  20.     db 11001111b
  21.     db 0
  22. GDT_END:
  23. GDT_DESC:
  24.     db GDT_END - GDT
  25.     dw GDT
  26.    
  27. Start:
  28.     cli
  29.     mov ax, ax
  30.     mov ds, ax
  31.    
  32.     lgdt [GDT_DESC]
  33.    
  34.     mov eax, cr0
  35.     or eax, 1
  36.     mov cr0, eax
  37.    
  38.     jmp 08h:ProtectedMode
  39.    
  40. [BITS 32]
  41. ProtectedMode:
  42.  
  43.     jmp $
  44.    
  45.  
  46.  

Cuando lo ejecuto en VirtualPC, me aparece un mensaje que dice: "Error irrecuperable del procesador". Alguien me podría explicar porque no funciona.

Páginas: [1]