===使い方=== 旗を押し、1行ずつコードを入力します。 すべて入力し終わったら、「;run」または「; run」と送信します。 コードが実行されます。 ;runを送信する前に「;step」または「; step」を送信すると、1行実行する事に2秒停止します。アセンブリの動きを見たいときにおすすめです。 また、「;repl」または「; repl」を送信するとREPLモード(Read-Eval-Print-Loop Mode)に入ります。「;exit」または「; exit」で抜けることができます。 ===注意事項=== 入力のバリデーションはしていないので、「MOV RAX あ」もできますが、結果については保証しません。アップデートで修正するつもりです。←まだ修正していません。 Registerリストには、 RAX RBX RCX RDX RSI RDI RBP RSP R8 R9 R10 R11 R12 R13 R14 R15 の順でレジスタの状態が記載されています。 スタックを使用できるようになりました。 POP/PUSH命令を送信できますが、POPを実行する際スタックになにもない場合エラーになります。 また、RSPのスタックの長さは1-Based Indexです。
【クレジット】 超簡易構文解析器の一部に https://scratch.mit.edu/projects/645074174/ を使用させていただきました。 @EwdErna 様にここで感謝を示します。 【現在対応している命令】 ・MOV ・ADD ・SUB ・MUL ・DIV ・POP ・PUSH なお、MULとDIVはRAXのみを使用した64ビット演算です。