hex nach bcd
-
hallo leute
kann mit jemand erklaeren wie ich z.b. den wert von eax nach bcd konvertieren kann ?
bin mit google nicht wirklich fuendig geworden oder bin nicht drauf gekommen das ich es gefunden hatte
cermy
Meep Meep
-
Hallo,
das müsste eigentlich funktionieren.
mov ecx,0 mov ebx,10 mov edi,0 mov eax,HexNumber next: xor edx,edx div ebx and edx,0x0f shl edx,cl or edi,edx add ecx,4 cmp eax,0 jne next mov BcdNumber,edi
Du solltest dir vieleicht noch überlegen die BcdZahl in einen Buffer zu schreiben, da das register EDI zu klein werden könnte.
Z.B. 0xffffffff = 4294967295, diese BcdZahl passt nicht mehr in EDI.
-
re
muesste der prozessor das nicht auch selber koennen ? schliesslich hat er ja auch eigene bcd-befehle.
Meep Meep
-
Du meinst z.B. DAA, Decimal Adjust after Addition.
mov al,19h //BCD add al,19h //BCD ERGEBNISS al= 32h Da du aber mit BCD rechnen willst DAA ERGEBNISS al= 38h