/*====================================================================== //======================================================================// // 原則255番地を過ぎてプログラム停止 // // reg1, reg2, regZ, regC, MEMx, x // // 結果 カウンタ メモリ番地 数字 // //======================================================================// 0000 0 NOP //何もしない 0001 1 HALT //停止 0010 2 SVCIN x //IO端子(x番)の値をAccに入れる 0011 3 SVCOUT x //Accの値をIO端子(x番)に出力 0100 4 JMP //Accの値の命令にジャンプ(=CounterにMEMxを代入) 0101 5 JZ MEMx //FLAG1が0のときにメモリ(MEMx番地)の値の命令にジャンプ 0110 6 WRITE MEMx //Accの値をメモリ(MEMx番地)に代入 0111 7 MOV REGx, MEMx //メモリ(MEMx番地)の値をレジスタ(REG1かREG2かAcc)に代入 1000 8 PRWRT x //xをAccに代入 1001 9 SLL x //左シフト REG1を1ビット左シフトして結果をAccに代入 1010 a SRL x //右シフト REG1を1ビット右シフトして結果をAccに代入 1011 b ADD //REG1とREG2を加算してAccに代入 1100 c SUB //REG1とREG2を減算してAccに代入 1101 d AND //REG1とREG2をAND演算してAccに代入 1110 e OR //REG1とREG2をOR演算してAccに代入 1111 f XOR //REG1とREG2をXOR演算してAccに代入 /*======================================================================*/