NASM SBC-86 8086 Frage zu Sprungbedingungen. Denkfehler?
-
; Konstanten led equ 0h ;Diodenport key equ 80h ;Tastatur seg1 equ 90h seg2 equ 92h seg3 equ 94h seg4 equ 96h seg5 equ 98h seg6 equ 9Ah seg7 equ 9Ch seg8 equ 9Eh ; Startadresse org 100H CPU 8086 WDH: in al, key ;Einlesen von Binary Input mov cx, ax and al, 00000111b ; obere 5 bits löschen um untere zu vergleichen mov bx, nokey cmp al, bl je WDH mov ax, cx out led, al ;Ausgabe an Dioden out seg1, al ;Ausgabe an ganz Rechte Segmentanzeige jmp WDH ;Stapelspeicher nokey db 00000111b ;taste nicht gedrückt
Also ich hab folgendes Programm geschrieben.
Das Programm soll zunächst die Bits abfragen die gerade an der stelle key stehen. Ist keine taste gedrückt sind die ersten 3 bits von rechts immer 1.
Ich habe dann eine Abfrage die feststellt ob die beiden Bitmuster identisch sind hinsichtlich dieser 3 ziffern.
Falls ja soll zum anfang gesprungen werden und wieder die key bits eingelesen werden.
Falls nein "taste wurde gedrückt" soll das Bitmuster auf den LEDs ausgegeben werden.Nur irgendwie funktioiert die bedingung nicht so ganz die Dioden leuten gleich zu beginn und nicht erst wenn ich eine Taste drücke.
Wo ist mein Denkfehler in dem Quelltext?
-
hab mein fehler gefunden ich hab inhalt mit adresse verglcihen, da kann nichts gleiches bei raus kommen...