2014-03-30 6 views
-1

I 코드를 그때 무슨 [NUM1]의 내용 것이다 사용자로부터 12을 수용하고사용자 입력

mov eax,3 
mov ebx,2 
mov ecx,num1 
int 80h 

& 다음 데 가정하자 [NUM1을 + 1] & [NUM1 + 2] .

도와주세요

+2

1. 적절한 플랫폼으로 질문에 태그를 답니다. Linux/i386입니까? 2. syscall 반환 값을 어떻게 확인합니까? 표준 입력은 실제로 12 바이트 바이너리 파일입니까? – Netch

답변

0

직접 볼 수 있도록 디버거를 사용하는 법을 배웁니다. 말이 없다고 말했다

read 콜은 3 개 인수를 기대하고 단지 내가 당신이 정말로 (stderr입니다) 기술자 2에서 읽기 때문에 읽기의 길이를 지정 mov edx, 2 대신 mov ebx, 2를 원하는 가정합니다 (2)을 제공한다. 더 나아가 stdin에 대해 을 0으로로드한다고 가정합니다. 사용자가 숫자를 입력 그렇다면 12, [num1]49, [num1+1]50입니다 2의 아스키 코드가 될 것입니다 1의 아스키 코드가 될 것입니다, 당신은 2 바이트를 읽을 수 있기 때문에 [num1+2]은 변경되지 않습니다.

+0

nasm에서 디버거를 배우는 데 도움을주십시오. 튜토리얼을 어디에서 얻을 수 있을지. – AdityaKhursale