MYCPU80でCP/Mを!
超巨大基板の8080互換HCMOS・CPUでCP/Mを走らせてしまおうという、なんとも狂気なプロジェクトです!
[第72回]
●倍精度実数演算プログラムの組込み(5)
前回に続いて倍精度関数演算プログラムの組込み作業の結果報告です。
指数関数EXP()と自然対数LN()を組み込みました。
10 PRINT "EXP & LN TEST" 20 FOR A#=-5# TO 5# STEP 0.5# 30 E#=EXP(A#) 40 L#=LN(E#) 60 PRINT "A#=";A#,"EXP(A#)=";E#," LN(E#)=";L# 70 NEXT A# 80 PRINT "END" data end >r. EXP & LN TEST A#=-5 EXP(A#)=0.6737946999085466D-2 LN(E#)=-5 A#=-4.5 EXP(A#)=0.1110899653824231D-1 LN(E#)=-4.5 A#=-4 EXP(A#)=0.1831563888873418D-1 LN(E#)=-4 A#=-3.5 EXP(A#)=0.0301973834223185 LN(E#)=-3.5 A#=-3 EXP(A#)=0.4978706836786395D-1 LN(E#)=-3 A#=-2.5 EXP(A#)=0.8208499862389879D-1 LN(E#)=-2.5 A#=-2 EXP(A#)=0.1353352832366127 LN(E#)=-2 A#=-1.5 EXP(A#)=0.2231301601484298 LN(E#)=-1.5 A#=-1 EXP(A#)=0.3678794411714423 LN(E#)=-1 A#=-0.5 EXP(A#)=0.6065306597126334 LN(E#)=-0.5 A#=0 EXP(A#)=1 LN(E#)=0 A#=0.5 EXP(A#)=1.648721270700128 LN(E#)=0.4999999999999999 A#=1 EXP(A#)=2.718281828459045 LN(E#)=0.9999999999999999 A#=1.5 EXP(A#)=4.481689070338065 LN(E#)=1.5 A#=2 EXP(A#)=7.38905609893065 LN(E#)=2 A#=2.5 EXP(A#)=12.18249396070347 LN(E#)=2.5 A#=3 EXP(A#)=20.08553692318767 LN(E#)=3 A#=3.5 EXP(A#)=33.11545195869232 LN(E#)=3.5 A#=4 EXP(A#)=54.59815003314424 LN(E#)=4 A#=4.5 EXP(A#)=90.01713130052182 LN(E#)=4.5 A#=5 EXP(A#)=148.4131591025766 LN(E#)=5 END |
10 PRINT "10^N & LOG TEST" 20 FOR A#=-5# TO 5# STEP 0.5# 30 E#=10# ^A# 40 L#=LOG(E#) 60 PRINT "A#=";A#,"10#^A#=";E#," LOG(E#)=";L# 70 NEXT A# 80 PRINT "END" data end >r. 10^N & LOG TEST A#=-5 10#^A#=0.9999999999999997D-5 LOG(E#)=-5 A#=-4.5 10#^A#=0.3162277660168379D-4 LOG(E#)=-4.5 A#=-4 10#^A#=0.9999999999999998D-4 LOG(E#)=-3.999999999999999 A#=-3.5 10#^A#=0.3162277660168379D-3 LOG(E#)=-3.5 A#=-3 10#^A#=0.001 LOG(E#)=-3 A#=-2.5 10#^A#=0.3162277660168379D-2 LOG(E#)=-2.5 A#=-2 10#^A#=0.01 LOG(E#)=-2 A#=-1.5 10#^A#=0.0316227766016838 LOG(E#)=-1.5 A#=-1 10#^A#=0.1 LOG(E#)=-0.9999999999999999 A#=-0.5 10#^A#=0.3162277660168379 LOG(E#)=-0.5 A#=0 10#^A#=1 LOG(E#)=0 A#=0.5 10#^A#=3.162277660168379 LOG(E#)=0.5 A#=1 10#^A#=10 LOG(E#)=0.9999999999999999 A#=1.5 10#^A#=31.62277660168379 LOG(E#)=1.5 A#=2 10#^A#=100 LOG(E#)=2 A#=2.5 10#^A#=316.227766016838 LOG(E#)=2.5 A#=3 10#^A#=999.9999999999999 LOG(E#)=3 A#=3.5 10#^A#=3162.277660168379 LOG(E#)=3.5 A#=4 10#^A#=10000 LOG(E#)=4 A#=4.5 10#^A#=31622.7766016838 LOG(E#)=4.5 A#=5 10#^A#=100000 LOG(E#)=5 END |
それはともかくとしまして、やっとここまできました。
これで倍精度実数演算プログラムの組込み作業の一応の完成です。
いやあ。
苦しかった、です。
でも、これで組込み作業は終わりではありません。
まだまだやらねばならぬことは残っています。
なかなかにしんどいことです。
MYCPU80でCP/Mを![第72回]
2014.11.26upload
前へ
次へ
ホームページトップへ戻る