Eingabe auswerten
-
Ich grüble nun schon seit einer ganzen Weile über einige Probleme.
In welcher Form ist es möglich Eingaben auszuwerten, also wie z.B. das mit "if" in Hochsprachen wie C++ geschieht?
Eine weitere Frage, kann ich direkt Zahlenwerte einlesen, oder muss ich den Umweg über eine Zeichenkette gehen?
Wie kann ich auf einzelne Bytes einer db Kette zugreifen?
Schonmal danke!
-
Kevinus schrieb:
In welcher Form ist es möglich Eingaben auszuwerten, also wie z.B. das mit "if" in Hochsprachen wie C++ geschieht?
Dazu gibt es bedingte Spruenge (zB. je, jb, ja, bzw. jne usw.), die je nach gesetzten Flags einen Sprung ausfuehren, oder eben nicht. Um die Flags entsprechend zu setzen kann man den Befehl cmp x, y (compare) benutzen.
Such dir mal eine Befehlsreferenz, da stehen diese Befehle auch alle drin.Kevinus schrieb:
Eine weitere Frage, kann ich direkt Zahlenwerte einlesen, oder muss ich den Umweg über eine Zeichenkette gehen?
In DOS kommst du auf jeden Fall nicht um die Zeichenkette herum.
Kevinus schrieb:
Wie kann ich auf einzelne Bytes einer db Kette zugreifen?
Du kannst so erstmal nur auf einzelne bytes/words/dwords zugreifen, und das funktioniert jeweils analog wie bei den words - hast du schliesslich schon verwendet.
Wie man vermuten wuerde, sind die Schluesselwoerter dafuer auch byte, word und dword.
-
Danke hilft mir weiter!
Sorry, aber welches Flag wird gesetzt, wenn er die Strings vergleicht? bzw. welches Flag wird gesetzt wenn eine Übereinstimmung, wenn keine Übereinstimmung gefunden wurde?
EDIT : Hat sich erledigt
-
schau dich mal auf www.robsite.de bei den assembly tuts um, das von adok find ich sehr gut, da wird sowas auch erwähnt. wenn du auf einzelne zeichen zugreifen willst musst du den offset der kette in ein register laden und dann praktisch nochmal den offset zum zeichen angeben
mov bx, offset text+3