リテラルプール
読み:リテラルプール
外語:literal pool

 直定数(リテラル)が集められる場所。
目次

概要
 ほとんどのRISCは命令語長が固定長で、大きな値をイミディエイト(即値)にできない。
 オペコードの表現に必要なビット数を考えれば、たとえば16ビットの即値代入命令を16ビット固定長命令として表現できないことは明らかである。
 そこでこのような大きな直定数(リテラル)は、そのサブルーチンの直前か直後にまとめて配置する。これがリテラルプールで、即値代入命令はPC相対でその値をロードすることになる。

特徴
 例えばARMの場合、手作業で書くときは次のようになる。
 LDR r0, [pc, #オフセット]
 ARMのアセンブラーは、次のように書くことでlabelを自動的にリテラルプールに置き、命令をPC相対ロードに置き換える。
 LDR r0, =label
 レジスターはr0以外でもよい。

再検索