본문 바로가기
코스웨어/15년 스마트컨트롤러

20151126_김태현_ARM 어셈블리

by 알 수 없는 사용자 2015. 11. 26.
728x90
반응형

 

인텔은CISC 방식의 칩이고, ARMRISC 방식의 칩이다.

 

ARM7개의 모드가 존재한다.

 



모드는 단순한 프로그래밍을 짠다면 모드를 고민할 필요가 없다.

 

SVC,SYS는 커널에서 사용되는 모드이다.

 

IRQ,IFQ는 인터럽트가 호출될때 사용되는 모드이다.

 

ABT,UND는 시스템에 문제가 생겼을때 호출되는 모드이다.

 

ARM에서 기본모드는 SVC Mode이다.

 

ARM은 중복되는 레지스터를 빼면 총 37개의 레지스터를 가지고 있다.



 

CPSRCPU의 상태를 저장하는 레지스터이다.



0~4까지는 모드를 지정하는 bit이고

5bitThumb modeARM mode를 결정하는 bit이다.

Thumb Mode16bit 체제이고 ARM Mode32bit 체제이다.

6~7번은 IRQ,FIQ를 사용할지 안할지 결정하는 bit이다

8~27bit는 사용하지 않고 28~31bit는 연산 결과 상태를 나타내는 bit이다.

 

SPSR은 이전 값으로 돌리기 위해서 필요한 레지스터이다.

R14Return Address를 저장하는 레지스터이다.

R13Stack Pointer를 가지고 있는 레지스터이다.

R15는 실행되는

 

Thumb Mode 모드는 R8~R12는 사용하지 못한다.

 

FIQ 모드는 빠른 처리를 해야 함으로 레지스터를 백업시키고 복원 시키는 작업을 줄이기 위해서 R8~R12를 독자적으로 가지고 있다.

ARM은 전원을 인가하면 PC0번지로 jump 시킨다.(SVC Mode가 실행된다)



 

728x90