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

2.7 多 重 レ ジス タ ロー ド / ストア 命 令<br />

<strong>ARM</strong>、 Thumb-2、 および Thumb-2 以 前 の Thumb の 命 令 セ ッ ト には、 メ モ リ と<br />

の 間 で 複 数 レ ジ ス タ の ロー ド と ス ト ア を 実 行 する 命 令 があ り ます。<br />

多 重 レ ジ ス タ 転 送 命 令 を 使 用 する と 、 複 数 レ ジ ス タ の 内 容 を メ モ リ と の 間 で<br />

効 率 的 に 移 動 で き ます。 これら の 命 令 は、 サブルーチンのエン ト リ と 終 了 時<br />

におけ る ブ ロ ッ ク コ ピーやス タ ッ ク 操 作 に よ く 使 用 さ れます。 複 数 の 単 一<br />

データ 転 送 命 令 の 代 わ り に 多 重 レ ジ ス タ 転 送 命 令 を 使 用 する と 、 以 下 の よ う<br />

な 利 点 があ り ます。<br />

• コードサイズが 小 さ くなる。<br />

• 何 度 も 命 令 フ ェ ッ チする のではな く 1 回 の 命 令 フ ェ ッチで 済 むため、<br />

オーバヘッ ド が 小 さい。<br />

• キャッシュなし <strong>ARM</strong> プロセッサでは、 多 重 ロード / ストア 命 令 によっ<br />

て 転 送 さ れるデータ の 先 頭 ワー ド は 必 ず 非 シーケ ンシ ャル メ モ リ サ イ ク<br />

ルで 処 理 さ れるが、 その 後 に 転 送 さ れるすべての ワー ド はシーケ ンシ ャ<br />

ルサ イ ク ルで 処 理 する こ と が 可 能 。 ほとんどのシステムでは、 シーケン<br />

シ ャル メ モ リ サ イ ク ルの 方 が 実 行 速 度 が 速 く な り ます。<br />

注<br />

最 も 小 さな 番 号 のレジスタがアクセス 先 の 最 下 位 アドレスとの 間 で 転 送 され、<br />

最 も 大 き な 番 号 のレ ジ ス タ がア ク セス 先 の 最 上 位 ア ド レ ス と の 間 で 転 送 さ れ<br />

ます。 命 令 のレジスタ リ ス ト 内 でのレジスタの 順 序 は 関 係 あ り ません。<br />

レ ジ ス タ リ ス ト 内 のレ ジ ス タ が 昇 順 に 指 定 さ れてい る こ と を 確 認 する に<br />

は、--diag_warning 1206 アセンブ ラ コ マン ド ラ イ ンオプシ ョ ン を 使 用 し ます。<br />

このセ ク シ ョ ンでは、 以 下 の 内 容 について 説 明 し ます。<br />

• 「<strong>ARM</strong> と Thumb で 利 用 で き る 多 重 ロー ド / ストア 命 令 」 (ページ 2-44)<br />

• 「LDM と STM によるスタッ クの 実 装 」 (ページ 2-45)<br />

• 「LDM および STM によるブロックコピー」 (ページ 2-48)<br />

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

Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!