Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

core_gdt.bi

Uploader:MitgliedThePuppetMaster
Datum/Zeit:26.08.2008 22:09:04

'###############################################################################################################
'###############################################################################################################
'###   F B - C O R E
'###############################################################################################################
'###############################################################################################################
'### Version:  1.00.0
'### Revision: 0
'###############################################################################################################
'### (c) 2008 By.: /_\ DeltaLab's Germany [experimental computing]
'### Author:       Martin Wiemann
'### Date of Idea: 2008.08.16 - 17:55:38
'###############################################################################################################
'### Copy('s) of this code or a part of this IS allowed!!!
'###############################################################################################################





'###############################################################################################################
Type Selector_Type Field = 1
    V_Limit         as UShort
    V_BaseAdr       as UInteger
End Type
'--------------------------------------------------------------------------------------------------------------------
Dim Shared GDT_Selector as Selector_Type





'###############################################################################################################
Type GDT_Segment_Type Field = 1
    V_SegSize       as UShort
    V_SegAdr0       as UShort
    V_SegAdr1       as UByte
    V_TypeAccess    as UByte
    V_AddInfo       as UByte
    V_SegAdr2       as UByte
End Type
'--------------------------------------------------------------------------------------------------------------------
Type GDT_Type Field = 1
    V_Null          as GDT_Segment_Type
    V_Code          as GDT_Segment_Type
    V_Data          as GDT_Segment_Type
End Type
'--------------------------------------------------------------------------------------------------------------------
Dim Shared GDT as GDT_Type





'###############################################################################################################
Private Sub GDT_Init()
With GDT.V_Null
    .V_SegSize          = &H0
    .V_SegAdr0          = &H0
    .V_SegAdr1          = &H0
    .V_TypeAccess       = &H0
    .V_AddInfo          = &H0
    .V_SegAdr2          = &H0
End With
With GDT.V_Code
    .V_SegSize          = &HFFFF
    .V_SegAdr0          = &H0
    .V_SegAdr1          = &H0
    .V_TypeAccess       = &H9A
    .V_AddInfo          = &HCF
    .V_SegAdr2          = &H0
End With
With GDT.V_Data
    .V_SegSize          = &HFFFF
    .V_SegAdr0          = &H0
    .V_SegAdr1          = &H0
    .V_TypeAccess       = &H92
    .V_AddInfo          = &HCF
    .V_SegAdr2          = &H0
End With
GDT_Selector.V_Limit            = SizeOf(GDT_Type) - 1
GDT_Selector.V_BaseAdr          = Cast(UInteger, @GDT)
Asm
    cli
    lgdt [GDT_Selector]
    mov ax,     &H10
    mov ss,     ax
End Asm
End Sub