2010-08-19 12 views
1

Intel IA-32 프로세서 용으로 작성된 샘플 코드와 함께 "Professional Assembly Language"라는 책을 읽었습니다. 사용 된 어셈블러는 GNU 어셈블러입니다. 이 어셈블리 참조는 어디에서 찾을 수 있습니까? 예를 들어 Windows 용 어셈블리를 작성하면 인텔 웹 사이트에서 참조 할 수 있습니다. 리눅스와 GNU 어셈블러는 어떨까요?Linux 어셈블리 참조

+0

당신이 위키 피 디아를 시도해 봤어 GNU를 위해 함께 제공되는 설명서를 확인해야합니다 http://en.wikipedia.org/wiki/GNU_Assembler 그 안에 자원 ? –

+0

기본 구문은 Google에 도움이되는 경우 AT & T 구문으로 알려져 있습니다. IIRC'as '는 Intex 구문을 대신 받아 들일 수있는 스위치를 가지고 있습니다. – Rup

답변

2

어셈블러는 OS가 아닌 CPU에만 의존합니다. 그래서 인텔 측의 문서가 당신이 찾고있는 것입니다.

OS 함수를 호출하려면 컴파일러 ABI 문서 (인수 전달 방법과 반환 값 처리 방법을 설명)를 읽어야합니다. 또한 리눅스 박스의 맨 페이지에서 찾을 수있는 기능 목록이 필요합니다.

시작하려면 C와 같은 고급 언어로 된 프로그램을 어셈블러로 컴파일하여 어떤 일이 발생하는지 확인하는 것이 좋습니다. gcc -c file.c 대신 gcc -S file.c을 호출하십시오.

+0

참이지만 질문이나 대답과 어떻게 관련이 있습니까? –

0

당신이 다음 명령어 세트의 설명서를 잡는 시도해야 인텔 IA 32에 책을 함께 작업하는 경우 인텔의 사이트에서 http://developer.intel.com/products/processor/manuals/index.htm 나는 이것이 지침을위한 완벽한 참고 자료라고 생각합니다.

또한 동일한 아키텍처에 설치되어있는 경우 linux 및 windows에 대한 어셈블리 언어 참조가 동일합니다. 어셈블리 언어는 아키텍처에 따라 다릅니다. 인텔 CPU를 사용하는 경우 인텔 intels 명령 세트 참조를 사용하십시오. 어셈블러의 구문에 대한

잘 당신은

http://sourceware.org/binutils/docs-2.20/as/