'develop'에 해당되는 글 84건
- 2006.06.29 Arm Assemble
- 2006.06.28 API & SDK
- 2006.06.23 u-boot 상에서 irq로 led테스트
- 2006.06.23 에라이 씨발...
Arm Assemble
develop/dogvelop 2006. 6. 29. 16:47
레지스터 r0~r15까지 16개 사용 가능
Special Purpose General Register==========
유저가 프로그램 할 때 레지스터 지정을 위해 사용할 수 있는 키워드
r15 (Program Counter, PC)
r13 (Stack Pointer, SP)
: 스택을 위한 명령어가 따로 없다.
push, pop의 기능을 일반 데이터 전송 명령을 통해 해결
r14 (Link Register, lr)
: 링크 레지스터,
BL (Branch with Link)을 수행하면, pc(r15)값을 스택이 아니라, lr(r14)에 넣고 분기 번지를
pc(r15)에 넣어 분기, 스택 사용 않함
복귀할 때는 "mov pc, lr"이라는 데이터 전송명령으로 복귀
* 한번의 call만 하는 경우라면, 스택을 사용하지 않기 때문에 속도가 빠르다.
Status Register ==========
PSR이라고 부른다. 일반적으로는 CPSR(Ccurrent Processor Status Register)이라고 한다.
32비트의 레지스터가 6개 있다.한번에 모두 사용할 수는 없다.
PSR은 flag bits, control bits로 나뉜다.
Flag Bits :
어떤 인스트럭션의 결과을 나타내는 부분 (4비트)
1) N (Negative/Less than flag)
: 연산의 결과가 마이너스 일 때 세트
2) Z (Zero flag)
: 연산의 결과가 0이 일 때 세트
3) C (Carry/Borrow/Extend flag)
: 자리올림이나, 내림이 발생, 그리고 shift연산등에서 세트
4) V (Overflow flag)
: 연산의 결과가 오버플로우인 경우에 세트
Control Bits :
인터럽트을 제어하거나, CPU 동작모드를 설정하거나 확인 할 수 있는 bit들
1) IRQ / FIQ
: IRQ, FIQ를 금지 시킬 수 있는 플래그
2) Mode Bits
: M0 ~ M4 의 비트들은 CPU의 6개의 동작 상태를 나타낸다.
Special Purpose General Register==========
유저가 프로그램 할 때 레지스터 지정을 위해 사용할 수 있는 키워드
r15 (Program Counter, PC)
r13 (Stack Pointer, SP)
: 스택을 위한 명령어가 따로 없다.
push, pop의 기능을 일반 데이터 전송 명령을 통해 해결
r14 (Link Register, lr)
: 링크 레지스터,
BL (Branch with Link)을 수행하면, pc(r15)값을 스택이 아니라, lr(r14)에 넣고 분기 번지를
pc(r15)에 넣어 분기, 스택 사용 않함
복귀할 때는 "mov pc, lr"이라는 데이터 전송명령으로 복귀
* 한번의 call만 하는 경우라면, 스택을 사용하지 않기 때문에 속도가 빠르다.
Status Register ==========
PSR이라고 부른다. 일반적으로는 CPSR(Ccurrent Processor Status Register)이라고 한다.
32비트의 레지스터가 6개 있다.한번에 모두 사용할 수는 없다.
PSR은 flag bits, control bits로 나뉜다.
Flag Bits :
어떤 인스트럭션의 결과을 나타내는 부분 (4비트)
1) N (Negative/Less than flag)
: 연산의 결과가 마이너스 일 때 세트
2) Z (Zero flag)
: 연산의 결과가 0이 일 때 세트
3) C (Carry/Borrow/Extend flag)
: 자리올림이나, 내림이 발생, 그리고 shift연산등에서 세트
4) V (Overflow flag)
: 연산의 결과가 오버플로우인 경우에 세트
Control Bits :
인터럽트을 제어하거나, CPU 동작모드를 설정하거나 확인 할 수 있는 bit들
1) IRQ / FIQ
: IRQ, FIQ를 금지 시킬 수 있는 플래그
2) Mode Bits
: M0 ~ M4 의 비트들은 CPU의 6개의 동작 상태를 나타낸다.
powered by performancing firefox
'develop > dogvelop' 카테고리의 다른 글
프로세스 찾아서 지우고 실행하기 (0) | 2006.08.21 |
---|---|
데몬 프로그램 만들기 (0) | 2006.08.21 |
API & SDK (0) | 2006.06.28 |
u-boot 상에서 irq로 led테스트 (0) | 2006.06.23 |
에라이 씨발... (0) | 2006.06.23 |