인라인 어셈블리에 관한 질문입니다
글쓴이: 변유준 / 작성시간: 목, 2006/12/21 - 11:00오전
현재 ARM패치된 2.4.18 리눅스 소스에서 인라인 어셈부분만 찾아서 보는
어셈블리 공부를 시작한 학생입니다.
인라인 어셈블리는 기본형식이
__asm__(어셈블리 문자 : 출력 : 입력: 변경된 레지스터);
이런 구조로 되어있는데요
예를들어 include/asm-arm/ 밑에서 인라인 어셈문장을 찾아서 보던중
변경된 레지스터 부분에 "cc" 라고 많은 부분이 그렇게 되어있던데
cc가 무엇을 뜻하는건지 궁금합니다.
아참 궁금한게 하나 더있는데요
x86으로 구현되어있는 리눅스 소스안에 어셈블리를요
arm 어셈블리로 바꾸는 작업이 많은 어려움을 필요하게 되는지
궁금합니다
Forums:
cc는 뭔지 잘
cc는 뭔지 잘 모르겠지만
x86 어셈은 arm이랑 좀 차이가 있긴합니다.
arm은 RISC기반이라서요. 그래도 뭐 arm어셈 공부하다보면 별차이 없습니다.
신호 혹은 영상처리 같은 알고리즘을 다루는거라면 좀 번거로울지 모르지만
펌웨어같은거라면 명령어가 달라져도 큰차이는 없을겁니다.
그럼..
추가 질문입니다
궁금한건
ex.) mov r1, r2
AT&T 같은경우 r1에서 r2로 데이터를 옮기고
Intel 같은경우는 r2에서 r1로 옮기고 있죠
arm 아키텍처 같은경우는 어느경우인지요...
arm에서도 intel과
arm에서도 intel과 같은데 load 랑 store는 방향이 달라질겁니다. x86어셈을 본지가 수년이 지나서 같은지 기억은 안나네요.
그리고 이런건 여기다 질문할게 아니라 책을 사서 읽어보셔야 하는 내용이죠. arm site에 가도 다 있는 내용들이고 심지어 구글이나 야후에서 검색해도 나옵니다. 심하게 들릴지 모르지만 질문이 성의가 없는거죠.
이런 질문에 대해 대답을 해줘야 되는가 잠시 고민하다가 적습니다.
'cc'는 c compiler 아닐까요?
위 아래 내용이 없어서 정확한 의미를 몰라 질문하신 정확한 의미를 모르겠지만,
보통 cc라는 명령문으로 컴파일을 많이 하죠..
아~ 답변감사합니다
다시 읽어보니 질문이 부족했던거 같네요
지적해 주셔서 고맙습니당.
좀더 확인후 올리겠습니당~
http://www.arm.com/pdfs/QRC00
http://www.arm.com/pdfs/QRC0001K_UALside1.pdf
http://www.arm.com/pdfs/QRC0001K_UALside2.pdf
arm site에 있는 기본명령들의 quick ref입니다.
말그대로 quick ref이라 복잡한 명령들은(SIMD 관련)이해가 안갈수도 있지만
기본적인 내용들은 어느정도 파악이 되리라 싶군요.
arm site에 좀더 상세하게 나온 ref가 있을지도 모르겠구요.
그럼...
댓글 달기