xv6 OS 소스 코드 중 xchg 함수 부분 질문드립니다. (asm volatile 구문)

misohouse의 이미지

xv6 OS 공부 중에 코드 해석이 전혀 안되는 부분이 있어서 질문드립니다.

코드 자체를 해석해주시거나 해석하는데 도움이 되는 사이트를 알려주시면 감사하겠습니다. ^^

File attachments: 
첨부파일 크기
Image icon xchg 코드.JPG18.15 KB
익명 사용자의 이미지

저 부분이 굳이 해석이 필요한 부분인가요?

misohouse의 이미지

일반적인 xchg 명령어의 역할은 값을 교환한다는건 알고 있는데

asm volatile문이 전혀 해석이 되지 않아 교환하는게 맞는 건지 저 함수가 정확히 어떤식으로 동작하는 건지 몰라 질문드린겁니다 ㅠㅠ

어떻게든 되는 것은 없다.

익명 사용자의 이미지

그러면 xchg 뿐 아니라 해당 소스코드(x86.c) 에 있는 모든 함수를 다 모르신다는 얘기가 되겠네요.
정확히는 inline assembly 문법을 잘 모르겠다는 말씀이시죠?

https://wiki.kldp.org/wiki.php/DocbookSgml/GCC_Inline_Assembly-KLDP

여기를 참조해보시면 됩니다.

misohouse의 이미지

완벽한 판단력이십니다..ㅋㅋㅋ 감사합니다!

어떻게든 되는 것은 없다.

ㅋㅋ의 이미지

ㅋㅋxchg 별거 아닌거 걍 알려주지 뭐 inline assembly 까지 해독하게 만드냐;; 인성 개빻았네