728x90
반응형
<Win32API>✔
================================================================
<ARM_ASM>✔
================================================================
✔ 모드
- 모드는 단순하게 헬로월드 찍으려고 만든것이 아니다.이 많은 모드에 대한 개념이 있어야 한다.
- 명령어 번호에 해당되는 외에 만들어지는 번호는 처리 코드가 없어 undefine .
- 언디파인된것은 UND로(흘러간다) 처리 된다.
- 커널이 아닌 모드 : 유저모드
- 모드는 운영체제를 염두해서 만든다.
- 앱이(구구단,등) 유저모드 이다.
인텔일때 유용하다.
context
unsigned int eax; ....
* 리눅스를 윈도우에서 올리면 인텔/리눅스를 암에서 올리면 암
- 시피유의 특화된 CPU를 다 따로 가지고 있었던 이유다.
- 각각의 시피유를 레지스트를 공부해서 만들어 둔 디렉토리 들이다.
* 리눅스의 강점이다.
- 인텟은 다양하게 돌아가게 안되어있다. ALU도 인텔구조로만 만들어져 윈도우에서만 돌아간다.
ARM
context
- 넥서스폰 구글칩을기반으로만들어 가장 최적화.
* R8~R12레지스트 를 중점으로 사용
- 전원이 켜지면 : 0번지 65줄
- PC에 오른쪽을 집어 넣어라
- 함수를 수행하는 프로그램 카운터
즉, 전원을 넣으면 리셋핸들러가 제일먼저 실행.
- SVC mode의 실행이다.
fiq_vector:
/*------------------------------------------------------------------------------
*- Function : fiq_handler
*- Treatments : FIQ Interrupt Handler.
*- Called Functions :
*------------------------------------------------------------------------------*/
fiq_handler:
b fiq_handler
- 벡터의 끝이자 FIQ코드 처리 시작이다.다른 벡터함수들은 라벨로 점프하게 되어있다.
- fiq 벡터함수는 점프 없이 즉시 실행한다. 그만큼 빨리 수행해야되기 때문에 도착하자 마자 실행할수 있도록 점프 없이 (가장빠르게) 구조자체를 이렇게 해놨다. FIq가 동작하기에 최상의 상태를 벡터로 구성해두었다.
reset_vector:
ldr pc, =reset_handler
undef_vector:
b undef_vector /* Undefined Instruction */
4바이트 차이
이 벡터를 점프하게 만드는게 익셉션
SVC모드로 씀.
USER모드 치밀한 설계시 사용.
운영체제를 다루는 회사가 아니면 모드를 사용안한다.
728x90
'코스웨어 > 15년 스마트컨트롤러' 카테고리의 다른 글
20151127 - 홍준모 ARM~>ASM 2일 차 - 126p~ (7) | 2015.11.27 |
---|---|
20151127-김재홍-ARM_Assembly_2일차 (6) | 2015.11.27 |
20151127 - 권오민 - ARM ASSEMBLY 2일차 (4) | 2015.11.27 |
2015.11.26_개인업무일지_[ASM #1]_주재민_mode (7) | 2015.11.27 |
20151126 업무일지 -여지윤- ARM Assembly (9) | 2015.11.27 |
20151126_안향진_ARM어셈블리_1 (8) | 2015.11.27 |
20151126 엄민웅 - arm 임베디드레시피 이론 수업 (교제 84~126) (6) | 2015.11.27 |
20151126 임현수 업무일지 ARM #1 ARM 기초 (6) | 2015.11.27 |