CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

assembleur

julien_cheko
julien_cheko
Niveau 2
04 mai 2003 à 18:12:09

je veux utiliser une interruption qui me dit si il y a des caracteres dans le buffer clavier

comment remplit t-on le buffer clavier?

JeanYvesYves
JeanYvesYves
Niveau 10
05 mai 2003 à 08:31:56

Si mes souvenirs sont bons, l´inter clavier est la 09, mais je n´en suis pas sur...

Des que tu appuies sur une touche, cette interruption est appelée, tu peux alors récupérer le scancode des touches appuyées...

kookii
kookii
Niveau 4
05 mai 2003 à 13:19:14

Pour lire un caractere :
fonction 01 de l´int 0x21
dans al tu auras le code ascii du caractere entree
( cette fonction est bloquante)

fonction 0A int 0x21
DX offset buffer reception
DS Segment buffer reception

[DS:DX] doit avoir une taille +2 pcq dans le 1er octet tu dois mettre le nb d octet max a lire, dans le 2eme il y aura le nb d octets lus et a partir du 3eme commence la chaine de caractere. Je crois que ca va compter aussi la touche entree.

sinon si tu veux tu peux lire directement dans le buffer du clavier, c´est un buffer circulaire.
ca va de 0x0040:0x001e a 0x0040:0x003d
avec 0x0040:0x001a offest du prochain caractere a lire ( 2octets)
0x0040:0x001c offset du dernier caractere a lire.
Quand un caractere est tape, 0x0040:0x001c est augmente de 2, et si la difference entre tete et fin du buffer fait 32, ca fait bip ; )
Si tu lis un caractere avec cette methode, faut penser a faire avancer la tete a chaque lecture.

lag-it
lag-it
Niveau 10
05 mai 2003 à 18:25:32

MasterChekoree ?

Aitonfrere
Aitonfrere
Niveau 5
05 mai 2003 à 18:56:29

Le soleil vient de se lever . .. lalala lala la lala, lalala lala la lala, l´ami chicoré!

ah non merde c´était ricoré

julien_cheko
julien_cheko
Niveau 2
05 mai 2003 à 19:29:10

Lag-it tu m´as reconnu?

arnaud81
arnaud81
Niveau 7
05 mai 2003 à 20:06:36

Je vais repondre directement a la question:

Pour remplir lebuffer clavier...il suffit d´appuyer sur les touches du clavier.

Pour lelire, tu fait ce que dit kooki...Bon il utilise les interruptions du dos, mais ca marche.

lag-it
lag-it
Niveau 10
06 mai 2003 à 15:26:19

Et oui je t´ai reconnu malgrés le temps.
La piste du titre " assembleur" m´a mis sur la voie.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment