4.ふかちんXアセンブラ、ふかちんXマシン仕様シヨウ
ふかちんXマシンは、一語イチゴ、32bitもしくは64bitです。
1)命令メイレイ形式ケイシキ
命令メイレイのフィールド
OP1 OP2 r/r1 x/r2 adrフィールド      
8bit 8bit 8bit 8bit 32bit        
2)命令メイレイ一覧イチラン
OP1 OP2 r/r1/sp x/r2/b/sp adr 命令メイレイチョウ アセンブラ  
00 00 - - - 32 nop  
  01 - - - 32 halt  
01 00       64 ld r,adr,x 32bitロード
  01   64 ldb r,adr,x 8bitロード
  02   64 ldw r,adr,x 16bitロード
  03   64 ldt r,adr,x 24bitロード
  04   64 st r,adr,x 32bitストア
  05   64 stb r,adr,x 8bitストア
  06   64 stw r,adr,x 16bitストア
  07   64 stt r,adr,x 24bitストア
  08   64 lad r,adr,x
  09   - 32 ld r1,r2
  0A -   - 32 ldsp sp,r2 spにr2の内容ナイヨウをセット
  0B - - 32 ldsp r1,sp r1にspの内容ナイヨウをセット
  0C -   - 32 ldsp spl,r2 splにr2の内容ナイヨウをセット
  0D - - 32 ldsp r1,spl r1にsplの内容ナイヨウをセット
  0E -   - 32 ldsv svt,r2 svcヨウりこみテーブルの先頭セントウアドレスを、r2によって設定セッテイする。
  0F - - 32 ldsv r1,svt svcヨウりこみテーブルの先頭セントウアドレスを、r1に取得シュトクする。
02 00       64 adda r,adr,x
  01   64 suba r,adr,x
  02   64 mula r,adr,x
  03   64 diva r,adr,x アマりはgr0に格納カクノウされる。
  04   64 addl r,adr,x
  05   64 subl r,adr,x
  06   64 mull r,adr,x
  07   64 divl r,adr,x アマりはgr0に格納カクノウされる。
  08   - 32 adda r1,r2
  09   - 32 suba r1,r2
  0A   - 32 mula r1,r2
  0B   - 32 diva r1,r2 アマりはgr0に格納カクノウされる。
  0C   - 32 addl r1,r2
  0D   - 32 subl r1,r2
  0E   - 32 mull r1,r2
  0F     - 32 divl r1,r2 アマりはgr0に格納カクノウされる。
03 00       64 and r,adr,x
  01   64 or r,adr,x
  02   64 xor r,adr,x
  03 - - 32 not r
  04   - 32 and r1,r2
  05   - 32 or r1,r2
  06     - 32 xor r1,r2
04 00   64 cpa r,adr,x
  01   64 cpl r,adr,x
  02   - 32 cpa r1,r2
  03   - 32 cpl r1,r2
05 00       64 sla r,adr,x
  01   64 sra r,adr,x
  02   64 sll r,adr,x
  03       64 srl r,adr,x
06 00 -   64 jmi adr,x
  01 -   64 jnz adr,x
  02 -   64 jze adr,x
  03 -   64 jump adr,x
  04 -   64 jpl adr,x
  05 -   64 jov adr,x
07 00   - - 64 push r CASLのPUSHとはコトなる動作ドウサをする。
  01   - - 32 pop r
08 00 -   64 call adr,x
  01 - - - 32 ret  
09 00       64 in r,adr,x CASLのINとはコトなる動作ドウサをする。
  01       64 out r,adr,x CASLのOUTとはコトなる動作ドウサをする。
0A 00     - 32 bitt r,b bの個所カショのビットをテストする。結果ケッカはzfに格納カクノウされる。
  01   - 32 bits r,b bの個所カショのビットをセット。(1にする)
  02     - 32 bitr r,b bの個所カショのビットをリセット(0にする。)
0B 00   - - 32 inc r rのレジスタをインクリメントする。
  01   - - 32 dec r rのレジスタをデクリメントする。
0C 00     - 32 blld r1,r2 r2からr1へ、gr0ブンメモリをブロック転送テンソウする。
0D 00 -     32 ei adr,x
  01 -     32 di adr,x
0F 00 -     64 svc adr,x
3)補足ホソク
基本キホンテキにCASLとています。
コトなるテンとしましては、命令メイレイチョウ拡張カクチョウされたのと、あとイクつかの命令メイレイ追加ツイカされています。
トクにinとoutは、CASLのINとOUTとはマッタコトなり、I/Oポートジョウへレジスタの内容ナイヨウ入出力ニュウシュツリョクする動作ドウサをします。
4)アセンブラ擬似ギジ命令メイレイ
ラベル 命令メイレイコード オペランド  
ラベル start [実行ジッコウ開始カイシ位置イチ]
  end  
[ラベル] ds 語数ゴスウ  
[ラベル] dc 定数テイスウ[,定数テイスウ]・・・
ラベル equ 数値スウチ