Asm icompréhension
Résolu/Fermé1 réponse
Utilisateur anonyme
Modifié le 10 oct. 2018 à 20:45
Modifié le 10 oct. 2018 à 20:45
Bonjour
Quand tu dis que ton buffer est égal à far au lieu de fooar, l'as-tu vraiment vérifié dans le buffer, ou te fies-tu à l'affichage qui est fait à la fin de ton programme ?
À mon avis, dans ton buffer, il y a foo←←ar (où ← represente la touche qui faite reculer le curseur) et quand tu affiches ça, tu ne vois que far parce que le curseur recule comme quand tu as saisi.
Quand tu dis que ton buffer est égal à far au lieu de fooar, l'as-tu vraiment vérifié dans le buffer, ou te fies-tu à l'affichage qui est fait à la fin de ton programme ?
À mon avis, dans ton buffer, il y a foo←←ar (où ← represente la touche qui faite reculer le curseur) et quand tu affiches ça, tu ne vois que far parce que le curseur recule comme quand tu as saisi.
Modifié le 11 oct. 2018 à 01:57
foo@@@@@@@@@@....x251 \0
et le buffer et bien
far@@@@@@@@x251 \0 et non fooar@@@@@@@x249 \0
c'est pour cela que je ne comprenais pas, mais j'y est penser mais j'ai check le buffer.
Sinon ça fonctionne, mais bon c'est bien la première fois après réflexion pour moi y a une erreur est elle est logique et non... je me dit que c'est peut-être émilateur qui fait ça ?
Modifié le 11 oct. 2018 à 12:01
11 oct. 2018 à 18:28
En faite je n'utilisé pas les Arrow mais avec les backspace :
Etat 0
foo
Déjà mon premier byte reste à zero ^^.
après foo + ( backspace )*2 + ar
En faite lors de l'affichage les 0x08 backspace, puis repositionne les curseur du prompt et continue jusqu'au byte null
de la le : far
maintenant pour les arrows ils inscrivent des zéro dans le buffer.
donc ducoup j'ai interdit l'inscriprion de zero dans le buffer.
Pour le moment je m'en contente, surtout que c'est juste pour apprendre.
img de bochs : https://ibb.co/nBKJOp
je suis un peu honteux car j'ai l'habitude de toujour debugger, comme c'est en console...avec un peu de motivation.
Merci est désoler encore.
11 oct. 2018 à 18:36
Sauf le premier octet à 0 : mais je vois que pour enregistrer les touches frappées, tu initialises SI avec ps et non pas avec buffer. ps ne serait pas égal à buffer+1 ?
11 oct. 2018 à 19:08
donc
bin.o
. TEXT
.DATA
kernelMgrBuff . ps ce termine en 0xBC . buffer . crlf
.END