==========================================================================================
==========================================================================================
<ARM 어셈블리>
=Exception 처리
=AAPCS : Process Call Standard for ARM Architecture
*인텔
-구조체 = 구조체 대입시 어떻게 동작하는가?
stTest1 = stTest2;
004113F9 mov ecx,7
004113FE lea esi,[stTest2]
00411401 lea edi,[stTest1]
00411404 rep movs dword ptr es:[edi],dword ptr [esi]
00411406 movs word ptr es:[edi],word ptr [esi]
-구조체 return시 어떻게 동작하는가?
return stTest2;
004114F9 mov ecx,7
004114FE lea esi,[stTest2]
00411501 mov edi,dword ptr [ebp+8]
00411504 rep movs dword ptr es:[edi],dword ptr [esi]
00411506 movs word ptr es:[edi],word ptr [esi]
00411508 mov eax,dword ptr [ebp+8]
0041150B push edx
0041150C mov ecx,ebp
0041150E push eax
0041150F lea edx,ds:[411530h]
00411515 call @_RTC_CheckStackVars@8 (041108Ch)
0041151A pop eax
0041151B pop edx
0041151C pop edi
0041151D pop esi
0041151E pop ebx
0041151F mov ecx,dword ptr [ebp-4]
00411522 xor ecx,ebp
00411524 call @__security_check_cookie@4 (0411023h)
00411529 mov esp,ebp
0041152B pop ebp
0041152C ret
=Interrupt
-Nesting : 인터럽트의 중첩
1. Nesting 허용 X
2. 몇 번까지는 허용
...
=SoC (System on Chip)
=SoC내부의 블록들 => IP(Intellectual Property)로 명명 : USB, UART, DMA..
=MCU : Block이 모여 한 개의 MCU 이룸(웬만한 기능은 이 칩안에 모두 가지고 있음
: Serial port, I/O, PLL..)
=AMBA protocol
-AHB
-ASB
-APB
=Arbiter : 버스 시스템을 정리할 신호등
-선 2개
-선 3개
=MSB : most
=LSB : least
MSB LSB
31 0
=BIG Endian/ LITTLE Endian
.lds
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
=컴파일
=Native Code : cpu마다 기계어 코드가 다르므로 호환 x(obj, exe)
어셈블리 -> 어셈블러(컴파일러) -> 기계어
=단점 : CPU가 바뀌면 어셈블리 다시 공부해서 작성해야 함
=> C탄생
C작성 -> C 컴파일러가 해당 CPU에 맞는 어셈블리 만들어줌 -> 어셈블러 -> 기계어
=JRE (자바 가상 머신) = 안드로이드
자바로 컴파일한 컴파일 결과물은 아무 CPU에서도 동작
(윈도우, 리눅스, 자바 가상머신 설치된 어디든..)
'코스웨어 > 15년 스마트컨트롤러' 카테고리의 다른 글
20151128_김태현_ARM 어셈블리2일차 (7) | 2015.11.30 |
---|---|
20151127 - 강동조 개인업무일지 ARM2일차 (6) | 2015.11.30 |
20151127_박서연_일일업무보고서_ ARM Assembly(2) (8) | 2015.11.30 |
2015-11-27 ARM Assembly 개인업무일지 - 천정호 (8) | 2015.11.29 |
20151129 / ARM 어셈블리_2- 남수진 (7) | 2015.11.29 |
20151127 윤재희 #2. ARM/ Thumb PCS - 레지스터 사용법 ~ 컴파일에 대한 단상 (6) | 2015.11.29 |
2015.11.27_개인업무일지_[ASM #2]_이량경_함수호출 규약 (5) | 2015.11.29 |
20151127 임현수 업무일지 ARM #2 함수호출규약 (6) | 2015.11.29 |