schrieb ich einen Code mit Interrupt 1Ah, und ich habe dies:Drucken eines BCD-Wert (MASM)
mov al, ch
and al, 0fh
mov dl, al
Nun, zum Beispiel Zeit „18.36“, so hat es Stunden drucken und druckt nur 8. Weil ich wollte, dass Programm das macht. Aber was kann ich tun, um "1" zu zeigen?
S.S: Ich testete Maskierung unteren Nibble, aber es war nicht meine Antwort.
zu verschieben. Würden Sie Ihren vollständigen Code posten? –
Wenn Sie wirklich mit BCD-Werten arbeiten, sollten Sie sich die Anweisungen 'AAA',' AAD', 'AAM',' AAS' anschauen. Sie passen ASCII nach ... an. – zx485
Wie für Ihre [vorherige Frage] (http://stackoverflow.com/questions/37024912/bcd-to-ascii-conversion) empfohlen, müssen Sie jedes Nibble separat drucken. Verschiebe das obere Nibble in die untere Position, maskiere es, füge '0' hinzu, drucke das Zeichen. Dann maskiere das untere Nibble, füge '0' hinzu, drucke. Natürlich müssen Sie mit einer * Kopie * arbeiten, da bei der ersten Operation die 2. Ziffer verworfen wird. –