10.07.2015 Views

PDF version - ARM Information Center

PDF version - ARM Information Center

PDF version - ARM Information Center

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>ARM</strong>과 Thumb의 인터워킹5.4 인터워킹 예제다음은 인터워킹의 예제입니다.• 예제 5-2에서는 어셈블리 언어 인터워킹을 보여 줍니다.• 5-9페이지의 예제 5-3에서는 베니어를 사용한 어셈블리 언어 인터워킹을보여 줍니다.• 5-11페이지의 예제 5-4에서는 C 및 C++ 언어 인터워킹을 보여 줍니다.• 5-12페이지의 예제 5-5에서는 베니어를 사용한 C, C++ 및 어셈블리 언어 인터워킹을 보여 줍니다.Realview Development Suite에도 몇 가지 인터워킹 예제가 제공됩니다. 자세한 내용은 install_directory\RVDS\Examples\...\interwork에 있는 readme.txt 파일을 참조하십시오.예제 5-2 어셈블리 언어 인터워킹이 예제에서는 짧은 헤더 섹션 (SECTION 1) 과 ADR 명령어를 구현하여 THUMBProg레이블의 주소를 가져오고 최하위 주소 비트를 설정합니다. BX 명령어는 상태를Thumb 상태로 변경합니다.SECTION2에서는 Thumb 코드가 ADR 명령어를 사용해 두 레지스터의 내용을 더하여<strong>ARM</strong>Prog 레이블의 주소를 가져오지만 이때 최하위 비트는 지워진 상태로 있습니다. BX 명령어는 상태를 다시 <strong>ARM</strong> 상태로 변경합니다.SECTION3에서 <strong>ARM</strong> 코드는 두 레지스터의 내용을 더하고 작업을 종료합니다.; ********; addreg.s; ********PRESERVE8AREA AddReg,CODE,READONLY ; Name this block of code.ENTRY; Mark first instruction to call.; SECTION1startADR R0, ThumbProg:OR:1 ; Generate branch target address; and set bit 0, hence arrive; at target in Thumb state.BX R0; Branch exchange to ThumbProg.; SECTION2THUMB; Subsequent instructions are Thumb code.ThumbProgMOVS R2, #2 ; Load R2 with value 2.5-8 Copyright © 2002-2008 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DUI 0203IKNon-ConfidentialUnrestricted Access

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!