Wie drucke ich eine Ganzzahl in der Assembly-Level-Programmierung ohne printf aus der c-Bibliothek?

Kann mir jemand das @ sagpurely assembly code zur Anzeige des Wertes in einem Register im Dezimalformat? Bitte schlagen Sie nicht vor, den printf-Hack zu verwenden und dann mit gcc zu kompilieren.

Beschreibung

Nun, ich habe einige Nachforschungen und Experimente mit NASM angestellt und festgestellt, dass ich die printf-Funktion aus der c-Bibliothek verwenden kann, um eine Ganzzahl zu drucken. Ich habe dazu die Objektdatei mit dem GCC-Compiler kompiliert und alles funktioniert fair genug.

Was ich jedoch erreichen möchte, ist, den in einem beliebigen Register gespeicherten Wert in Dezimalform auszudrucken.

Ich habe einige Nachforschungen angestellt und festgestellt, dass der Interrupt-Vektor 021h für die DOS-Befehlszeile Zeichen und Zeichen anzeigen kann, während sich entweder 2 oder 9 im ah-Register und die Daten im dx befinden.

Fazit

Keines der gefundenen Beispiele zeigte, wie der Inhaltswert eines Registers in Dezimalform ohne Verwendung des printf der C-Bibliothek angezeigt werden kann. Weiß jemand, wie man das in der Montage macht?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage