研究紀要第25号 学習指導に関する研究 - 046/060page
コアダンプは16進で印字されるが,ハードとしては整数型で16ビット(= 1語),実数型で前述のように32ビットを使用しての2進である。が注意すべきことは,この2進表示においては文字,数字の区別をしていないということである。
以下その例をあげてみよう。
下記のようなプログラム(EX 1)があったときWRITE文の記述子を「A2」とするか「I 5」にするかによって,2進表示から意味のはき出しが変ってくる。
ダンプしてみると
405C
がデータとして「L」に格納されていることがわかる。これを「A2」で記述させてみると
*
なのだが,これを(405C)を2進に直してから10進数で表現させてみると0100 0000 0101 1100
1×2 13 + 1×26 + 1×24 + 1×23 + 1×22 = 16476という意味になっているので,これを「I 5」で記述を命令させてみたから
16476
を印字するのである。このように,内部では常に文字,数字の区別はなく,同じ2進のままなのである。
記述子によってプリンタヘの結果印字があらわれることになっているのである。
したがって上例の場合は偶然「*」または,「16476」がでてくれたけれど,一般的には下の例にみられるような場合が多いので十分このことを留意してかからなければならない。ダンプすると「B」には
4040 405C
で,これは2進化すると4 0 4 0 4 0 5 C
0100 0000 0100 0000 0100 0000 0101 1100すなわち,16進による仮数部は
(0.40405C)
であり,指数部は0乗なので160となるから
(0.40405C)16*160
=(40405C)16*16-6
が生じてくる。この式から10進法の計算をしてみると
(40405C)16 = (4210752)10
なので
を得る。
よってI タイプで記述すれば「0」である。
そして「Aタイプ」で記述させると,IB内は
IB = B
によりIB = 0 となっているので
(0000)16
のようなものが格納されていることになる。
よって,表1に該当するものがない場合はすべて