08.11.2014 Views

RealView Compilation Tools アセンブラガイド - ARM Information Center

RealView Compilation Tools アセンブラガイド - ARM Information Center

RealView Compilation Tools アセンブラガイド - ARM Information Center

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>ARM</strong> 命 令 と Thumb 命 令<br />

4.11 Thumb での 命 令 の 幅 の 選 択<br />

<strong>ARM</strong>v6T2 以 降 のプ ロ セ ッ サの Thumb コードを 書 く と き、 命 令 の 中 には 16<br />

ビッ トエンコーディングと 32 ビッ トエンコーディングのどちらでも 使 用 でき<br />

るものがあります。 ど ち ら も 可 能 な 場 合 、 アセンブ ラ は 通 常 16 ビットエン<br />

コーディ ングを 生 成 します ( 例 外 については、 「「 異 な る 動 作 を 持 つ 命 令 」」<br />

を 参 照 )。<br />

4.11.1 命 令 の 幅 の 指 定 子 : .W と .N<br />

アセンブ ラ の こ の 動 作 を 制 御 する には .W 幅 指 定 子 を 使 用 し ます。 これは 16<br />

ビ ッ ト エン コーデ ィ ン グが 使 用 で き る 場 合 で も 32 ビッ トエンコーディングが<br />

使 用 さ れる よ う に し ます。<br />

.W 指 定 子 は <strong>ARM</strong> または Thumb (<strong>ARM</strong>v6T2 以 降 ) コー ド にアセンブルする 可<br />

能 性 のあ る コー ド で 使 用 で き ます。 .W 指 定 子 は <strong>ARM</strong> コード と してアセンブル<br />

する と きには 無 視 されます。<br />

確 実 に 16 ビッ トでエンコードされるようにするには、.N 幅 指 定 子 を 使 用 で き<br />

ます。 この 場 合 、 16 ビッ トでエンコードできない 命 令 に 対 して 使 用 された 場<br />

合 や <strong>ARM</strong> コード と してアセンブルする と き、 エラーが 出 ます。<br />

命 令 の 幅 指 定 子 は、 命 令 ニーモニ ッ ク と 条 件 コー ド ( 存 在 する 場 合 ) の 直 後<br />

に 置 き ます。 次 に 例 を 示 し ます。<br />

BCS.W label ; forces 32-bit instruction even for a short branch<br />

B.N label : faults if label out of range for 16-bit instruction<br />

4.11.2 異 なる 動 作 を 持 つ 命 令<br />

参 考 と し て、 32 ビ ッ ト 命 令 が 使 用 でき る ターゲ ッ ト で 失 敗 が 発 生 し て も、 .W<br />

指 定 な し の LDR、 ADR、 およびB が 常 に 16 ビ ッ ト 命 令 を 生 成 し ます。<br />

外 部 参 照 では、 LDR および B に .W が 指 定 されていな く て も 常 に 32 ビット 命 令<br />

が 生 成 されます。<br />

<strong>ARM</strong> DUI 0204IJ Copyright © 2002-2008 <strong>ARM</strong> Limited. All rights reserved. 4-159<br />

Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!