pokazvane_cifra_dl macro
: zeigt den Wert dl+48
als ASCII-Zeichen an.
Wenn dl
ist Wert 0
-9
, wird es zeigt die nach ASCII Ziffer '0'
-'9'
, so dass der Grund, warum der Name des Makro so etwas wie „Anzeigestelle“ ist (obwohl Sie auch mit ihn zum Beispiel nennen dl = 40
und es wird ASCII char angezeigt 'X'
).
exit macro
: kehrt zu DOS Steuerung zurück (die gesamte Quelle ist DOS-Plattform targetted, dh 16-Bit-Real-Mode-x86-Assembler mit int 21h
für Systemdienste verwendet werden, dh muss DOS-ähnliches Betriebssystem zu arbeiten.).
pokazvane_znak_dl macro
: ist leichte Abwandlung der ersten, diesmal ein ASCII-Zeichen, wie pokazvane_znak_dl 'X'
Anzeige 'X'
anzuzeigen.
eho_al macro
: tut Display ASCII-Zeichen aus dl
. Nicht sicher, warum der Name eho_al
sagt, während es al
überhaupt nicht verwendet, stattdessen würde es den Wert in al
zerstören, wenn es push/pop ax
um die int 21h
nicht tun würde.
Der Code selbst:
5 Zeichen gelesen werden (ASCII) von Eingang und push
sie auf dem Stapel
Anzeige zwei Zeichen 10
und 13
„neue Zeile zu erstellen "(Die richtige Reihenfolge in DOS ist 13
10
, die andere Möglichkeit).
dann werden diese 5 Zeichen einzeln nacheinander vom Stapel ausgegeben und auf dem Bildschirm angezeigt.
Exits zu DOS.
ich nicht überprüfen, dass es keine Fehler im Code, aber wenn es fehlerfrei ist, dann sollte die Ausgabe wie folgt aussehen:
$prompt> exe.exe
abcde
edcba$prompt>
Ich bin nicht sicher, wo die DOS Prompt wird nach der Ausführung landen, ob DOS zusätzliche neue Zeile einfügen wird, oder es wird landen, wie ich es oben vorgestellt habe. Der erste "abcde" wird vom Benutzer eingegeben, der zweite wird durch den Code angezeigt.
EDIT: I, die Push + pop in Schleifen für die Eingabe vergessen/Ausgabe wird die Eingabe "string" umzukehren, wie Stapel ist LIFO (Last In First Out) Art der queue/Behälters (I noch hat sich nicht darum gekümmert, es wirklich zu kompilieren und auszuführen, also falls du wirklich 100% antwortest, was der Code tut, führe ihn aus.
** Das ** Makro? Es gibt 4 ... welche? Haben Sie eine DOS-Interrupt-Referenz konsultiert? – Jester
Ist dies Ihre Muttersprache? Sie scheinen ziemlich erklärende Namen zu sein, was kannst du nicht verstehen? –
@Jester So hart, wie ich sehe, kann ich nur sehen 3. – tofro