• 検索結果がありません。

アドレッシングモード

SH-2A、SH2A-FPU

4. 命令の特長

4.2 アドレッシングモード

4.

命令の特長

Rev.4.00 2011.02.22 4-4 R01US0031JJ0400

SH-2A、SH2A-FPU

4.

命令の特長

Rev.4.00 2011.02.22 4-5 R01US0031JJ0400 SH-2A、SH2A-FPU

アドレッシングモード 命令フォーマット 実効アドレスの計算方法 計算式

@(disp:4,Rn) 実効アドレスはレジスタRn4ビッ トディスプレースメントdispを加算 した内容です。dispはゼロ拡張後、オ ペランドサイズによってバイトで1 倍、ワードで2倍、ロングワードで4 倍します。

Rn

Rn 㧗disp˜1/2/4

1/2/4 disp㧔࠯ࡠ᜛ᒛ㧕

˜

バイト:Rn+disp ワード:Rn+disp×2 ロングワード:Rn+disp×4 ディスプレースメント

付きレジスタ間接

@(disp:12,Rn) 実効アドレスはレジスタRn12ビッ トディスプレースメントdispを加算 した内容です。dispはゼロ拡張します。

Rn

Rn 㧗disp˜1/2/4/8

1/2/4/8 disp㧔࠯ࡠ᜛ᒛ㧕

˜

バイト:Rn+disp ワード:Rn+disp×2 ロングワード:Rn+disp×4 クワッドワード:

Rn+disp×8

インデックス付き レジスタ間接

@(R0,Rn) 実効アドレスはレジスタRnR0 加算した内容です。

Rn

R0

Rn㧗R0

Rn+R0

ディスプレースメント 付きGBR間接

@(disp:8,GBR) 実効アドレスはレジスタGBR8 ットディスプレースメントdispを加 算した内容です。dispはゼロ拡張後、

オペランドサイズによってバイトで1 倍、ワードで2倍、ロングワードで4 倍します。

GBR

GBR 㧗disp˜1/2/4

1/2/4 disp㧔࠯ࡠ᜛ᒛ㧕

˜

バイト:GBR+disp ワード:GBR+disp×2 ロングワード:

GBR+disp×4

インデックス付き GBR間接

@(R0,GBR) 実効アドレスはレジスタGBRR0 を加算した内容です。

GBR

GBR㧗R0 R0

GBR+R0

4.

命令の特長

Rev.4.00 2011.02.22 4-6 R01US0031JJ0400

SH-2A、SH2A-FPU

アドレッシングモード 命令フォーマット 実効アドレスの計算方法 計算式 ディスプレースメント

付きTBR二重間接

@@ (disp:8,TBR) 実効アドレスはレジスタTBR8 ットディスプレースメントdispを加 算したアドレスの内容です。dispはゼ ロ拡張後4倍します。

TBR

TBR 㧗disp˜4

㧔TBR 㧗disp˜4㧕 4

disp㧔࠯ࡠ᜛ᒛ㧕

˜

(TBR+disp×4)アドレス の内容

ディスプレースメント 付きPC相対

@(disp:8,PC) 実効アドレスはレジスタPC8ビッ トディスプレースメントdispを加算 した内容です。dispはゼロ拡張後、オ ペランドサイズによってワードで2 倍、ロングワードで4倍します。

さらにロングワードのときはPCの下 2ビットをマスクします。

PC

PC㧗disp˜2

߹ߚߪ PC㧒 H'FFFFFFFC

㧗disp˜4 H'FFFFFFFC

˜

2/4 disp㧔࠯ࡠ᜛ᒛ㧕

*

*ࡠࡦࠣࡢ࡯࠼ߩߣ߈

ワード:PC+disp×2 ロングワード:

PC&H'FFFFFFFC+disp×4

4.

命令の特長

Rev.4.00 2011.02.22 4-7 R01US0031JJ0400 SH-2A、SH2A-FPU

アドレッシングモード 命令フォーマット 実効アドレスの計算方法 計算式 disp:8 実効アドレスはレジスタPC8ビッ

トディスプレースメントdispを符号 拡張後2倍し、加算した内容です。

PC

˜ 2

disp㧔╓ภ᜛ᒛ㧕 PC㧗disp˜2

PC+disp×2

disp:12 実効アドレスはレジスタPCに12ビッ トディスプレースメントdispを符号 拡張後2倍し、加算した内容です。

PC

˜ 2

disp㧔╓ภ᜛ᒛ㧕 PC㧗disp˜2

PC+disp×2 PC相対

Rn 実効アドレスはレジスタPCRn 加算した内容です。

PC

PC㧗Rn Rn

PC+Rn

MOVI20命令の20ビットイミディエ イトimmは符号拡張します。

31

ᾢनᇱག

imm208(-19 0

#imm:20

MOVI20S命令の20ビットイミディエ イトimm8ビット左にシフトし、上 位側は符号拡張、下位側はゼロ詰めを 行います。

31

ᾢनᇱག

imm208(- 00000000

27 8 0

#imm:8 TST、AND、OR、XOR命令の8ビッ トイミディエイトimmはゼロ拡張し ます。

#imm:8 MOV、ADD、CMP/EQ命令の8ビッ トイミディエイトimmは符号拡張し ます。

#imm:8 TRAPA命令の8ビットイミディエイ immはゼロ拡張後、4倍します。

イミディエイト

#imm:3 BAND、BOR、BXOR、BST、BLD、

BSET、BCLR命令の3ビットイミデ ィエイトimmはビット位置を表しま す。

4.

命令の特長

Rev.4.00 2011.02.22 4-8 R01US0031JJ0400

SH-2A、SH2A-FPU

関連したドキュメント