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

Create successful ePaper yourself

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

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

4.8.2 IT<br />

IT (If-Then) 命 令 は、 後 続 する 最 大 4 個 の 命 令 (IT ブロッ ク) を 条 件 付 き 命<br />

令 にし ます。 条 件 はすべて 同 じ にする こ と も、 論 理 的 に 逆 の 条 件 を 混 在 さ せ<br />

ることも 可 能 です。<br />

IT ブ ロ ッ ク 内 の 命 令 ( 分 岐 も 含 む) は、 構 文 の {cond} の 部 分 の 条 件 も 指 定 す<br />

る 必 要 があ り ます。<br />

コード 内 に IT 命 令 を 記 述 する 必 要 はあ り ません。 後 続 の 命 令 に 指 定 さ れた 条<br />

件 に 従 って、 アセンブラによ り 自 動 的 に 生 成 されるからです。 ただし、 IT 命<br />

令 を 記 述 する と、 アセンブラは IT 命 令 に 指 定 さ れた 条 件 を、 後 続 の 命 令 に 指<br />

定 された 条 件 と 突 き 合 わせて 検 証 します。<br />

IT 命 令 を 記 述 する と 、 コー ド 設 計 におけ る 条 件 付 き 命 令 の 配 置 および 条 件 の<br />

選 択 を 確 実 に 検 討 する こ と がで き る よ う にな り ます。<br />

<strong>ARM</strong> コードにアセンブルする と きにも、 アセンブラは 同 じチェ ッ クを 行 いま<br />

すが、 IT 命 令 は 生 成 し ません。<br />

構 文<br />

IT{x{y{z}}} {cond}<br />

各 項 目 には 以 下 の 意 味 があ り ます。<br />

x<br />

IT ブロックで 2 番 目 の 命 令 の 条 件 ス イ ッ チを 指 定 し ます。<br />

y<br />

z<br />

cond<br />

IT ブロックで 3 番 目 の 命 令 の 条 件 ス イ ッ チを 指 定 し ます。<br />

IT ブロックで 4 番 目 の 命 令 の 条 件 ス イ ッ チを 指 定 し ます。<br />

IT ブロ ッ クで 最 初 の 命 令 の 条 件 を 指 定 します。<br />

IT ブロッ クで 2 ~ 4 番 目 の 命 令 の 条 件 ス イ ッ チは、 以 下 のいずれかにする こ<br />

とができます。<br />

T<br />

Then。 条 件 cond を 命 令 に 適 用 し ます。<br />

E<br />

Else。 cond の 逆 条 件 を 命 令 に 適 用 し ます。<br />

使 用 法<br />

16 ビ ッ ト 命 令 は 通 常 は 条 件 コー ド フ ラ グに 影 響 を 及 ぼ し ますが、 IT ブロッ ク<br />

内 で 使 用 さ れる と き には 影 響 を 及 ぼ し ません。 ただ し、 CMP、 CMN、 および TST<br />

は 例 外 です。<br />

IT ブロッ ク 内 の BKPT 命 令 は、 条 件 が 偽 の 場 合 で も 必 ず 実 行 さ れます。<br />

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

Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!