OISC

OISC（One-instruction set computer）とは、命令が1つのコンピューターのことである。 高度なメモリマッピングの場合、算術演算は複雑な処理をも可能とする。 そのため、一部の実装では、唯一の命令がSubleq(subtract and branch if less or equal to zero、減算と0以下なら分岐)となる場合がある。 また、いくつかのOISCを使用する言語は、チューリング完全である。 OISCは、URISC（Ultimate RISC、究極のRISC）を表記される場合もある。

利用 
OISCは、命令が1つのみのため、実用には向いていないといえる。 また、OISCは、いくつかの難解プログラミング言語で使用されている。

さらに、OISCを使用しプログラミングを行う際は、初期の設定やメモリマッピングが重視される。

Subleq 
Subleqは、通常3つのパラメータを持つ。 基本的なSubleqの構文は、Subleq(a,b,c)である。Subleqはbからaを減算し、 bに結果を格納し、結果が0以下場合にcのアドレスに制御を移す。  ADDRESS   a b c
ADDRESS 00: 7 7 7
ADDRESS 04: 5 1 0
ADDRESS 07: 4 3 4このコードの場合、以下の処理が行われる。

 7-7を計算し、結果の0をbに格納
 bが0以下なので、アドレス7に移動
 4-3を計算し、結果の1をbに格納
 先がないので終了

また、Subleqのソースコードを書く際に、ソースコードを見やすくするために構文を少し変える場合もある。

マシンアーキテクチャ 
以下はOISCアーキテクチャの例である。

 BitBitJump
 ByteByteJump 
 Blues Machine
 DJN

関連項目 
 難解プログラミング言語

外部リンク 
 Esolang wikiにおける、OISCの記事
 Esolang wikiにおける、Subleqの記事

難解プログラミング言語
計算モデル