zippro4012
Messages postés216Date d'inscriptionmardi 15 juin 2004StatutMembreDernière intervention26 février 20061 10 oct. 2005 à 17:44
En fait mon but c'est d'écrire un prog qui s'execute en autarcie (donc sans l'aide d'aucune API), et je crois que 21h est une interruption DOS, non ? Mais je peux me tromper...
zippro4012
Messages postés216Date d'inscriptionmardi 15 juin 2004StatutMembreDernière intervention26 février 20061 10 oct. 2005 à 18:00
Ha ça y est j'ai trouvé, il faut utiliser l'int 10h, en passant 0Eh en paramètre (segment AH). Je vait essayer ça. Merci pour l'adresse du site(http://opecheux.free.fr), je crois que ça va bien m'aider .
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Nasman
Messages postés202Date d'inscriptionmardi 17 mai 2005StatutMembreDernière intervention29 septembre 20083 11 oct. 2005 à 09:27
Bonjour,
Pour répondre à une de tes questions, l'interruption 21h est
effectivement l'interruption du DOS. C'est une interruption logicielle
dont le vecteur d'interruption est situé en 0084h (4x21h car 4 octets
par interruption - le vecteur d'interruption de l'int 10h est en 0040h).
A priori rien n'empêche que le vecteur pointe vers un autre programme
que DOS mais il est dangereux d'y toucher (Des interruptions sont
d'ailleurs prévues pour changer des vecteurs d'interruptions).
Selon la valeur de AH, (et parfois d'autres registres) une fonction
particulière sera exécutée du genre saisie d'un caractère au clavier,
sortie d'un caractère, ou de plein d'autres choses encore. En règle
générale les interruptions BIOS sont très dépendantes du matériel, les
interruptions DOS le sont un peu moins (elles font appel au BIOS).
Pour accéder à l'écran texte il faut écrire dans la mémoire écran qui commence en B800:0000
Le codage est le suivant : caractère ascii, code couleur (2 octets pour un caractère).
Pour la couleur, certains bits codent le texte affiché, d'autres sont pour le fond - Il faut essayer.
BLUEBIBUBBLE
Messages postés116Date d'inscriptionsamedi 4 juin 2005StatutMembreDernière intervention10 avril 20131 29 janv. 2006 à 03:10
Salut,
vérifie les paramètres a passer a l'interruption 10h, ça devrait fonctionner...
Interruption 10h / Function 0Eh
Ecriture de texte en mode télétype
Cette fonction traite l'écran comme un périférique ne supportant ni couleur, ni curseur.
ah = 0Eh
al = code ascii du caractère a écrire
bh = Page (mode texte uniquement) mettre 0
bl = Couleur (pas utilisé en mode texte, nombre de couleur dépendant du mode Function 00h)