지금까지는 좋지만 이러한 패턴(0과 1)의 각 패턴이 무엇을 의미하는지 기억할 수 없습니다. 이러한 이유로, 우리는 소위 mnemonics, 약어를 사용 하 여 이러한 이진 패턴을 기억 하는 데 도움이, 각 컴퓨터 코드 명령 이름이 부여 됩니다. 이 암기는 종종 세 글자로 구성되어 있지만, 이것은 의무적이지 않습니다. 우리는 지침으로 이러한 니모닉을 사용하여 프로그램을 작성할 수 있습니다. 이 프로그램을 어셈블리 언어 프로그램이라고 하며 컴퓨터의 컴퓨터 코드를 나타내는 데 사용되는 니모닉 집합을 해당 컴퓨터의 어셈블리 언어라고 합니다. 따라서 어셈블리 언어는 컴퓨터를 프로그래밍하는 데 인간이 사용하는 가장 낮은 수준입니다. 명령의 진연은 니모닉 (들) 후에 옵니다. 다음은 맨 아래에서 시작하여 어셈블리 언어까지 작업해 보겠습니다. 가장 낮은 수준에서, 우리는 우리의 회로에 우리의 전기 신호를 가지고있다. 신호는 전기 전압을 0볼트(`off`) 또는 5볼트(`on`)와 같은 두 레벨 중 하나로 전환하여 형성됩니다. 회로가 어떤 전압인지 쉽게 알 수 없기 때문에 시각적 표현, 숫자 0 및 1을 사용하여 온 / 오프 전압의 패턴을 작성하여 신호의 부재 또는 존재에 대한 아이디어를 나타낼뿐만 아니라 0과 1이 di이기 때문에 이진 시스템의 gits.

그런 다음 0과 1의 시퀀스를 그룹화하여 컴퓨터 프로세서의 가장 작은 작업 단위인 컴퓨터 코드 명령을 형성합니다. 다음은 컴퓨터 언어 명령의 예입니다. ARM 장치 (라즈베리 파이 처럼), 이 자습서를 따라 QEMU와 라즈베리 파이 배포판을 사용 하 여 가상 머신에서 자신의 실험실 환경을 설정할 수 있습니다. GDB의 기본 디버깅에 익숙하지 않은 경우 이 자습서의 기본 을 얻을 수 있습니다. 이 자습서에서는 ARM 32비트에 포커스가 있으며 예제는 ARMv6에서 컴파일됩니다. 이 예제의 구성 부분은 다음 섹션에서 자세히 설명합니다. 예제 2.1은 어셈블리 언어 모듈의 핵심 구성 요소 중 일부를 보여 줍니다. 이 예제는 ARM 어셈블리 언어로 작성됩니다. 인텔과 ARM 의 차이점뿐만 아니라 다른 ARM 버전 자체도 있습니다.

이 자습서 시리즈는 ARM의 작동 방식에 대한 일반적인 이해를 얻을 수 있도록 가능한 한 일반으로 유지하기 위한 것입니다. 기본 사항을 이해하면 선택한 대상 ARM 버전의 뉘앙스를 쉽게 배울 수 있습니다. 이 자습서의 예제는 32비트 ARMv6(라즈베리 파이 1)에서 만들어졌으므로 설명은 이 정확한 버전과 관련이 있습니다. 다른 ARM 버전의 이름 지정도 혼동될 수 있습니다: 하나 이상의 코드 섹션. 일반적으로 읽기 전용 섹션입니다. 당신이 확장자 *.s와 어셈블리 파일을 작성한 후에는, 당신은 로 조립하고 ld와 연결해야합니다 : . 감소된 명령 집합에는 장점과 단점이 있습니다.