スタジオ ミュウ

構造化ドリトル制御命令一覧

LED計測制御 | LEDグループ学習 | メロディのプログラム | RCサーボの制御 | モーターのPWM制御
MYUロボ-II | MYU-USB転送ソフト | MYU USB BASIC | USBドリトル | C アセンブラMYUUSB-1基板 | MYUUSB命令一覧
転送ソフト(232C) | MYU BASIC(232C) | 構造化ドリトル | エクセルで制御 | エクセルで計測 | MYUアセンブラ | MYUROBO-1A基板 | MYUロボ(232C)命令一覧 | ドリトル命令一覧

●構造化ドリトル制御命令一覧
命令 説明
n 入力あり「!...」実行 入力nがONならば「!...」を実行します 2 入力あり「!前進」実行
「!n 入力あり」なら「!...」実行
n 入力なし「!...」実行 入力nがOFFならば「!...」を実行します 2 入力なし「!後退」実行
「!n 入力なし」なら「!...」実行
n 入力あり「!...」そうでなければ「!---」実行 入力nがONならば「!...」を実行し,
そうでないときは「!---」を実行します
2 入力あり「!前進」そうでなければ「!後退」実行
「!n 入力あり」なら「!...」そうでなければ「!---」実行
n 入力なし「!...」そうでなければ「!---」実行 入力nがOFFならば「!...」を実行し,
そうでないときは「!---」を実行します
2 入力なし「!後退」そうでなければ「!前進」実行
「!n 入力なし」なら「!...」そうでなければ「!---」実行
ElseIf文
「!<条件1>」なら「!.」
そうでなければ「!<条件2>」なら「!..」
そうでなければ「!<条件3>」なら「!...」
そうでなければ「!---」実行
<条件1>が真なら「!.」を実行
<条件2>が真なら「!..」を実行
<条件3>が真なら「!...」を実行
全条件が成り立たないときは「!---」実行
 「!100 超えるA」なら「!右回り」
そうでなければ「!80 超えるA」なら「!左前」
そうでなければ「!70 超えるA」なら「!前進」
そうでなければ「!右前」実行
OR条件
「!<条件1>」か「!<条件2>」なら「!...」実行
<条件1><条件2>のどちらかが真なら「!...」実行
「!2 入力あり」か「!3 入力あり」なら「!停止」実行
AND条件
「!<条件1>」で「!<条件2>」なら「!...」実行
<条件1><条件2>の両方が真なら「!...」実行
「!2 入力あり」で「!3 入力あり」なら「!停止」実行
「!n 入力あり」の間「!...」実行 入力nがONである間「!...」を繰り返し実行します 「!1 入力あり」の間「!5 ブザー 2 時間」実行
「!n 入力なし」の間「!...」実行 入力nがOFFである間「!...」を繰り返し実行します 「!1 入力なし」の間「!5 ブザー 2 時間」実行
実行脱出 「の間」〜「実行」ブロックの中で使用し,
ブロックの実行を中止して次に進みます
「!3 入力あり」なら「!実行脱出」実行
再実行 「の間」〜「実行」ブロックの中で使用し,
現在の実行を終了し再度条件を検査します
「!3 入力あり」なら「!再実行」実行
「!...」n 繰り返す 「!...」をn回繰り返します。nが省略された
場合は無限に繰り返します。
「!5 ブザー 2 時間」 3 繰り返す
繰り返し脱出 「繰り返す」ブロックの中で使用し,
繰り返しを中止して次に進みます
「!2 入力あり」なら「!繰り返し脱出」実行
次繰り返し 「繰り返す」ブロックの中で使用し,
繰り返しの現在の回を終了し次の回に進みます
「!2 入力あり」なら「!次繰り返し」実行
●MYUロボレジスタ命令
構造化ドリトルではAレジスタを使って演算ができます。※Aレジスタは、8bit幅です。(0〜255の整数値が格納されます)
MYUアセンブラで定義されたAレジスタ関係の命令
命令 説明 Zフラグ Cフラグ
n A Aレジスタに指定した値を格納します 10 A    
n ADD Aレジスタの値と指定した値を加え、Aレジスタに格納します 10 ADD
n SUB Aレジスタの値から指定した値を引き、Aレジスタの値とします 10 SUB
n CMP Aレジスタとnを比較します Aレジスタは変化しません 10 CMP
CLA Aレジスタの値を0にします CLA  
INCA Aレジスタの値を1増やします INCA  
DECA Aレジスタの値を1減らします DECA  
※○はレジスタ命令実行後、ZフラグとCフラグが変化します。
※命令実行後、結果が 0 の場合は、Zフラグが、オーバーフローした場合は、Cフラグがセットされます。
構造化レジスタ命令
命令 説明
ZERO Zフラグがセットされているかどうか調べます 「!DECA ZERO」なら「!前進」実行
「!DECA ZERO」の間「!前進」実行
NZERO Zフラグがセットされていないかどうか調べます 「!DECA NZERO」なら「!前進」実行
「!DECA NZERO」の間「!前進」実行
CFLAG Cフラグがセットされているかどうか調べます 「!10 SUB CFLAG」なら「!CLA」実行
「!10 SUB CFLAG」の間「!CLA」実行
NCFLAG Cフラグがセットされていないかどうか調べます 「!10 CMP NCFLAG」なら「!10 SUB」実行
「!10 CMP NCFLAG」の間「!10 SUB」実行
n 等しいA 指定した値とAレジスタの値が等しいかどうか調べます 「!5 等しいA」なら「!前進」実行
「!5 等しいA」の間「!前進」実行
n 異なるA 指定した値とAレジスタの値が異なるかどうか調べます 「!5 異なるA」なら「!前進」実行
「!5 異なるA」の間「!前進」実行
n 以上のA 指定した値がAレジスタの値と等しいもしくは大きいかどうか調べます 「!5 以上のA」なら「!前進」実行
「!5 以上のA」の間「!前進」実行
n 以下のA 指定した値がAレジスタの値と等しいもしくは小さいかどうかを調べます 「!5 以下のA」なら「!前進」実行
「!5 以下のA」の間「!前進」実行
n 超えるA 指定した値がAレジスタの値より大きいかどうか調べます 「!5 超えるA」なら「!前進」実行
「!5 超えるA」の間「!前進」実行
n 未満のA 指定した値がAレジスタの値より小さいかどうかを調べます 「!5 未満のA」なら「!前進」実行
「!5 未満のA」の間「!前進」実行
「!...」A繰り返す Aレジスタの値の回数だけ繰り返します 「5 ブザー 2 時間」A繰り返す
●MYUロボコンソール命令
 MYUロボとの通信状態を表示するコンソール(GUI部品)について,各種設定を行います。
 コンソールの初期大きさは200×200(転送ボタン含まず),表示位置は-200,200(左上隅)です。
命令 説明
消える ロボットに送られる命令を表示するGUI部品を非表示にします ロボ!消える。
現れる ロボットに送られる命令を表示するGUI部品を表示します ロボ!現れる。
位置 ロボットに送られる命令を表示するGUI部品の位置を設定します ロボ!100 0 位置。
大きさ ロボットに送られる命令を表示するGUI部品の大きさを設定します ロボ!200 400 大きさ。
ロボ命令 MYUプログラムを原始的なMYUロボ命令(非構造化命令)で表示します。コンパイルの検証に用います ロボ!ロボ命令。
●管理命令
 MYUロボと通信を行ったり,各種設定を行うための命令です。
命令 説明
作る MYUロボが接続されているコンピュータのポートを指定して,新しいMYUロボオブジェクトを作ります ロボ=MYU!作る。
ロボ=MYU!『COM1』作る。
ひらけごま ロボットと通信を開始します。リモコンモードで必要です 接続するポートを指定することができます(「作る」で指定してあれば省略可*) ロボ!『COM1』ひらけごま。
ロボ!ひらけごま。
とじろごま ロボットとの通信を終了します ロボ!とじろごま。
はじめロボット はじめロボット ロボ!はじめロボット。
おわりロボット ロボットプログラムの終わりを表します ロボ!おわりロボット。
パワーオンスタート ロボットプログラムをスイッチオンと共に開始させます 「はじめロボット」の後に設定します ロボ!はじめロボット パワーオンスタート。
ブロック化 ユーザー定義命令を効率化のために「MYUブロック」にします ロボ!『ボール取得』ブロック化。