IN・INB・OUT・OUTB 命令の使い方

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命令の記述仕様
スポンサーリンク

IN・INB命令のサンプルプログラム

入力ポート14~21の状態と2進数、BCDの関係を表にしました。

入力ポートNo2120191817161514
ポートの状態OFFOFFONOFFOFFONOFFON
2進数00100101→ 10進数は37
BCD25→ BCDは25
入力ポートの状態

上記ポートの状態を変数99に代入するプログラムが以下となります。

EN,CndCmndOperand1Operand2PstComment
IN1421入力ポート14から21までの状態を
2進数の37として変数99に代入
INB1421入力ポート14から21までの状態を
BCDの25として変数99に代入
IN・INB命令のサンプルプログラム

※OUT・OUTB命令も使い方は同じです。