Tastaturabfrage
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
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
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. Ich schlage aber vor einfach die 21 durch eine 20 zu ersetzen oder noch die zusätzliche Zeile "mov ah, 4c" einzufügen.
"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. Ich schlage aber vor einfach die 21 durch eine 20 zu ersetzen oder noch die zusätzliche Zeile "mov ah, 4c" einzufügen.
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
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
-
- DOS-Übermensch
- Beiträge: 1150
- Registriert: Mi 31. Jan 2007, 19:04
- Wohnort: Halle
- Kontaktdaten:
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.
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.