Tastaturabfrage

Hier dürfen auch unregistrierte Besucher posten.
bttr

Beitrag von bttr »

Es wäre auch schön, wenn du dir entsprechend Gedanken machen hättest, bevor du deine Frage erneut stellst. Im Prinzip ist sie nämlich schon beantwortet worden. Ein wenig mußt du deinen Grips schon allein anstrengen.
Gast

Beitrag von Gast »

Guten Abend und einen fröhlichen Faschingsdienstag,

endlich hat's geklappt.

der 4-Zeiler

IN AL, 60 (Abfrage Tastatur)
CMP AL, 01 (vergleiche Scancode ESC = "01")
JNZ xxx (ungleich 0, dann wiederhole Schleife)
INT 21 (sonst beende Programm)

ist schon richtig !!

Das Ganze lief nur nicht mit der DOS Version, die auf meinem Windows ME
vorhanden ist. Weiß nicht warum.
Habe nun DOS 6.22 aufgespielt, und nun läuft es auf Anhieb einwandfrei.

Dank nochmals für Eure Anteilnahme und einen Super Abend wünscht Euch

Berndt
bttr

Beitrag von bttr »

Vielleicht werde ich ja jetzt wieder "gesteinigt", aber wo hast du das Programmieren erlernt?

"INT 21" ruft grundsätzlich mal eine DOS-Funktion auf. Um welche es sich dabei handelt, wird i.d.R. im AH-Register festgelegt, welches bei dir aber keinen definierten Inhalt hat. Daher ist das Beenden wohl eher eine Lotterie. Es soll ja Leute geben, die installieren deswegen ein anderes Betriebssystem. :roll: Ich schlage aber vor einfach die 21 durch eine 20 zu ersetzen oder noch die zusätzliche Zeile "mov ah, 4c" einzufügen.
Benutzeravatar
Dosenware
DOS-Gott
Beiträge: 3747
Registriert: Mi 24. Mai 2006, 20:29

Beitrag von Dosenware »

hmm, errorlevel 00 (AL) waere auch recht nett oder?
bttr

Beitrag von bttr »

Richtig, das wäre eine nette Zugabe, schien mir hier aber überflüssig, weil der OP ja nicht von Stapelbetrieb redete. Soll er halt doch ein "dec al" dazupacken.
Gast

Beitrag von Gast »

Hi liebe Gemeinde,

daß es funktioniert, und daß das Programm anhält, sehe ich an der Meldung : "DAS PRORAMM WURDE ORNUNGSGEMÄSS BEENDET" .
MOV AH,4C
INT 21
ist schon ok, aber ich will ja vielleicht das Ganze noch ändern, im Einzelschrittmodus anschauen, editiern ..... oder was Neues entwerfen, und da will ich nicht unbedingt zur DOS Ebene zurück und jedesmal Debug neu aufrufen.
Außerdem möchte ich, da die Sequenz ja in die Schleife integriert ist, sie so kurz wie möglich halten. Bei symmetrischem Rechteck brauch ich den Part ja zweimal in der Schleife.

Einen erquicklichen Abend noch

Berndt
bttr

Beitrag von bttr »

Ich werde das Gefühl nicht los, daß du wohl von Elektronik Ahnung hast, aber von Programmierung kaum die Bohne verstehst. 8-) Aber wenn du's so machen willst, dann bitte sehr.
elianda
DOS-Übermensch
Beiträge: 1150
Registriert: Mi 31. Jan 2007, 19:04
Wohnort: Halle
Kontaktdaten:

Beitrag von elianda »

Ich bezweifle auch, dass die Routine zum generieren des Rechtecks ueber den LPT irgendwie zeitstabil ist. Ich denke wenn man sich das auf den Oszi anschaut und auf die steigende Flanke triggert, dann springt die fallende Flanke wild.
Unter Win bekommt man das schon garnicht hin.
Mit CLI / STI vielleicht halbwegs. Trotzdem ist noch das Problem des Tastverhaeltnisses und der Pipeline-Architektur eines Pentiums und aufwaerts.

Wenn du Elektroniker?!? bist, dann nimm doch nen einfachen 1 MHz Quarz und ein 9V Block und ein Tick Zusatzelektronik, das hat man doch in 5 mins zusammengeloetet. Das gibt auch saubere Taktflanken.
Antworten