저는 x86 어셈블리 언어와 관련하여 몇 가지 참조를 찾으려고합니다. 내 이해를 돕기위한 자습서/예제. 고마워요일부 x86 ASM 참조/자습서?
답변
- Programming from the Ground Up (추천 무료 책)
- x86 Assembly (wikibooks.org)
- Essential Resources for x86 Programmers
은 내가 본 총회의 가장 좋은, 가장 포괄적 인 소스가있다 "Art of Assembly Language". 그것은 여러 버전에서 무료로 다운로드 할 수 있습니다.
정말 어셈블러를 배우는 데 관심이 있다면 "고급 어셈블리"를 사용하는 모든 것이 시간 낭비라는 것을 알고이 책을 건너 뛰고 저수준 어셈블리를 가르쳐 줄 뭔가를 찾으십시오. 인텔 용 어셈블리 언어 - 기반 컴퓨터 킵 얼바인에 의해 꽤 괜찮은 책이다 – nelsonslament
나는 Roby's PC Assembly Tutorial Lesson을 권장합니다. download에서도 가능합니다. 여기에는 다이어그램과 예제가 들어 있습니다.
"이 어셈블리 레슨은 Intel 용, 즉 Intel 8088, 80286, 80386 등입니다. 예, Pentium 또는 Pentium III와 호환됩니다. AMD 사용자는이 튜토리얼을 사용할 수도 있습니다. 기본 사항입니다. 파스칼, C 또는 C++와 같은 프로그래밍 언어에 대해 이해하고 있다고 가정합니다. 다시 프로그래밍하는 기본 개념을 설명하고 싶지 않습니다. "
- 예선 레슨 - 낮은 수준의 기본 개념 레지스터, 플래그, 메모리, 스택, 그리고 인터럽트에 대한
회담. 너무 많이 걱정하지 마십시오. 당신은 너무 많은 개념과 혼동 될 수 있습니다. 그러나 수업을 진행하면서 모든 개념이 충분히 명확해야한다고 생각합니다. - 제 1 장 - COM 프로그램 구조
가장 간단한 프로그램 구조를 관찰하여 어셈블리를 시작하십시오. - 제 2 장 어셈블리의 변수
어셈블리 언어에서 변수의 고유 한 개념을 확인하십시오. 이 개념은 일반적인 고수준 프로그래밍 언어와 개념이 다릅니다. 또한 mov 인스트럭션이 어떻게 작동하는지 설명합니다. - 제 3 장 - 산술 명령어
어셈블리에서 일부 산술 연산은 어떻게 수행 할 수 있습니까? - 제 4 장 - 비트 논리, 1 부
and, or 및 xor를 사용하여 비트 마스킹 및 뒤집기와 같은 다양한 논리 작업을 수행 할 수 있습니다. - 제 5 장 - 비트 논리, 2 부
비트 시프트 및 롤링은 다음 장에서 설명하는 비트 마스크를 지원하는 데 유용 할 수 있습니다. - 제 6 장 - 분기
분기는 모든 프로그램에 필수적입니다. 우리 프로그램의 논리를 향상시키기 위해 어셈블리 브랜칭 명령을 시도해 봅시다. - 제 7 장 - 루프
루프 명령어는 상위 레벨 프로그래밍 언어 구조와 비슷하게 유용 할 수 있습니다. - 제 8 장 - 인터럽트 기초
일반적인 시스템 인터럽트 서비스를 사용하여 화면 출력을 수행하고 입력을받습니다. - 제 9 장 - 스택 누름 및 팝을 사용하고 스택 동작 방법을 알고 있어야합니다. 여기에 작은 메모리 모드에 대한 몇 가지 세부 사항이 설명되어 있습니다.
- 제 10 장 서브 루틴 만들기
구조화 된 프로그래밍 방식을 모방하기 위해 서브 루틴을 사용합니다. - 제 11 장 - 매크로
매크로 사용. - 12 장 - 배열 액세스
어셈블리가 매우 조악한 어레이 액세스 지침을 제공하는 방법을 확인하십시오. - 제 13 장 기본 문자열 명령어
movs, lods, cmps, scas 및 stos와 같은 다양한 문자열 명령어 사용. - 제 14 장 - 구조
상위 수준 언어와 같은 구조를 사용합니다. 어셈블리의 구조는 C/C++의 struct와 같으며 Pascal에 기록됩니다. - 15 장 - 이론
주소 모드와 메모리 모드의 비트가 참고로 플러스 컴퓨터 아키텍처 (101)
이것은 16 비트 proccecors에 대한 것입니다 – amanuel2
설명의 Intel IA-32 reference manuals는 최종 소스입니다.
IIRC 그 PDF의 IA - 32 전용 버전이 있습니다 (나는 집에서 사본을 가지고있어). 아무도 그들에게 링크가있는 곳을 알고 있습니까? – BCS
저는 Professional Assembly Language이 좋은 시작임을 알았습니다.
- 1. ASM x86 관련 JMP
- 2. x86 asm 디스어셈블러 라이브러리
- 3. linux asm x86 production segfault
- 4. x86 ASM 명령과 동일합니다. XADD
- 5. x86 최대/분 asm 명령어?
- 6. RAX에서 C로 변수 이동 (x86-64 asm)
- 7. 모노 ASM 생성
- 8. 이/ASM-일반적인 포함/'?
- 9. x86에서 변수 값 출력하기 asm
- 10. ASM 실행 흐름에 대한 질문
- 11. x86 디 컴파일을위한 리소스
- 12. syscall wrapper asm C
- 13. Eclipse의 ASM 파일
- 14. ASM to C translator
- 15. IDA 프로 ASM 지침
- 16. ASM : LoadLibrary & GetProcAddress
- 17. VC++ ASM 생성 이해
- 18. 번호 저장 PIC ASM
- 19. asm/atomic.h 컴파일 오류
- 20. ASM 질문, 2의 보수
- 21. ASM 인라인 의심
- 22. ASM : Stateful Transformation
- 23. Asm 코드 설명
- 24. 컴파일 후 ASM 최적화가 손실됩니까?
- 25. x86 어셈블리 참조 시트
- 26. x86 어셈블리 오른쪽 시프트 연산자 SHR의 부작용?
- 27. x86 어셈블러 질문
- 28. x86 명령어 인코딩 테이블
- 29. Microsoft ASM 인터뷰 질문이 있으십니까?
- 30. C to ARM ASM converter
네, 저는 x86 wikibook을 읽었습니다. – Dacto
- 첫 번째 것은 기본 이해를위한 훌륭한 책입니다. - x86 어셈블리 wikibooks는 몇 가지 기본 사항을 알고 좋은 참조를 원할 경우 완벽합니다. –