어셈블리 코드 예제

당신이 조금 알고 있다면, 당신은 전체를 많이 할 수있는 몇 가지 언어가 있습니다. 파이썬과 루비는 주말에 충분히 배울 수 있어 가치 있는 것을 만들 수 있습니다. 어셈블리 언어는 그렇게되지 않습니다. 요약하자면 매크로로 선언된 LOCAL 지시문은 데이터/코드 레이블이 전역적으로 재정의되지 않도록 하는 것입니다. 어셈블리 언어의 예술 (온라인 판)은 어셈블리 언어에 가장 인기있는 책 중 하나입니다, 항상 읽을 수있는 아니 전분 프레스에서; 당신은 또한 같은 저자에서 이들에 관심이있을 수 있습니다 : 위대한 코드 쓰기 : 볼륨 1 : 기계를 이해하고 좋은 코드를 작성, 볼륨 2 : 낮은 수준의 생각, 어셈블리 언어로 작성 된 높은 수준의 A 프로그램을 작성하는 것은 일련의 니모믹 프로세서로 구성되어 있습니다. 지침 및 메타 문(지시문, 의사 지시및 의사 작전으로 다양하게 알려져 있음), 주석 및 데이터. 어셈블리 언어 지침은 일반적으로 opcode mnemonic 다음에 데이터, 인수 또는 매개 변수 목록으로 구성됩니다. [12] 이들은 어셈블러에 의해 메모리에 로드되고 실행될 수 있는 기계 언어 명령어로 변환됩니다. 어셈블리 언어는 CPU(또는 기타 마이크로프로세서)의 레지스터 안팎에서 값을 이동하는 일련의 바이너리 명령인 기계 코드에 대한 일대일 대응이 있는 매우 낮은 수준의 프로그래밍 언어입니다.

매크로 구현을 위해 FibonacciByLocalVariable에서 동일한 코드를 거의 복사합니다. 매크로에 대한 사용이 없기 때문에 ECX 및 EDX에 푸시 / POP를 수동으로 사용합니다. 또한 스택 프레임이 없으면 데이터 세그먼트에 전역 변수 mPre 및 mCur를 만들어야합니다. mFibonacciByMacro는 다음과 같을 수 있습니다 : 모든 종류의 거의 모든 응용 프로그램 개발을 포함하여 소프트웨어 개발의 압도적 인 대부분은 어셈블리 코드가 아닌 높은 수준의 프로그래밍 언어를 사용합니다. 어셈블리 언어가 사용되는 일부 특정 영역은 어셈블리 언어가 항상 설계되어 이러한 종류의 모호성이 구문에 의해 보편적으로 적용되도록 설계되었습니다. 예를 들어 인텔 x86 어셈블리 언어에서 육각형 상수는 숫자 숫자로 시작해야 하므로 육각형 숫자 `A`(십수 10과 같음)는 AH가 아닌 0AH로 작성되어 AH가 아닌 0AH로 작성되어 AH 레지스터의 이름으로 표시될 수 없도록 합니다.