全自動プログラム生成の夢#1

  • (by K, 2020.02.21)

(1) 命令セット案

  • 探索しやすくするためには、[命令コード、パラメータ、パラメータ・・・]みたいな形式に統一していたほうがいい。
  • めんどくさいからOSECPU-VMの仕様をベースにでもするかな。
    • ここをみた: http://osecpu.osask.jp/wiki/?page0072
      01LABELimm,dmy
      10ORr0,r1/imm
      11XORr0,r1/imm
      12ANDr0,r1/imm
      14ADDr0,r1/imm
      15SUBr0,r1/imm
      16MULr0,r1/imm
      17LETr0,r1/imm
      20CMPJEr0,r1/imm,rel
      21CMPJNEr0,r1/imm,rel
      22CMPJLr0,r1/imm,rel
      23CMPJGEr0,r1/imm,rel
      24CMPJLEr0,r1/imm,rel
      25CMPJGr0,r1/imm,rel
    • r1/immは、80-BFがレジスタ番号(64本)、それ以外は符号付き整数
  • ほほう、これだけあれば演算はできるわけかー。配列がないけど。
    • まあLMEMとSMEM系の命令を作れば配列もサポートできなくはないけど、最初はなしで考えよう。
    • あとはPRINT(05)があればよさそうだな。
  • サンプル: 1から10までを出力するプログラム
    LET A=1
    PRINT A
    ADD A,1
    CMPJLE A,10,-1(ひとつ前の命令が0)
  • 命令が14通り、変数は1つ、合計4命令、定数は1か10。ブランチは+-2。・・・これだったらすぐに見つけられそう。

リロード   新規 編集 差分 添付   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: 2020-02-22 (土) 14:30:54 (218d)