visual studio + x64 + asm asm


지금은 win32모드에서 실행중이다. 인라인어셈블이 잘 동작한다.


이제 다시 실행해보면 아래와 같이 오류가 뜬다


sum2 함수를 따로 어셈파일을 만들어서 불러보도록한다.

그러기위해서 먼저 sum2를 지우고 외부선언을 한다.

x64에서는 매개변수가 차례대로 rcx, rdx, r8, r9 로 넘어온다. 4개 이상일때만 스택영역을 사용한다.

여기서는 매개변수가 두개니까 rcx, rdx 로 넘어오는데 크기가 작으니까 그냥 ecx, edx 로 받았다.

물론 리턴값은 예전과 같이 eax 로 보낸다.


이렇게 한뒤 실행해보면 정상적으로 동작한다.




덧글

댓글 입력 영역