何とか庵日誌

本名荒井が毒にも薬にもならないことを書きつづるところ

乱数で苦戦中

f:id:fukenko:20140914000918p:plain


MSXでRND関数に頼らず乱数を作れないかと思いまして、いろいろ調べてます。
いろいろアルゴリズムはあるようなのですが、かんたんに手っ取り早く実装できる方法として、MSXユーザーにはよく知られた、リフレッシュレジスタを利用する方法を試してみました。てか趣味のプログラムで使う分には、線形合同法とかメルセンヌツイスターなんて大げさなものは必要ありませんから!(泣)
さておき、0から7の範囲の乱数を求めるプログラムを組んで、分布が実用範囲にあるか調べてみました、荒井の用途には十分なばらつきですが、けっこう偏りがあるかんじです。まぁ、やっつけアルゴリズムですから致し方ない部分ではありますが。
いちおうマシン語部分のソースを晒しときます。


ORG 9000H

LD A,R
LD (0A000H),A
RET