rechenoperation
-
wenn ich 2 zahlen addiere mit:
mov dl,vairiable1
add dl,variable2und dies dann ausgebe bekomm ich ja noch schöne ergebnisse bis zur summe 9 (alles nach - 3030h)
aber danach wirds unschön. wie kann ich dies verhindern?
-
Was möchstes du den genau machen ?
-
ein brauche ein genaues ergebnis einer addition wenn die zahl höher als 9 ist.. (ich lese mit tastenabfrage(cin.get-modell ein)),daher nur einstellige zahlen
-
Wenn ich das richtig verstehe arbeitest du also mit BCD-Zahlen
Dann must du immer prüfen ob nach einer addition eine Ziffer gößer als 9 ist.
Wenn das so ist must du 10 subtrahieren und einen Übertrag in die nächste Stelle machen.z.B
mov al,8
add al,7
-> al=15
Übertrag ! (z.b nach ah)
->ah=1 al=5
Du kannst auch mit Gepackten BCD-Zahlen arbeiten. Dann nimmt der Prozessor dir ein wenig Arbeit ab.
-
ok das wollte ich willen ich werde mich mal über diesen übertrag erkundigen wie man diesen aufschreibt