【インデックスレジスタとBMOVでの読出、保存】
品種ごとの数値パラメータが下記とする。
| 品種No. | 各品種の パラメータ |
| 品種0 | D0~D4 |
| 品種1 | D5~D9 |
| 品種2 | D10~D14 |
| 品種3 | D15~D19 |
| 品種4 | D20~D24 |
【読出と保存の処理】
読出の処理
下記の2行となる。
![-| X0|--+--[ * D50 K5 Z0 ]
+--[ BMOV D0Z0 D100 K5 ]](https://ninnnaji-fa.com/wp-content/uploads/2026/08/image-21.png)
1行目の説明
![-| X0|--+--[ * D50 K5 Z0 ]](https://ninnnaji-fa.com/wp-content/uploads/2026/08/image-22.png)
D50に、読み出したい品種番号0~4を格納する。
1品種あたり5ワードを使用するため、D50を5倍した値をZ0へ格納する。例えば、「D50=2ならZ0=10」になる。
| D50 | 0 | 1 | 2 | 3 | 4 |
| Z0 | 0 | 5 | 10 | 15 | 20 |
2行目の説明
![--[ BMOV D0Z0 D100 K5 ]](https://ninnnaji-fa.com/wp-content/uploads/2026/08/image-23.png)
Z0=10のとき、「D0Z0の参照先はD0+10=D10」となる。そのため、BMOV命令が、「D10~D14をD100~D104へ一括転送」となる。
| Z0 | 0 | 5 | 10 | 15 | 20 |
| D0Z0の 参照先 | D0 | D5 | D10 | D15 | D20 |
| BMOV 転送元 | D0 ~D4 | D5 ~D9 | D10 ~D14 | D15 ~D19 | D20 ~D24 |
| BMOV 転送先 | D100~D104 | ||||
保存処理
BMOVの転送元と転送先を読出の処理とは逆にする。要は、2行目の「D0Z0」と「D100」の並びを入れ替える。
![-| X1|--+--[ * D50 K5 Z0 ]
+--[ BMOV D100 D0Z0 K5 ]](https://ninnnaji-fa.com/wp-content/uploads/2026/07/image-10.png)
【実務上の注意】
・パラメータを追加する可能性がある場合、続き番号を空きデバイスとして確保しておく。
【インデックスレジスタとBMOV】
・説明に使用したインデックスレジスタとBMOVの使い方はこちら↓