質問: 三菱シーケンサのMOV命令について教えてください。機種はFX2Nです。
回答: 「K5」はビット(2進数)で考えると、「0000 0000 0000 0101」(*1) これを右(下位)基準で、K3M690 にかぶせます。 K3M690 は K3は3桁(12ビット)指定なので、 M701,M700,M699,・・・・,M694,M693,M692,M691M690 となり、 上記の「0101」は、M693,M692,M691,M690 にかぶるので、M692 と M690 の2個が「1」つまり「on」になります。 M701~M694 は「0」つまり「off」がかぶるので、全部offとなります。 >「このように定数を入力する」 定数というよりも、2進数のビット列を数値で表したものと考えてください。 「MOV bin:0000 0000 0000 0101 K3M690」と書きたいところなのですが、2進数(バイナリ)表現の記述ができないので「K5」と書いているのです。 ちなみに MOV K10 K3M690 では、M690 と M693 のみが on となり、 MOV H10 K3M690 では、M694 のみが on となります。 Kは10進数表現で、実体は、「0000 0000 0000 1010」であり Hは16進数表現で、実体は、「0000 0000 0001 0000」となります。 (*1) ビット表現なので 0(off) と 1(on) しかありません。見やすくするために、4個毎にスペースを入れています。 MOV は16ビット命令なので 16個並びますが、DMOV だと32個並びます。 「K4M690」と Dレジスタ は同じような扱いになります。 MOV K5 K4M690 MOV K3 K4M710 ADD K4M690 K4M710 D2 だと、D2 には、5+3=8 で、「8」がはいります。 MOV K5 D0 MOV K3 D1 ADD D0 D1 D2 と、同じ結果になります。