메인 프로시저에서 데이터 받는 프로시저 호출해서 데이터 받는건데
mov esi, OFFSET sCode
call InputData
이게 메인 이고
InputData PROC
mov ecx, 5
L1 :
call ReadInt
mov [esi], eax
inc esi
loop L1
ret
InputData ENDP
이게 데이터 받는 프로시저인데
나중에 출력해보면
sCode 마지막에만 제대로 데이터 들어가있고
그 전 배열에는 다 이상한 값 들어가있음
inputData 부분에서 출력해보면 다 들어가있는데 메인으로 넘어오면서 왜 값이 바뀌징 ? ㅜㅜ
sCode가 뭔타입인데?
DWORD ㅜㅜ..
DWORD면 1개가 아니라 4개씩 넘겨야지
배열로 sCode 만든건데 1씩 옮겨주는거 아니야 ?
DWORD가 4바이트인데 1바이트씩 넘겨주면 되나
그리고 WriteInt로는 Signed integer도 받을수있는데 unsigned인 DWORD를 쓰면 안되제 아니 되긴 되나..아무튼 SDWORD를 쓰는게 나을듯
esi에 sCode 주소값 옮긴거잖아 형 그래서 주소값 옮기면서 데이터 받는건데 주소 하나씩 옮기는거 아니야 ? 데이터 받으면서 일일히 출력해보니까 값은 제대로 나오던데 메인으로 넘어와서 출력하면 마지막에 받은 데이터 말곤 값이 다 변함 ㅜㅜ..
제대로 나오는 이유는 정확하게 모르겠다만 배열 이동할때 그 배열 기본 용량 만큼 메모리에 더해줘야됨
흠 스택에 팝한것도아닌데 값이 바뀌나 이상하네 전체 소스좀 줘봐