ARMv7-A ISA를 기준으로 작성했습니다.
🏷️ARM Assebmly
📌ARM Register 구성
- 범용 레지스터(GPR)
- 특수 레지스터
- R13(SP): Stack Pointer Reister
- R14(LR): Link Register
- R15(PC): Program Counter
- CPSR: 상태 레지스터
📌ARM Assembly 특징
- 첫 번째 operand는 반드시 레지스터 이름이어야 한다.
- immediate는 상수 앞에
#
을 붙인다.
- 단,
LDR
명령어에서만은 예외적으로 =
를 사용한다.
- 간접 참조는
[]
를 사용한다.
- 다른 ISA에 비해 간단하다.
- x86처럼
push
, pop
이 없어서, RISC-V처럼 SP를 일일이 계산해줘야 한다.
- ARM은 RISC-V처럼 32bit의 고정된 명령어 길이를 갖는다.
메리 크리스마스🎄 :)