git-svn-id: https://spexeah.com:8443/svn/Asuro@18 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
kieron committed 2017-05-15 19:52:31 +00:00
1 parent e33d8ad9eb
commit eebe77ad9b
19 files changed
+13 -8

No files matched your search

BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+13 -8
View File
@@ -13,10 +13,11 @@ type
limit_n_flags : Byte; limit_n_flags : Byte;
base_high : Byte; base_high : Byte;
end; end;
PSegmentDescriptor = ^TSegmentDescriptor;
var var
GDTarr : array[0..3] of TSegementDescriptor; GDTarr : array of TSegementDescriptor;
GDTptr : ^TSegementDescriptor; GDTptr : PSegmentDescriptor;
GDT_length : integer = 0; GDT_length : integer = 0;
procedure init(); procedure init();
@@ -50,14 +51,18 @@ var
descriptor_ptr : ^Byte = @descriptor[0]; descriptor_ptr : ^Byte = @descriptor[0];
s_descriptor : TSegementDescriptor; s_descriptor : TSegementDescriptor;
s_descriptor_ptr : ^TSegementDescriptor = @s_descriptor; s_descriptor_ptr : ^TSegementDescriptor = @s_descriptor;
begin begin
if limit <= 65536 then if limit <= 65536 then begin
descriptor[6] := $40 descriptor[6] := $40
else end else begin
if (limit and $FFF) <> $FFF then if (limit and $FFF) <> $FFF then begin
limit := (limit >> 12) -1 limit := (limit SHR 12) -1
else end else begin
limit := limit >> 12; limit := limit SHR 12;
end;
end;
descriptor[6] := $C0; descriptor[6] := $C0;
descriptor[0] := limit and $FF; descriptor[0] := limit and $FF;