p20200221a
http://k.osask.jp/wiki/?p20200221a
[
リロード
] [
新規
|
編集
|
凍結
|
差分
|
添付
] [
トップ
|
一覧
|
単語検索
|
最終更新
|
バックアップ
|
ヘルプ
]
[
TOP/ルール
]
[
目次
]
[
最新の80件
]
[
人気の80件
]
最新の20件
2020-12-28
impressions
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
2020-02-09
boyaki_a/00053
2020-01-14
p20200109a
2019-12-26
p20191226a
2019-11-26
p20191126a
2019-11-25
p20191125a
2019-11-22
p20191122a
p20190218a
2019-10-30
p20191030a
2019-10-29
p20191025a
2019-10-06
p20191006a
2019-09-17
p20190917a
2019-05-28
p20190528a
Counter: 363, today: 2, yesterday: 1
全自動プログラム生成の夢#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 (339d)