RealView Compilation Tools ã¢ã»ã³ãã©ã¬ã¤ã - ARM Information Center
RealView Compilation Tools ã¢ã»ã³ãã©ã¬ã¤ã - ARM Information Center
RealView Compilation Tools ã¢ã»ã³ãã©ã¬ã¤ã - ARM Information Center
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>ARM</strong> アセン ブ リ 言 語 の 記 述<br />
似 命 令 の 後 、 かつ -4 ~ 4KB (<strong>ARM</strong>、 32 ビッ ト Thumb-2 の 場 合 ) ま たは 0 ~<br />
1KB (Thumb-2 以 前 の Thumb、 16 ビッ ト Thumb-2 の 場 合 ) の 範 囲 内 の 位 置 に<br />
配 置 し ます。 詳 細 については、 「LTORG」 (ページ 7-20) を 参 照 して 下 さい。<br />
リ テ ラルプールは、 プ ロ セ ッ サに よ って 命 令 と し て 実 行 さ れない 位 置 に 配 置<br />
する 必 要 があ り ます。 つま り 、 無 条 件 分 岐 命 令 の 後 ま たはサブルーチンの 最<br />
後 にあ る 復 帰 命 令 の 後 に 配 置 し て 下 さい。<br />
例 2-4 は こ れを 実 装 する コー ド を 示 し ています。 このサンプルは、 メ インサン<br />
プルデ ィ レ ク ト リ の install_directory\RVDS\Examples に loadcon.s という 名 前 で<br />
収 録 さ れています。 このサンプルをアセンブル、 リ ン ク、 および 実 行 する 方<br />
法 については、 「サンプルコー ド 」 (ページ 2-2) を 参 照 して 下 さい。<br />
コ メ ン ト と し て リ ス ト さ れてい る 命 令 は、 アセンブ ラ に よ っ て 生 成 さ れる<br />
<strong>ARM</strong> 命 令 です。<br />
例 2-4<br />
AREA Loadcon, CODE, READONLY<br />
ENTRY<br />
; Mark first instruction to execute<br />
start<br />
BL func1 ; Branch to first subroutine<br />
BL func2 ; Branch to second subroutine<br />
stop<br />
MOV r0, #0x18 ; angel_SWIreason_ReportException<br />
LDR r1, =0x20026 ; ADP_Stopped_ApplicationExit<br />
SVC #0x123456 ; <strong>ARM</strong> semihosting (formerly SWI)<br />
func1<br />
LDR r0, =42 ; => MOV R0, #42<br />
LDR r1, =0x55555555 ; => LDR R1, [PC, #offset to<br />
; Literal Pool 1]<br />
LDR r2, =0xFFFFFFFF ; => MVN R2, #0<br />
BX lr<br />
LTORG<br />
; Literal Pool 1 contains<br />
; literal Ox55555555<br />
func2<br />
LDR r3, =0x55555555 ; => LDR R3, [PC, #offset to<br />
; Literal Pool 1]<br />
; LDR r4, =0x66666666 ; If this is uncommented it<br />
; fails, because Literal Pool 2<br />
; is out of reach<br />
BX lr<br />
LargeTable<br />
SPACE 4200 ; Starting at the current location,<br />
2-34 Copyright © 2002-2008 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DUI 0204IJ<br />
Non-Confidential