[asm]Problem z wypisywaniem znaków

[asm]Problem z wypisywaniem znaków
  • Rejestracja: dni
  • Ostatnio: dni
0

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

Kopiuj
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. :)

Wibowit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: XML Hills
0

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

Kopiuj
form db "%c"

na

Kopiuj
form db "%c", 0
  • Rejestracja: dni
  • Ostatnio: dni
0

Okey, dzięki.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.