p20200221a
http://k.osask.jp/wiki/?p20200221a
[
リロード
] [
新規
|
編集
|
凍結
|
差分
|
添付
] [
トップ
|
一覧
|
単語検索
|
最終更新
|
バックアップ
|
ヘルプ
]
[
TOP/ルール
]
[
目次
]
[
最新の80件
]
[
人気の80件
]
最新の20件
2022-01-06
p20220106a
2021-12-23
p20211223a
2021-12-14
BarbaraDye@protonmail.com
2021-12-10
p20191125a
2021-11-10
p20211028a
2021-10-18
p20211017a
2021-10-15
p20211014a
2021-06-01
blogs2
blogs
2021-05-20
impressions
20212021
sam
klog/gfghh
2020-08-27
p20200821a
2020-08-16
p20200808a
2020-05-13
p20200513a
2020-04-23
p20200423a
2020-03-16
p20200315a
2020-03-11
p20200309a
2020-02-22
p20200221a
Counter: 706, today: 1, yesterday: 0
全自動プログラム生成の夢#1
(by
K
, 2020.02.21)
↑
(1) 命令セット案
探索しやすくするためには、[命令コード、パラメータ、パラメータ・・・]みたいな形式に統一していたほうがいい。
めんどくさいからOSECPU-VMの仕様をベースにでもするかな。
ここをみた:
http://osecpu.osask.jp/wiki/?page0072
01
LABEL
imm,dmy
10
OR
r0,r1/imm
11
XOR
r0,r1/imm
12
AND
r0,r1/imm
14
ADD
r0,r1/imm
15
SUB
r0,r1/imm
16
MUL
r0,r1/imm
17
LET
r0,r1/imm
20
CMPJE
r0,r1/imm,rel
21
CMPJNE
r0,r1/imm,rel
22
CMPJL
r0,r1/imm,rel
23
CMPJGE
r0,r1/imm,rel
24
CMPJLE
r0,r1/imm,rel
25
CMPJG
r0,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。・・・これだったらすぐに見つけられそう。
Last-modified: 2020-02-22 (土) 14:30:54 (855d)