MVC命令

By 神居 - Posted: 2012/03/09 Last updated: 2012/04/22 - Leave a Comment

MVC命令

機能と構文

MVC(Move)は、メモリー内でのデータの移動を行う命令です。A番地にあるバイト・データをB番地に移します(写します)。命令の名前はMoveですが、転送元のメモリー内容はそのままなので、実際の動作は移動ではなく複写(Copy)です。
MVCは、CPU命令の中でも非常によく使われる命令の1つです。機能は単純ですが、利用範囲は広いので、最初に覚えてしまいたい命令の1つでもあります。

命令の機能としては、第2オペランドd2(b2)で示される送り側領域のデータが、第1オペランドd1(l,b1)で示される受け側領域に転送されます。転送後も送り側領域のデータはそのまま残ります。転送される長さは最大256バイトで第1オペランドで指定します。形としては受け側領域の長さを指定することになります。


命令とページフォールト

考えたら当然のことなのですが、MVCのように仮想アドレスを扱う命令は、途中で割り込み可能な命令です。第一オペランドでも第二オペランドでも参照したアドレスがページアウトされていた場合、ページフォールトが起こりページングメカニズムが働きます。
次にディスパッチされるタイミングはOSの動き次第です。
従って、MVC命令の実行中に他のタスク、SRBが動くことはあります。
通常心配することはありませんが、タイミングを気にするプログラムを作る場合、命令によっては途中で割り込みがかかることはあるということは考慮しておいてください。

Posted in MVS実践アセンブラー・プログラミング, キーワードから(何が知りたいですか) • • Top Of Page