x86 어셈블리에 대한 표준 책이 있습니까? [닫은]

조립에 관한 책이 많이 있습니다. 그러나 일반적으로 MIPS 또는 ARM과 같이 관심이없는 ISA를 처리합니다. 나는이 아키텍처를 다루지 않는다. 내가 배우려고 할 이유가 없습니다.

그러나 x86 어셈블리 북은 존재하지 않는 것 같습니다.

예를 들어 Windows Portable Executable 파일을 생성하는 장난감 컴파일러를 작성하려고한다고 가정 해 봅시다.

모범 사례, 설계 방법론 및 x86 어셈블리에 대한 기타 유용한 정보를 설명하기위한 사실상의 표준 인 책이 있습니까? 그 책은 어떻습니까?



답변

내가 사용하는 86 프로세서 용 어셈블리 언어를 내가 대학에 이해하기 매우 쉽게 그것을 발견 할 때 교과서로. 나는 더 오래된 4 번째 판을 가지고 있고 그것을 6 번째 판과 비교했고 많은 변화를 알아 차리지 못했다. 사람들은 자신의 I / O를 위해 자신의 라이브러리를 사용하는 것에 대해 불평하지만, 후반에서 “어려운”방법을 수행하는 방법을 알려줍니다.


답변

분명한 곳은 인텔 웹 사이트에서 x86 아키텍처에 대해 알아야 할 모든 내용이 포함 된 프로그래밍 및 참조 설명서를 다운로드 할 수 있습니다.

여기 : 인텔 ® 64 및 IA-32 아키텍처 소프트웨어 개발자 매뉴얼


답변

The Art of Assembly Programming 은 x86 프로그래밍에 대해 꽤 많은 훌륭한 자료입니다.

x64 ABI 설명서 도 유용합니다. AMD 웹 사이트에있는 버전으로 연결되는 링크를 찾으려고했지만 더 이상 찾을 수없는 것 같습니다.

학습하는 동안 상당히 도움이 될 수있는 것은 어셈블리에서 처음부터 완전한 앱을 작성하는 대신 C (또는 다른 컴파일 된 언어)로 대부분의 앱을 작성한 다음 어셈블리 코드 덩어리를 호출하는 것입니다. 그. 이 작업을 마치면 반전하고 어셈블리 프로그램을 작성하여 C 함수를 호출하십시오.

편집 : 오타가 수정되었습니다.


답변

x86 어셈블리를 배우기에 매우 좋은 책은 Pentium 프로세서 최적화 도구 입니다. 이 책의 주요 초점은 어셈블리 코드의 최적화에 있지만 Pentium 어셈블리를 진행하는 데 도움이되며 참고 자료이기도합니다.

인쇄가 오래되었지만 사용하기가 어렵지 않습니다.

“어셈블리 코드 최적화 프로그램”이 포함 된 플로피 디스크와 함께 제공됩니다. 실제로 코드를 최적화하지는 않지만 파이프 라인 중단과 같은 비 효율성이있는 위치를 나타내는 주석 처리 된 목록을 생성합니다.

책과 함께 제공되는 도구는 저자의 회사가 판매했던보다 기능이 뛰어난 제품의 제한된 버전이지만, 오랫동안 익숙하지 않은 이유가 있습니다. 이유를 모르겠습니다. 그런 도구가 핫케익처럼 팔릴 것이라고 생각합니다.

x86은 다른 마이크로 프로세서 모델에 의해 지원되는 많은 변형이 있기 때문에 일반적으로 매우 복잡한 주제입니다. 기본 사항을 알고 나면 인텔 또는 AMD 데이터 북을 참조하여 정확한 칩을 찾으십시오. 불행히도 한 CPU 모델에서 빠르게 실행되는 코드는 다른 칩에서 빠르지 않을 수 있습니다.


답변

wikibook ( http://en.wikibooks.org/wiki/X86_Assembly)을 사용해보십시오 . 어셈블리 언어를 시작하기에 좋은 시작입니다.

조립에 대한 어려운 점은 그것이 얼마나 간단한 지 깨닫고 있으며 그 단순성을 유지해야한다는 것입니다.


답변