add inb function and doc
This commit is contained in:
parent
0f77e1a450
commit
84c5da93a7
2 changed files with 33 additions and 3 deletions
21
include/io.h
21
include/io.h
|
@ -1,6 +1,27 @@
|
|||
/** @file io.h
|
||||
* Fichier d'en-tête pour les entrées sorties.
|
||||
*/
|
||||
|
||||
#ifndef IO_H
|
||||
#define IO_H
|
||||
|
||||
/**
|
||||
* Fonction pour pouvoir envoyer des données à un port.
|
||||
*
|
||||
* Elle est définie dans le fichier @c io.s.
|
||||
*
|
||||
* @param port le port où envoyer les données
|
||||
* @param data les données
|
||||
*/
|
||||
void outb(unsigned short port, unsigned char data);
|
||||
|
||||
/**
|
||||
* Fonction pour pouvoir lire une donnée d'un port.
|
||||
*
|
||||
* Elle est définie dans le fichier @c io.s.
|
||||
*
|
||||
* @param port le port où envoyer les données
|
||||
* @return la valeur lue
|
||||
*/
|
||||
unsigned char inb(unsigned short port);
|
||||
#endif
|
||||
|
|
9
src/io.s
9
src/io.s
|
@ -1,4 +1,5 @@
|
|||
global outb
|
||||
global inb
|
||||
|
||||
; permet de communiquer avec des ports
|
||||
; pile : [ esp + 8 ] la valeur à écrire
|
||||
|
@ -9,3 +10,11 @@ outb:
|
|||
mov dx, [esp + 4]
|
||||
out dx, al
|
||||
ret
|
||||
|
||||
; permet de récupérer la valeur d'un port
|
||||
; pile : [ esp + 4 ] le port
|
||||
; [ esp ] l'adresse de retour
|
||||
inb:
|
||||
mov dx, [esp + 4]
|
||||
in al, dx
|
||||
ret
|
||||
|
|
Loading…
Reference in a new issue