[asm] Problem med tangentbordet

Avdelningen för programmering, nätverk samt alternativa OS.
Post Reply
User avatar
RiJo
Posts: 30
Joined: 2002-07-25 6:59:30
Location: Varberg
Contact:

[asm] Problem med tangentbordet

Post by RiJo »

Hur gör jag ett program som läser av tangentbordet hela tiden tills någon knapp trycks ner och då skriver den ut ASCII symbolen för motsvarande tangent?

Här en den del av koden jag har problem med:

Code: Select all

Loop:
  in al,0060h
  cmp al,0
  je Loop
  -forts-
Problemet är att när ingen tangent trycks ner, så ligger den senast nedtryckta tangenten kvar på porten. Hur gör jag för att nollställa denna efter varje läsning?
För som det är nu så går den rakt igenom loopen och bara fortsätter, jag vill att den ska loopas tills någon tangent trycks ner.
..:: RiJo ::..
..:: Dator :: AMD Athlon XP 1700+ :: Asus A7N8X Deluxe :: Asus GeForce4 Ti4400 :: TwinMOS 510MB DDR PC3200 ::..
Xhargh
Posts: 1177
Joined: 2002-10-21 15:05:32
Contact:

Post by Xhargh »

Nu har jag inte kodat intel-asm på evigheter, men effektivast borde väl vara att halta cpu och sedan låta en interrupt trigga igång den igen... eller nåt ;-)
Windows 98 på 4.38 MB, Nano98
User avatar
RiJo
Posts: 30
Joined: 2002-07-25 6:59:30
Location: Varberg
Contact:

Post by RiJo »

Xhargh wrote:Nu har jag inte kodat intel-asm på evigheter, men effektivast borde väl vara att halta cpu och sedan låta en interrupt trigga igång den igen... eller nåt ;-)
Jag har funderat på det också. Men om jag ska göra ett spel, t.ex snake så kan jag inte använda en int. för då fortsätter inte masken röra sig när jag väntar på nästa "riktiningstangent".
Så därför vill jag använda en loop till denna funktionen.

Ingen annan som vet hur jag kan göra detta med en loop?
..:: RiJo ::..
..:: Dator :: AMD Athlon XP 1700+ :: Asus A7N8X Deluxe :: Asus GeForce4 Ti4400 :: TwinMOS 510MB DDR PC3200 ::..
User avatar
Ancalagon
Posts: 550
Joined: 2002-03-08 14:16:41
Location: Stockholm

Post by Ancalagon »

snackar vi med eller utan OS ?
User avatar
RiJo
Posts: 30
Joined: 2002-07-25 6:59:30
Location: Varberg
Contact:

Post by RiJo »

Med OS..
Går det lösa på något annat sätt kanske?
..:: RiJo ::..
..:: Dator :: AMD Athlon XP 1700+ :: Asus A7N8X Deluxe :: Asus GeForce4 Ti4400 :: TwinMOS 510MB DDR PC3200 ::..
User avatar
Ancalagon
Posts: 550
Joined: 2002-03-08 14:16:41
Location: Stockholm

Post by Ancalagon »

jag anser att det vore smidigare med någon form av callback(d.v.s. en kodbit som körs nät t.ex. inmatningar från tgb sker) ...
User avatar
RiJo
Posts: 30
Joined: 2002-07-25 6:59:30
Location: Varberg
Contact:

Post by RiJo »

Ancalagon wrote:jag anser att det vore smidigare med någon form av callback(d.v.s. en kodbit som körs nät t.ex. inmatningar från tgb sker) ...
Nu är det ju inte det som var problemet tyvärr..
Min fråga var ju varför det senast inskrivna tecknet ligger kvar på inporten för tangentbordet.. Jag kan inte läsa av tangentbordet riktigt ens en gång..!
..:: RiJo ::..
..:: Dator :: AMD Athlon XP 1700+ :: Asus A7N8X Deluxe :: Asus GeForce4 Ti4400 :: TwinMOS 510MB DDR PC3200 ::..
Post Reply