MemOut
8個のメモリーI/Oビットを同時に設定します。
書式
MemOut ポート番号, 出力データ
パラメーター
- ポート番号
- メモリーI/Oのバイトポート番号を指定します。ポート番号は、下記のようにビットに対応します。
ポート番号 出力データ 0 0-7 1 8-15 ... ... - 出力データ
- ポート番号で指定した出力グループの出力パターンを、0~255の整数値で指定します。16進数で表示された場合は、&H0~&HFFが範囲になります。下位桁は、下位ビット (または最初の4出力ビット)を、上位桁は、上位ビット (または次の4出力ビット)を表わします。
解説
MemOutは、設定する出力ビットを指示するポート番号と出力データの組み合わせで、8個のメモリーI/Oビットを同時に設定します。ポート番号パラメーターで、どのグループ (どの8個の出力ビット)を使うか指定します。例えば、ポート番号 = 0 のとき、出力ビット0~7を指定します。ポート番号 = 1のとき、出力ビット8~15を指定します。
まずポート番号で8個の出力ビットを指定したのち、出力データパラメーターで特定の出力パターンを定義します。出力データパラメーターがとり得る値は0~255で、16進数あるいは10進数の整数で指定します。 (&H0~&HFFまたは0~255)
下記表は、I/Oの組み合わせ例の一部を、ポート番号が"0"および"1"のときに分けて、それに対応する出力データ値とともに示したものです。
ポート番号=0の時の出力設定 (出力ビット番号)
| 出力データ値 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| 01 | Off | Off | Off | Off | Off | Off | Off | On |
| 02 | Off | Off | Off | Off | Off | Off | On | Off |
| 03 | Off | Off | Off | Off | Off | Off | On | On |
| 08 | Off | Off | Off | Off | On | Off | Off | Off |
| 09 | Off | Off | Off | Off | On | Off | Off | On |
| 10 | Off | Off | Off | Off | On | Off | On | Off |
| 11 | Off | Off | Off | Off | On | Off | On | On |
| 99 | Off | On | On | Off | Off | Off | On | On |
| 255 | On | On | On | On | On | On | On | On |
ポート番号=1の時の出力設定 (出力ビット番号)
| 出力データ値 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
|---|---|---|---|---|---|---|---|---|
| 01 | Off | Off | Off | Off | Off | Off | Off | On |
| 02 | Off | Off | Off | Off | Off | Off | On | Off |
| 03 | Off | Off | Off | Off | Off | Off | On | On |
| 08 | Off | Off | Off | Off | On | Off | Off | Off |
| 09 | Off | Off | Off | Off | On | Off | Off | On |
| 10 | Off | Off | Off | Off | On | Off | On | Off |
| 11 | Off | Off | Off | Off | On | Off | On | On |
| 99 | Off | On | On | Off | Off | Off | On | On |
| 255 | On | On | On | On | On | On | On | On |
参照
In関数, MemIn関数, InBCD関数, Off, MemOff, On, MemOn, OpBCD, Oport関数, Out, Sw関数, MemSw関数, Wait
MemOut使用例
下記は、メインタスクが"iotask"という名前のタスクを起動するプログラムです。"iotask"は、S/W メモリーI/Oビットの0~3をオンオフする簡単なタスクです。MemOut命令を使うと、S/WメモリーI/Oビットを個々にオンオフせず、1つのコマンドでそれを行うことができます。
Function main
Xqt 2, iotask
Go P1
.
.
Fend
Function iotask
Do
MemOut 0, &H
Wait 1
MemOut 0, &H0
Wait 1
Loop
Fend
下記は、コマンドウィンドウからの簡単な操作例です。
> MemOut 1,6 'メモリーI/Oビット9と10をオン
> MemOut 2,1 'メモリーI/Oビット8をオン
> MemOut 3,91 'メモリーI/Oビット24, 25, 27, 28, 30をオン