Hi,
Can you replace a part of your code for this one:
mov ecx, SIZEOF msg ;initialize loop counter * I believe the issue starts here???
mov eax, OFFSET msg ;address of msg
mov esi, eax ;esi points to start
add eax, ecx
mov edi, eax
dec edi
dec edi ;edi points to end
shr ecx,1 ;shift loop counter
L1:
mov al, [esi] ;load characters
mov bl, [edi]
mov [esi], bl ;swap characters
mov [edi], al
inc esi ;update forward pointer by 1
dec edi ;update backward pointer by 1
;loop
loop L1
With some changes to your code it works.
Best wishes.
Reedited: Please, forgive me. I have answered a solved question. Well, at least, everybody can see the solution.