feat: ensemble de fonctions permettant la gestion des I/O
This commit is contained in:
parent
7b41bd6595
commit
d03e3ce1ae
|
@ -0,0 +1,66 @@
|
||||||
|
#include "types.h"
|
||||||
|
#include "asm.h"
|
||||||
|
|
||||||
|
void outreg(u16 port,u8 *src,u16 num)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for(i=0;i<num;i++)
|
||||||
|
{
|
||||||
|
outb(port,i);
|
||||||
|
outb(port+1,*src++);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void outregsame(u16 port,u8 *src,u16 num)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for(i=0;i<num;i++)
|
||||||
|
{
|
||||||
|
inw(port);
|
||||||
|
outb(port,i);
|
||||||
|
outb(port,*src++);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void inreg(u16 port,u8 *src,u16 num)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for(i=0;i<num;i++)
|
||||||
|
{
|
||||||
|
outb(port,i);
|
||||||
|
*src++=inb(port+1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void inregsame(u16 port,u8 *src,u16 num)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for(i=0;i<num;i++)
|
||||||
|
{
|
||||||
|
inw(port);
|
||||||
|
outb(port,i);
|
||||||
|
*src++=inb(port);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void initreg(u16 port,u8 *src,u16 num)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for(i=0;i<num;i++)
|
||||||
|
{
|
||||||
|
outb(port,*src++);
|
||||||
|
outb(port+1,*src++);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void initregsame(u16 port,u8 *src,u16 num)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for(i=0;i<num;i++)
|
||||||
|
{
|
||||||
|
inw(port);
|
||||||
|
outb(port,*src++);
|
||||||
|
outb(port,*src++);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue