N/A
git-svn-id: https://spexeah.com:8443/svn/Asuro@18 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
1 parent
e33d8ad9eb
commit
eebe77ad9b
19 files changed
+13
-8
No files matched your search
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+13
-8
@@ -13,10 +13,11 @@ type
|
||||
limit_n_flags : Byte;
|
||||
base_high : Byte;
|
||||
end;
|
||||
PSegmentDescriptor = ^TSegmentDescriptor;
|
||||
|
||||
var
|
||||
GDTarr : array[0..3] of TSegementDescriptor;
|
||||
GDTptr : ^TSegementDescriptor;
|
||||
GDTarr : array of TSegementDescriptor;
|
||||
GDTptr : PSegmentDescriptor;
|
||||
GDT_length : integer = 0;
|
||||
|
||||
procedure init();
|
||||
@@ -50,14 +51,18 @@ var
|
||||
descriptor_ptr : ^Byte = @descriptor[0];
|
||||
s_descriptor : TSegementDescriptor;
|
||||
s_descriptor_ptr : ^TSegementDescriptor = @s_descriptor;
|
||||
|
||||
begin
|
||||
if limit <= 65536 then
|
||||
if limit <= 65536 then begin
|
||||
descriptor[6] := $40
|
||||
else
|
||||
if (limit and $FFF) <> $FFF then
|
||||
limit := (limit >> 12) -1
|
||||
else
|
||||
limit := limit >> 12;
|
||||
end else begin
|
||||
if (limit and $FFF) <> $FFF then begin
|
||||
limit := (limit SHR 12) -1
|
||||
end else begin
|
||||
limit := limit SHR 12;
|
||||
end;
|
||||
end;
|
||||
|
||||
descriptor[6] := $C0;
|
||||
|
||||
descriptor[0] := limit and $FF;
|
||||
|
||||
Reference in new issue
Block a user