Thumb2 아키텍처용 인라인 어셈블러¶
이 문서는 어셈블리 언어 프로그래밍에 어느 정도 익숙하다고 가정합니다. 명령어 집합에 대한 간결한 설명은 아래의 References 에 있는 ARM Thumb-2 Instruction Set Quick Reference Card를 참조하십시오. 인라인 어셈블러는 여기에 설명된 ARM Thumb-2 명령어 집합의 일부를 지원합니다. 구문은 ARM이 정의한 것에 최대한 가깝게 하되 Python 함수 호출로 변환되어 있습니다.
달리 명시된 경우를 제외하고 명령어는 32비트 부호 있는 정수 데이터에 대해 동작합니다. 대부분의 지원되는 명령어는 R0-R7 레지스터에만 동작하며, R8-R15가 지원되는 경우 이를 명시합니다. 레지스터 R8-R12는 함수에서 반환되기 전에 초기 값으로 복원되어야 합니다. 레지스터 R13-R15는 각각 링크 레지스터, 스택 포인터, 프로그램 카운터를 구성합니다.
문서 표기 규칙¶
가능한 경우 각 명령어의 동작은 Python으로 설명되며, 예를 들면 다음과 같습니다
add(Rd, Rn, Rm)
Rd = Rn + Rm
이를 통해 명령어의 효과를 Python으로 시연할 수 있습니다. 특정 경우에는 Python이 간접 참조와 같은 개념을 지원하지 않기 때문에 이것이 불가능합니다. 이러한 경우에 사용되는 의사 코드는 해당 페이지에 설명되어 있습니다.
명령어 범주¶
다음 절들은 MicroPython이 지원하는 ARM Thumb-2 명령어 집합의 일부를 자세히 설명합니다.
사용 예제¶
이 절들은 어셈블러 사용에 대한 추가 코드 예제와 힌트를 제공합니다.