fix: Correction des ports entrée-sortie

This commit is contained in:
Nicolas Hordé 2007-04-02 14:34:56 +00:00
parent 252515be4a
commit 68445d3a54
1 changed files with 68 additions and 68 deletions

View File

@ -1,68 +1,68 @@
#include "types.h" #include "types.h"
#include "asm.h" #include "asm.h"
/*******************************************************************************/ /*******************************************************************************/
/* Envoie une série d'octet a destination d'une portion de mémoire /* Envoie une série d'octet a destination d'une portion de mémoire
vers le registre video spécifié */ vers le registre video spécifié */
void outreg(u16 port,u8 *src,u16 num) void outreg(u16 port,u8 *src,u16 num)
{ {
int i; int i;
for(i=0;i<num;i++) for(i=0;i<num;i++)
{ {
outb(port,i); outb(port,i);
outb(port+1,*src++); outb(port+1,*src++);
} }
} }
/*******************************************************************************/ /*******************************************************************************/
/* Envoie une série d'octet a destination d'une portion de mémoire /* Envoie une série d'octet a destination d'une portion de mémoire
vers le registre video spécifié (accés data et index confondu) */ vers le registre video spécifié (accés data et index confondu) */
void outregsame(u16 port,u8 *src,u16 num) void outregsame(u16 port,u8 *src,u16 num)
{ {
int i; int i;
for(i=0;i<num;i++) for(i=0;i<num;i++)
{ {
inb(port); inb(port);
outb(port,i); outb(port,i);
outb(port,*src++); outb(port,*src++);
} }
} }
/*******************************************************************************/ /*******************************************************************************/
/* Récupère une série d'octet en provenance d'un registre video spécifié /* Récupère une série d'octet en provenance d'un registre video spécifié
vers portion de mémoire */ vers portion de mémoire */
void inreg(u16 port,u8 *src,u16 num) void inreg(u16 port,u8 *src,u16 num)
{ {
int i; int i;
for(i=0;i<num;i++) for(i=0;i<num;i++)
{ {
outb(port,i); outb(port,i);
*src++=inb(port+1); *src++=inb(port+1);
} }
} }
/*******************************************************************************/ /*******************************************************************************/
/* Récupère une série d'octet en provenance d'un registre video spécifié /* Récupère une série d'octet en provenance d'un registre video spécifié
vers portion de mémoire (accés data et index confondu) */ vers portion de mémoire (accés data et index confondu) */
void inregsame(u16 port,u8 *src,u16 num) void inregsame(u16 port,u8 *src,u16 num)
{ {
int i; int i;
for(i=0;i<num;i++) for(i=0;i<num;i++)
{ {
inb(port); inb(port);
outb(port,i); outb(port,i);
*src++=inb(port); *src++=inb(port);
} }
} }
/*******************************************************************************/ /*******************************************************************************/