12.07.2015 Views

RealView Compilation Tools コンパイラユーザガイド - ARM ...

RealView Compilation Tools コンパイラユーザガイド - ARM ...

RealView Compilation Tools コンパイラユーザガイド - ARM ...

SHOW MORE
SHOW LESS
  • No tags were found...

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

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

イ ン ラ イ ンアセン ブ ラ と 組 み 込 みアセン ブ ラの 使 用7.1.3 イ ン ラ イ ンアセンブ リ 演 算 の 制 限イ ン ラ イ ンアセンブ リ コード で 実 行 でき る 演 算 には、 多 く の 制 限 があ り ます。こ の 制 限 に よ り 、 一 定 の 安 全 性 が 確 保 さ れるだけでな く 、 コ ンパイル さ れたC および C++ のコードの 前 提 が、 アセンブルされたアセンブリ コードで 破 られるこ とがあ り ません。種 々の 制 限イ ン ラ イ ンアセンブ ラ には、 以 下 の 制 限 があ り ます。• インラインアセンブラはハイレベルのアセンブラなので、 人 間 が 記 述 したとおりのコードが 生 成 されない 場 合 もあります。 コンパイラにより 生成 さ れる コー ド よ り 効 率 的 な コー ド を 生 成 する 目 的 に、 イ ン ラ イ ンアセンブラを 使 用 しないで 下 さい。 その よ う な 目 的 には、 組 み 込 みアセンブラまたは <strong>ARM</strong> アセンブラ armasm を 使 用 して 下 さい。• プ ロ グ ラ ムカ ウ ン タへの 分 岐 や 書 き 込 みな ど、 <strong>ARM</strong> アセンブラ armasmで 使 用 でき る ローレベルの 機 能 の 一 部 はサポー ト されません。• ラベル 式 はサポート されません。• ドット 記 法 (.) または {PC} を 使 用 して、 現 在 の 命 令 のア ド レスを 取 得するこ とはできません。• & 演 算 子 を 使 用 し て、 16 進 定 数 を 表 す こ と はで き ません。 16 進 定 数 を 表すには、 接 頭 文 字 0x を 使 用 し ます。 以 下 に 例 を 示 し ます。__asm { AND x, y, 0xF00 }• インラインアセンブリ 言 語 では、 8 ビ ッ ト 定 数 の 実 際 の ロ テー ト を 指 定する 表 記 法 を 使 用 できません。 つま り、 シフ ト した 8 ビッ ト 定 数 を 使 用する と、 NZCV フラグが 更 新 される 場 合 に、 C フラグが 壊 れていると 見なされます。• スタックを 変 更 しないで 下 さい。 作 業 レ ジ ス タ は 必 要 に 応 じ て 自 動 的 にス タ ッ ク さ れた り 復 元 さ れた り する ので、 ス タ ッ ク の 変 更 は 不 要 です。作 業 レ ジ ス タ を 明 示 的 にス タ ッ ク し た り 復 元 し た り する こ と はコ ンパイラでは 容 認 されていません。7-6 Copyright © 2002-2010 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DUI 0205IJNon-Confidential, ID 100419

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

Saved successfully!

Ooh no, something went wrong!