Newer
Older
emul / emul_inst_pseudo.h
#ifndef EMUL_INST_PSEUDO__
#define EMUL_INST_PSEUDO__

typedef enum {
    PSEUDO_DECODE_ERROR,

    /* :DUMP <OPTION>
     * OPTION:
     *   NONE: デバックなし(通常モード)へ切り替え
     *   DEBUG<NUM>: デバックあり
     *     NUM: デバックレベル[0-2] (0はデバックなし)
     * OUTPUT:
     *   LAST_CMD [OPTION] */
    DUMP,

    /* :MEMCAT <ADDRESS>
     * OUTPUT:
     *   ADDRESS = <0xVALUE(8bit)> */
    MEMCAT,   // メモリの値を取得

    /* :MEMCATW <ADDRESS>
     * OUTPUT:
     *   ADDRESS = <0xVALUE(32bit)> */
    MEMCATW,   // メモリの値を取得

    /* :REGCAT <REGISTER>
     * OUTPUT:
     *   ADDRESS = <0xVALUE(32bit)> */
    REGCAT,    // レジスタの値を取得

    /* :LABEL <LABELNAME>
     * INPUT:
     *   LABELNAME = <ラベル名> */
    LABEL,

    /* :RUN
     * SUMMARY:
     *   現在の状態から逐次実行に切り替える */
    RUN,

    /* :STEP
     * SUMMARY:
     *   現在の状態からステップ実行に切り替える */
    STEP,

    /* :INPUT <REGISTER>
     * SUMMARY:
     *   キーボート入力を待機し,結果をレジスタへ格納する */
    INPUT,

    /* :OUTPUT <REGISTER>
     *   レジスタの値をASCII文字として画面に出力する,改行はない*/
    OUTPUT,

    /* :CRLF
     *   画面へ改行コードを送信する,改行コードについて決まりはない */
    CRLF,

    /* :EXEC <FILE>
     *   現在のプログラムへFILEから読み込んだプログラムを追記する */
    EXEC,

    /* プログラムを正常終了する */
    EXIT

} EMUL_PSEUDO;

#endif