IAIのSEL言語を使って入出力やフラグを読み出す命令です。
XSELやMSELで使用することができます。
- IN:入出力とフラグを2進数で読み出し
- INB:入出力とフラグをBCDで読み出し
- OUT:入出力とフラグを2進数で読み出し
- OUTB:入出力とフラグをBCDで読み出し
IN・INB・OUT・OUTB命令の記述方法
読み出したい入出力ポートNo・フラグNoを操作1,操作2に入力します。IN・INB命令を実行することで操作1から操作2までの全てのポート・フラグの情報が自動的に「変数99」に代入されます。一方、OUT・OUTB命令は「変数99」の値にしたがって出力ポートやフラグの状態を変化させます。
(読み出しできるポート・フラグの最大値は8桁までとなります。((操作2-操作1)<9))
拡張条件 E | 入力条件 N,Cnd | 命令 Cmnd | 操作1 Operand1 | 操作2 Operand2 | 出力部 Pst |
IN | 入出力No・フラグ を2進数で記入 | 入出力No・フラグ を2進数で記入 | CC | ||
INB | 入出力No・フラグ をBCDで記入 | 入出力No・フラグ をBCDで記入 | CC | ||
OUT | 入出力No・フラグ を2進数で記入 | 入出力No・フラグ を2進数で記入 | CC | ||
OUTB | 入出力No・フラグ をBCDで記入 | 入出力No・フラグ をBCDで記入 | CC |
IN・INB命令のサンプルプログラム
入力ポート14~21の状態と2進数、BCDの関係を表にしました。
入力ポートNo | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | ||
ポートの状態 | OFF | OFF | ON | OFF | OFF | ON | OFF | ON | ||
2進数 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | → 10進数は37 | |
BCD | 2 | 5 | → BCDは25 |
上記ポートの状態を変数99に代入するプログラムが以下となります。
E | N,Cnd | Cmnd | Operand1 | Operand2 | Pst | Comment |
IN | 14 | 21 | 入力ポート14から21までの状態を 2進数の37として変数99に代入 | |||
INB | 14 | 21 | 入力ポート14から21までの状態を BCDの25として変数99に代入 |
※OUT・OUTB命令も使い方は同じです。