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.

ディレクティブリファレンス<br />

マクロボディ 内 では、$label、 $parameter または $cond などのパラ メータは 他 の<br />

変 数 と 同 じ よ う に 使 用 で き ます (「アセンブ リ 時 の 変 数 代 入 」 (ページ 3-31)<br />

を 参 照 )。 これらのパラ メータには、 マクロが 呼 び 出 されるたびに 新 しい 値 が<br />

渡 されます。 パラ メータを 通 常 のシンボルと 区 別 するには、 先 頭 に $ を 付 ける<br />

必 要 があ り ます。 パラ メ ータはい く つでも 使 用 でき ます。<br />

$label は 省 略 可 能 ですが、 マ ク ロによ って 内 部 ラベルが 定 義 される 場 合 に 役 立<br />

ちます。 このラベルは、 マクロへのパラ メータとして 処 理 されますが、 必 ずし<br />

も、 マ ク ロ 拡 張 の 最 初 の 命 令 を 表 す 必 要 はあ り ません。 マクロでは、 すべて<br />

のラベルの 位 置 が 定 義 されます。<br />

パ ラ メ ータ のデフ ォル ト 値 を 使 用 するには、 | を 引 数 と し て 使 用 し ます。 この<br />

引 数 が 省 略 さ れてい る 場 合 は、 空 の 文 字 列 が 使 用 さ れます。<br />

複 数 の 内 部 ラベルを 使 用 する マ ク ロ では、 各 内 部 ラベルを、 異 な る 接 尾 文 字<br />

の 付 いたベース ラベル と し て 定 義 する と 役 立 ち ます。<br />

拡 張 にスペースが 不 要 な 場 合 には、 パ ラ メ ータ と それに 続 く テキ ス ト の 間 、<br />

またはパラメータとパラメータの 間 にはドット (.) を 使 用 します。 ただし、<br />

パラ メータ とその 前 のテキス トの 間 にはド ッ トは 使 用 しないで 下 さい。<br />

条 件 コー ド には、$cond パラ メータを 使 用 できます。 単 項 演 算 子 :REVERSE_CC: を<br />

使 用 し て、 条 件 コー ド の 逆 数 を 検 索 し、 :CC_ENCODING: を 使 用 して、 条 件 コー<br />

ドの 4 ビ ッ ト エン コーデ ィ ン グ を 検 索 し ます。<br />

マ ク ロ では、 ローカル 変 数 の 有 効 範 囲 を 定 義 し ます (「LCLA、 LCLL、 LCLS」<br />

(ページ 7-7) を 参 照 )。<br />

マクロはネス トできます (「ネステ ィ ングデ ィ レ ク テ ィ ブ」 (ページ 7-36) を<br />

参 照 )。<br />

例<br />

; macro definition<br />

MACRO<br />

$label xmac $p1,$p2<br />

; code<br />

$label.loop1 ; code<br />

; code<br />

BGE $label.loop1<br />

$label.loop2 ; code<br />

BL $p1<br />

BGT $label.loop2<br />

; code<br />

ADR $p2<br />

; start macro definition<br />

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

Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!