[asm]Problem z wypisywaniem znaków

0

Witam.
Jestem kompletnie początkujący w asmie(jak i wgl w programowaniu) i mam taki kod ;]

format PE Console 4.0
include 'win32a.inc'
;===========================================================
push 'A'
push  text
push 'C'
add esp, 4
pop eax
push eax
push form
call [printf]
add esp,12
ret
;===========================================================
form db "%c"
text dd 'a'
;===========================================================
data import
	library msvc, 'MSVCRT.DLL'
	import msvc,printf,'printf'
end data

Mógłby mi ktoś wyjaśnić dlaczego jest wypisywany dodatkowo jeszcze jakiś bajt poza samą literą 'a'?
Z góry dziękuje za pomoc. :)

0

Łańcuchy znaków zwykle kończy się znakiem \0, czyli w twoim przypadku zmień linię:

form db "%c"

na

form db "%c", 0
0

Okey, dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1