I've read the Intel manuals but I don't understand most part of it. I am trying to convert a Quadword (64-bit) decimal to string by using two 32-bit registers.
mov eax,dword[value+4]
mov ecx,dword[value]
shld eax,ecx,1 *;This translates to what?*
...
value dq 45678910123457
What do I get in the end? Can I separate digits (to be translated to ASCII later on) this way? How?
EDIT: Ok, to be more specific - for dword integer (base 10), I can separate the digits by using multiple DIVs. But for a quadword data, it is not possible to use DIV. I think SHLD, in part, can do the job but I just have no idea how it works.