2008-10-18 4 views

답변

3

은 내가 본 총회의 가장 좋은, 가장 포괄적 인 소스가있다 "Art of Assembly Language". 그것은 여러 버전에서 무료로 다운로드 할 수 있습니다.

+2

정말 어셈블러를 배우는 데 관심이 있다면 "고급 어셈블리"를 사용하는 모든 것이 시간 낭비라는 것을 알고이 책을 건너 뛰고 저수준 어셈블리를 가르쳐 줄 뭔가를 찾으십시오. 인텔 용 어셈블리 언어 - 기반 컴퓨터 킵 얼바인에 의해 꽤 괜찮은 책이다 – nelsonslament

3

나는 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)
+0

이것은 16 비트 proccecors에 대한 것입니다 – amanuel2

2

설명의 Intel IA-32 reference manuals는 최종 소스입니다.

+0

IIRC 그 PDF의 IA - 32 전용 버전이 있습니다 (나는 집에서 사본을 가지고있어). 아무도 그들에게 링크가있는 곳을 알고 있습니까? – BCS