第二部 トロン仕様チップ命令詳細第ニ章 転送命令
MOV
転送命令 <<L1R>>, <<L1>, <<L2>>

【ニモニックとオペランド】

MOV src, dest

【機能】

Move
転送

【オプション】

なし

【命令フォーマットと表記法】

【解説】

 この命令はソースオペランドsrcの内容をデスティネーションオペランドdestへ転送します。srcのサイズがdestのサイズよりも小さいときには、転送前にsrcの値を符号拡張します。destのサイズがsrcのサイズよりも小さく、srcの値をdestのサイズ内で符号付き整数として表せないときには、V_flagをセットします。

【フラグ変化】

【発生EIT】

RIE src [Sho/r], src [Gen/r], dest [Sho/w], dest [Gen/w]のアドレッシングモード違反
RIE sx = 11, sy = 11

【注意事項】


フォーマット

即値データの範囲

MOV :Z
:Q
:E
:I
:G
       1
     -128
-2,147,483,648
-2,147,483,648 
≦
≦
≦
≦
src
src 
src 
src 
src 
=
≦
≦
≦
≦
0
8
127
2,147,483,647
2,147,483,647

【使用例】



 16ビット長の数値H'a76eを32ビットに符号拡張して(H'ffffa76e)、汎用レジスタR3の内容(H'000001b2)に加算します。加算結果(H'ffffa920)を実効アドレスとしてメモリから1バイトを読み出します。メモリから読み出したバイト長の数値(H'df)を32ビットに符号拡張して、R7へ転送します。命令の前後での値の変化は以下の通りです。



 R1の値(32ビットデータ)をR3の内容で示されたロケーションのハーフワードへ転送します。srcの値がdestのサイズの範囲内で整数として表現できないので、V_flagをセットします。