RealView Compilation Tools ã¢ã»ã³ãã©ã¬ã¤ã - ARM Information Center
RealView Compilation Tools ã¢ã»ã³ãã©ã¬ã¤ã - ARM Information Center
RealView Compilation Tools ã¢ã»ã³ãã©ã¬ã¤ã - ARM Information Center
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.11 アセンブリ 言 語 に 関 する 変 更<br />
表 2-11 は、 UAL アセンブラ 言 語 と 以 前 の 独 立 した <strong>ARM</strong> アセンブ ラ 言 語 およ<br />
び Thumb アセンブラ 言 語 との 違 いを 示 しています。 UAL 以 前 の <strong>ARM</strong> 構 文 は、<br />
アセンブラでも 認 識 されます。<br />
表 2-11 以 前 の <strong>ARM</strong> アセンブ リ 言 語 からの 変 更 点<br />
変 更 点 UAL 以 前 の <strong>ARM</strong> 構 文 適 切 な 構 文<br />
LDM および STM のデフ ォル ト のア ド レ ッ シングモー<br />
ドは IA です。<br />
<strong>ARM</strong> と Thumb では、 フル 下 降 ス タ ッ ク の 操 作 に<br />
PUSH ニーモニ ッ ク と POP ニーモニ ッ ク を 使 用 でき ま<br />
す。<br />
<strong>ARM</strong> と Thumb では、 ロ テー ト のみを 伴 う ( 他 の<br />
操 作 は 伴 わない) 命 令 の LSL、 LSR、 ASR、 ROR、 およ<br />
び RRX 命 令 ニーモニ ッ ク を 使 用 で き ます。<br />
プログラムカウンタ 相 対 アドレシングには、label<br />
形 式 を 使 用 し ます。 新 しいコードでは offset 形 式 は<br />
使 用 し ないで 下 さ い。<br />
ダブルワード メモ リ アクセスに 両 方 のレジスタを<br />
指 定 し ます。 使 用 で き る レ ジ ス タ の 組 み 合 わせに<br />
ついては、 規 則 に 従 う 必 要 があ り ます。<br />
{cond}??????????????????????????????<br />
<strong>ARM</strong> コード と Thumb-2 コードでは、 <strong>ARM</strong> の 条 件<br />
付 き 形 式 {cond} と Thumb-2 の IT 命 令 の 両 方 を 使 用<br />
する こ とができます。 アセンブ ラ は 両 者 の 整 合 性<br />
をチェ ッ ク し て、 現 在 の 命 令 セ ッ ト に 応 じ て 適 切<br />
なコードをアセンブルします。 IT 命 令 を 省 略 し た<br />
場 合 、 アセンブ ラ が Thumb-2 コー ド に 挿 入 し ます。<br />
LDMIA, STMIA<br />
STMFD sp!, {reglist}<br />
LDMFD sp!, {reglist}<br />
MOV Rd, Rn, LSL shift<br />
MOV Rd, Rn, LSR shift<br />
MOV Rd, Rn, ASR shift<br />
MOV Rd, Rn, ROR shift<br />
MOV Rd, Rn, RRX<br />
LDR Rd, [pc, #offset]<br />
LDRD Rd, addr_mode<br />
ADD{cond}S<br />
LDR{cond}SB<br />
ADDEQ r1, r2, r3<br />
LDRNE r1, [r2, r3]<br />
LDM, STM<br />
PUSH {reglist}<br />
POP {reglist}<br />
LSL Rd, Rn, shift<br />
LSR Rd, Rn, shift<br />
ASR Rd, Rn, shift<br />
ROR Rd, Rn, shift<br />
RRX Rd, Rn<br />
LDR Rd, label<br />
LDRD Rd, Rd2, addr_mode<br />
ADDS{cond}<br />
LDRSB{cond}<br />
ITEQ E ; optional<br />
ADDEQ r1, r2, r3<br />
LDRNE r1, [r2, r3]<br />
2-56 Copyright © 2002-2008 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DUI 0204IJ<br />
Non-Confidential