-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
잉 [충고]편, 강의와 다름
22.08.13 13:43 작성 조회수 152
0
- - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 강의에서는 int result = MultiplyBy(b, a); 부분을 어셈블리로 조사를 한다면, push부분이 나와야 하지만 나타나지 않고 대부분 어셈블리적힌 부분이 다른 거 같은데 왜 다른지 모르겠습니다.
답변을 작성해보세요.
0
Rookiss
지식공유자2022.08.13
어셈블리 언어 결과물은 컴파일러가 번역한 결과이고
어떤 식으로 번역할지는 컴파일러 마음입니다. (즉 VS 버전에 따라 상이함)
스택에 넣는게 '정석'적인 방법이지만,
함수 인자가 몇 안 된다면 저렇게 레지스터에 넣어서 전달하는 것도 방법입니다.
그러나 인자가 많아지면, 레지스터 개수의 한계로 인해
어차피 스택을 이용할 수 밖엔 없습니다.
답변 1