Your using WriteString
to display a string. WriteString
uses edx
to hold the address of the string to print.
You call DisplayPrompt
and move the address of vHexPrompt
into edx
, then you call DisplayString
and in that function, you call WriteString
. edx
still contains the address of vHexPrompt
which is why you are getting a double prompt.
Until you write more code to utilize DisplayString
, either comment out the call to writestring in that function, or just add xor edx, edx
right before your call to WriteString
in DisplayString