Useful functions.
git-svn-id: https://spexeah.com:8443/svn/Asuro@264 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
parent
43e1abf3cb
commit
447446f478
BIN
bin/kernel.bin
BIN
bin/kernel.bin
Binary file not shown.
Binary file not shown.
BIN
lib/PCI.ppu
BIN
lib/PCI.ppu
Binary file not shown.
BIN
lib/console.ppu
BIN
lib/console.ppu
Binary file not shown.
BIN
lib/idt.ppu
BIN
lib/idt.ppu
Binary file not shown.
BIN
lib/irq.ppu
BIN
lib/irq.ppu
Binary file not shown.
BIN
lib/isr0.ppu
BIN
lib/isr0.ppu
Binary file not shown.
BIN
lib/isr1.ppu
BIN
lib/isr1.ppu
Binary file not shown.
BIN
lib/isr10.ppu
BIN
lib/isr10.ppu
Binary file not shown.
BIN
lib/isr11.ppu
BIN
lib/isr11.ppu
Binary file not shown.
BIN
lib/isr12.ppu
BIN
lib/isr12.ppu
Binary file not shown.
BIN
lib/isr13.ppu
BIN
lib/isr13.ppu
Binary file not shown.
BIN
lib/isr14.ppu
BIN
lib/isr14.ppu
Binary file not shown.
BIN
lib/isr15.ppu
BIN
lib/isr15.ppu
Binary file not shown.
BIN
lib/isr16.ppu
BIN
lib/isr16.ppu
Binary file not shown.
BIN
lib/isr17.ppu
BIN
lib/isr17.ppu
Binary file not shown.
BIN
lib/isr18.ppu
BIN
lib/isr18.ppu
Binary file not shown.
BIN
lib/isr2.ppu
BIN
lib/isr2.ppu
Binary file not shown.
BIN
lib/isr3.ppu
BIN
lib/isr3.ppu
Binary file not shown.
BIN
lib/isr32.ppu
BIN
lib/isr32.ppu
Binary file not shown.
BIN
lib/isr33.ppu
BIN
lib/isr33.ppu
Binary file not shown.
BIN
lib/isr4.ppu
BIN
lib/isr4.ppu
Binary file not shown.
BIN
lib/isr40.ppu
BIN
lib/isr40.ppu
Binary file not shown.
BIN
lib/isr44.ppu
BIN
lib/isr44.ppu
Binary file not shown.
BIN
lib/isr5.ppu
BIN
lib/isr5.ppu
Binary file not shown.
BIN
lib/isr6.ppu
BIN
lib/isr6.ppu
Binary file not shown.
BIN
lib/isr7.ppu
BIN
lib/isr7.ppu
Binary file not shown.
BIN
lib/isr8.ppu
BIN
lib/isr8.ppu
Binary file not shown.
BIN
lib/isr9.ppu
BIN
lib/isr9.ppu
Binary file not shown.
BIN
lib/kernel.ppu
BIN
lib/kernel.ppu
Binary file not shown.
BIN
lib/keyboard.ppu
BIN
lib/keyboard.ppu
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lib/libpsystem.a
BIN
lib/libpsystem.a
Binary file not shown.
Binary file not shown.
BIN
lib/mouse.ppu
BIN
lib/mouse.ppu
Binary file not shown.
Binary file not shown.
BIN
lib/terminal.ppu
BIN
lib/terminal.ppu
Binary file not shown.
BIN
lib/util.ppu
BIN
lib/util.ppu
Binary file not shown.
Binary file not shown.
28
src/util.pas
28
src/util.pas
@ -19,19 +19,25 @@ uses
|
|||||||
procedure CLI();
|
procedure CLI();
|
||||||
procedure STI();
|
procedure STI();
|
||||||
procedure GPF();
|
procedure GPF();
|
||||||
|
|
||||||
function hi(b : uint8) : uint8;
|
function hi(b : uint8) : uint8;
|
||||||
function lo(b : uint8) : uint8;
|
function lo(b : uint8) : uint8;
|
||||||
function switchendian(b : uint8) : uint8;
|
function switchendian(b : uint8) : uint8;
|
||||||
|
function getWord(i : uint32; hi : boolean) : uint16;
|
||||||
|
function getByte(i : uint32; index : uint8) : uint8;
|
||||||
|
|
||||||
procedure outb(port : uint16; val : uint8);
|
procedure outb(port : uint16; val : uint8);
|
||||||
procedure outw(port : uint16; val : uint16);
|
procedure outw(port : uint16; val : uint16);
|
||||||
procedure outl(port : uint16; val : uint32);
|
procedure outl(port : uint16; val : uint32);
|
||||||
procedure halt_and_catch_fire();
|
|
||||||
procedure halt_and_dont_catch_fire();
|
|
||||||
function inb(port : uint16) : uint8;
|
function inb(port : uint16) : uint8;
|
||||||
function inw(port : uint16) : uint16;
|
function inw(port : uint16) : uint16;
|
||||||
function inl(port : uint16) : uint32;
|
function inl(port : uint16) : uint32;
|
||||||
|
|
||||||
procedure memset(location : uint32; value : uint8; size : uint32);
|
procedure memset(location : uint32; value : uint8; size : uint32);
|
||||||
procedure memcpy(source : uint32; dest : uint32; size : uint32);
|
procedure memcpy(source : uint32; dest : uint32; size : uint32);
|
||||||
|
|
||||||
|
procedure halt_and_catch_fire();
|
||||||
|
procedure halt_and_dont_catch_fire();
|
||||||
procedure psleep(t : uint16);
|
procedure psleep(t : uint16);
|
||||||
|
|
||||||
var
|
var
|
||||||
@ -203,4 +209,22 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function getWord(i : uint32; hi : boolean) : uint16;
|
||||||
|
begin
|
||||||
|
if hi then begin
|
||||||
|
getWord:= (i AND $FFFF0000) SHR 16;
|
||||||
|
end else begin
|
||||||
|
getWord:= (i AND $0000FFFF);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function getByte(i : uint32; index : uint8) : uint8;
|
||||||
|
var
|
||||||
|
mask : uint32;
|
||||||
|
|
||||||
|
begin
|
||||||
|
mask:= ($FF SHL (8*index));
|
||||||
|
getByte:= (i AND mask) SHR (8*index);
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user