본문 바로가기
반응형

코스웨어/15년 스마트컨트롤러532

2015-11-27 ARM Assembly 개인업무일지 - 천정호 R0 ~ R3까지의 레지스터는 주로 함수의 인자로 사용이 되며 레지스터중에 가장 많이 사용이 된다.ARM에서 인자는 4개까지 레지스터로 사용이 가능하다.내부 변수는 7개까지 레지스터로 사용하며 이 이상의 인자와 내부 변수는 스택에 모두 할당이 된다. 함수의 반환값은 R0에 저장이 되어 반환이 된다.함수의 R4 ~ R11까지는 사용전에 스택에 내용을 저장하고 함수가 끝나기전에 원래의 값으로 복원시켜줘야한다. R12 ~ R15 레지스터들은 특수기능을 수행하는 레지스터이므로 함부로 건들지 않는것이 좋다.R12 - Long Branch시에 Veneer를 통해 주소 할당 시에 임시 보관소로 사용R13 - Stack PointerR14 - Jump시에 돌아올 곳의 주소를 저장R15 - 현재 실행중인 주소를 저장 인.. 2015. 11. 29.
20151127_안향진_ARM어셈블리_2 ==========================================================================================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 dwor.. 2015. 11. 29.
20151129 / ARM 어셈블리_2- 남수진 ARM(126p ~ 161p) APCS(ARM Procedure Call Standard) CPU에 따라 함수 호출 규약이 다름 ARM의 레지스터 사용 규약 ARM에서 코딩한 소스를 APCS에 맞춰 컴파일해 기계어를 만든다 ARM 레지스터 역할 ARM 어셈블리 프로그래밍할 때 표의 register, synonym, special 이름 세가지 다 사용해도 됨 R0~R3, SP, LR, PC 레지스터를 많이 사용한다 R0~R3 argument 함수 내에서 r0~r3를 사용한다면 이 레지스터 값들을 스택에 저장해둔다 최적화를 위해 함수의 인자는 4개 이하로 하는 것이 좋다 5번째 인자부터 스택에 저장하므로 4번째 인자까지는 레지스터 R0~R3 에 저장하므로 속도가 더 빠르다 result 함수의 return값을.. 2015. 11. 29.
20151127 윤재희 #2. ARM/ Thumb PCS - 레지스터 사용법 ~ 컴파일에 대한 단상 ==================================Outline====================================ARM/ Thumb PCS - 레지스터 사용법ARM은 Interrupt냄새를 어떻게 맡는가ARM SoC (System On Chip) - ARM 그렇고 말고AMBA - SoC안에서 IP끼리의 Bus 규격Little Endian과 Big Endian컴파일에 대한 단상---------------------------------------------------------------------------- 임베디드 레시피 p/126 ARM/ Thumb PCS - 레지스터 사용법 ARM은 accumulator 레지스터가 따로 존재하지 않고 변수를 사용하여 연산을 한다. r0 ~.. 2015. 11. 29.
2015.11.27_개인업무일지_[ASM #2]_이량경_함수호출 규약 ✔ ================================================================ ✔ APCS 약속1) 함수를 부를때 레지스터는 어떨게 사용해야 하는가?2) 리턴값은 어떻게 ?3) 스택은 어떨때?4) 1~3 에서 사용된 레지스터 이외 레지스터는 어떻게 사용?이런 레지스터 사용법을 통칭- PCS(Procedure call Srandard)- APCS : ARM Procedure Call Srandard (구버전)- TPCS : Thumb Procedure Call Srandard (구버전)- ATPCS : ARM-Thumb Procedure Call Srandard(AAPCS의 선배)- AAPCS : Procedure Call Srandard for ARM Archit.. 2015. 11. 29.
20151127 임현수 업무일지 ARM #2 함수호출규약 LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam ){ HDC hdc; PAINTSTRUCT ps; static HWND c1, c2, c3, c4; static BOOL ELLIPSE = FALSE; switch (iMessage) { case WM_CREATE: c1 = CreateWindow(TEXT ("button" ), TEXT("Draw Ellipse?" ), WS_CHILD | WS_VISIBLE | BS_CHECKBOX, 20, 20, 160, 25, hWnd , (HMENU )0, g_hInst, NULL); c2 = CreateWindow(TEXT ("button" ), TEXT("Good by.. 2015. 11. 29.
20151128 엄민웅 - arm 임베디드레시피 이론 수업 (교제 127~161) 구조체 대입 어셈블리 코드 확인 해보기. 예제)12345678910111213141516171819202122232425#include typedef struct _person{ char name[20]; char phoneNum[20]; int age;}person; int main(){ person arr= {"ZZYYXX", "1234567890", 111}; person tamp; person tamp2; // sol 1. tamp = arr; // sol 2. strcpy(tamp2.name, arr.name); strcpy(tamp2.phoneNum, arr.phoneNum); tamp2.age = arr.age; return 0;} cs ; Line 17 mov ecx, 11 ; 000000.. 2015. 11. 28.
20151127 - 홍준모 ARM~>ASM 2일 차 - 126p~ 책 126p Exception 발생 조건-SVC mode-Power on / reset-IRQ mode-Hardware적인 interrupt 발생한 경우-FIQ mode-Interrupt 중 fast interrupt가 발생한 경우-ABT mode-Access하려는 주소가 없는 주소-Instruction fetch에 실패한 경우-UND mode-Instruction을 decode했는데 ARM이 모르는 경우 Exception 우선 순위-Reset-Data abort-FIQ-IRQ-Prefetch abort-Undefined instruction-SWI *CPSR - 현재 mode가 어떤 mode 였는지에 대한 정보가 들어가 있다.이셉션 핸들러 가 함수고, 리턴이 st PCS-Procedure Call.. 2015. 11. 27.
20151127-김재홍-ARM_Assembly_2일차 /***ARM_Assembly_2일차***/ embedded recipes 132_Page APCS : ARM Procedure Call Standard1) 함수를 부를 때 레지스터는 어떻게 사용해야 하는가?2) return 값은 어떻게 돌려주는가?3) stack은 어떨 때, 어떻게 사용되는가?4) 1)~3)에서 사용된 레지스터 이외의 레지스터들은 어떻게 사용되는가?이와 같이 일반 레지스터를 쓰는 이런 약속을 APCS 즉, ARM Procedure Call Standard라고 부르고, 이 Standard에 맞추어서 Compiler는 기계어를 만들어 냅니다. AAPCS : Procedure Call Standard for ARM Architecturehttp://infocenter.arm.com/help/.. 2015. 11. 27.
728x90
반응형