CPUの種類にはRISCとかCISCがあります。OISC(One Instruction Set Computer)はRISCの一種で命令が1種類しかないCPUです。究極のRISCです。
「Rubyで作る奇妙なプログラミング言語 ~Esoteric Language~」を読んで思い出したので探してみました。
英語版のwikiにありました「One instruction set computer」。色々載っています。
私が知っていたのは引き算して負だったらジャンプするやつです。実際に作っている方がいます(Subtract and Branch if Negative)。それも74シリーズです。
Moveはちょっとずるいです。ALUから何から全部メモリマップになっているので、書き込むだけで何でもできちゃいます。命令数を減らすのにはいいテクニックです。身近なところだと、AVRにはスタックポインタがメモリマップドI/Oになっていて、専用の設定/読み出し命令はなかったりします。
Esolangs.orgというwikiは色々な言語を収集しています。OISCで検索するとMISC、Subleq、Subskinの3つが見つかります。
「Rubyで作る奇妙なプログラミング言語 ~Esoteric Language~」を読んで思い出したので探してみました。
英語版のwikiにありました「One instruction set computer」。色々載っています。
私が知っていたのは引き算して負だったらジャンプするやつです。実際に作っている方がいます(Subtract and Branch if Negative)。それも74シリーズです。
Moveはちょっとずるいです。ALUから何から全部メモリマップになっているので、書き込むだけで何でもできちゃいます。命令数を減らすのにはいいテクニックです。身近なところだと、AVRにはスタックポインタがメモリマップドI/Oになっていて、専用の設定/読み出し命令はなかったりします。
Esolangs.orgというwikiは色々な言語を収集しています。OISCで検索するとMISC、Subleq、Subskinの3つが見つかります。
※コメント投稿者のブログIDはブログ作成者のみに通知されます