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> アセン ブ リ 言 語 の 記 述<br />

表 2-4 すべての 命 令 を 条 件 実 行 する 場 合 ( 続 き)<br />

r0: a r1: b 命 令 サイクル (<strong>ARM</strong>7)<br />

1 1 SUBGT r0,r0,r1 1 ( 実 行 さ れません)<br />

1 1 SUBLT r1,r1,r0 1 ( 実 行 さ れません)<br />

1 1 BNE gcd 1 ( 実 行 さ れません)<br />

合 計 10<br />

Thumb-2 以 前 の Thumb バージ ョ ンの gcd<br />

条 件 実 行 が 可 能 な Thumb-2 以 前 の Thumb 命 令 は B だけなので、 条 件 分 岐 を 使<br />

用 して gcd アルゴ リ ズム を 記 述 する 必 要 があ り ます。<br />

<strong>ARM</strong> コード の 条 件 分 岐 の 実 装 と 同 様 に、 Thumb-2 以 前 の Thumb コードの 場<br />

合 にも 7 個 の 命 令 が 必 要 です。 全 体 のコー ド サ イ ズは 14 バイ ト となり、 小 さ<br />

な <strong>ARM</strong> の 実 装 (16 バイ ト) と 比 較 しても 小 さ くなり ます。<br />

さらに、16 ビッ ト メモ リ を 使 用 しているシステムでは、 このバージ ョ ンの 実<br />

行 速 度 が 2 番 目 の <strong>ARM</strong> の 実 装 を 上 回 り ます。 これは、 1 つの 32 ビッ ト <strong>ARM</strong><br />

命 令 には 2 回 のフ ェ ッチが 必 要 であ るのに 対 し て、 1 つの 16 ビッ ト Thumb 命<br />

令 では 1 回 の メ モ リ ア ク セスで 済 むか ら です。<br />

Thumb-2 バージ ョ ンの gcd<br />

以 下 の よ う に IT 命 令 を 使 用 して SUB 命 令 を 条 件 実 行 し、 <strong>ARM</strong> バージ ョ ンの こ<br />

のコードを Thumb-2 コー ド に 変 換 で き ます。<br />

gcd<br />

CMP<br />

ITE<br />

SUBGT<br />

SUBLE<br />

BNE<br />

r0, r1<br />

GT<br />

r0, r0, r1<br />

r1, r1, r0<br />

gcd<br />

これをアセンブルすると <strong>ARM</strong> または Thumb-2 コードに 等 し くなり ます。 アセ<br />

ンブラは IT 命 令 をチェ ッ ク し ますが、 <strong>ARM</strong> コードへのアセンブリで 省 略 し<br />

ます (IT 命 令 は 省 略 で き ます。 アセンブラは Thumb-2 コードにアセンブルす<br />

る と き にそれ ら を 挿 入 し ます)。<br />

Thumb-2 コードでは <strong>ARM</strong> コード よ り も 命 令 が 1 つ 多 く 必 要 ですが、 全 体 の<br />

コードサイズは Thumb-2 コードは 10 バイ ト、 <strong>ARM</strong> コードは 16 バイ トです。<br />

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

Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!