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をオン