3番地コード
この形式における各命令は、形式的に4ツ組で表現すると (オペコード, ソース1, ソース2, デスティネーション) である。より直感的にプログラミング言語における代入と2項演算子による数式っぽく書くと、
a ⊕ b → x {\displaystyle a\oplus b\rightarrow x}
あるいは、
x ← a ⊕ b {\displaystyle x\leftarrow a\oplus b}
といったようになる(ただし ⊕ {\displaystyle \oplus } は、なんらかの演算の2項演算子とする)。「左辺」「右辺」という用語の都合から、ここでは以後、後者の記法を使う。
ここで、a と b は、比較的に具体的な(目的コードに近い)場合は、即値か、レジスタや何らかのアドレスのメモリである。比較的に抽象的な(ソースコードに近い)場合は、定数か、ソースコード中の変数、あるいはソースコード中にはあらわれない、処理系が生成するテンポラリな中間変数である。また、x は、a や b とは違い、それを対象として代入できるもの(左辺値を持つもの)でなければならず、即値や定数にはならない。
ソースコード中に次のような、複数の演算で構成された式を含む代入文となっている、1個の文があったとする。
x := i + m * n;
これをそのまま1命令で表現することはできない。そのため、次のような2つの命令に分解される。