운영체제 시간에 인라인 어셈블리 설명하면서 x86명령어에서 함수 호출에 대해서 말하는 데 교수가 시스템프로그래밍에서 x64를 가르친다던데 다른가봄
내가 시스템 프로그래밍 배웠을 때는 x86기준이었는데...
댓글 2
응 그건 최대치 수준. 실제 컴파일러는 효율을 위해 그렇게 번역하지 않음.
codesafer(codesafer)2017-06-27 11:49
그건 OS마다 차이가 좀 있음.....함수 인자 15개쯤 때려 넣고....gcc -S 를 사용해서 어셈블리 코드로 변환된거 보면 알수 있음...BSD랑 리눅스랑 함수 인자 할당하는 레시스터에도 차이가 있고...인자 갯수에 따라 레지스터와 스택 사용에도 차이가 좀 있음...근데 윈도우에서는 어찌하는지 모르겠음...
응 그건 최대치 수준. 실제 컴파일러는 효율을 위해 그렇게 번역하지 않음.
그건 OS마다 차이가 좀 있음.....함수 인자 15개쯤 때려 넣고....gcc -S 를 사용해서 어셈블리 코드로 변환된거 보면 알수 있음...BSD랑 리눅스랑 함수 인자 할당하는 레시스터에도 차이가 있고...인자 갯수에 따라 레지스터와 스택 사용에도 차이가 좀 있음...근데 윈도우에서는 어찌하는지 모르겠음...