アフィリエイト広告を利用しています

2017年07月25日

HP-42S: スタック (修正版)

以前書いた HP-42S: スタック に間違いがあったので修正する.
間違っていたのはスタックの動作についての理解で, 具体的には "Enter" ボタンを押したときに引き起されるスタックの動作 である.

以下, 修正した文章を記しておく.



12 + 7 を計算するとき, HP-42S では次のような操作を行う.

12 ENTER 7 +

ここで, 12, 7 は数字ボタンを使って入力する. ENTER は "Enter" ボタンを押すことを意味する. + は "+" ボタンを押すことを意味する.

このとき HP-42S はスタック X, Y, Z, T (下から順) を使って次の処理を行う.
※: 各行の |XXXX の右側が以前の文章で書いた間違った記述である.

(0) 最初のスタックの内容が次のようになっていると仮定する (任意でよい).

T: 8128
Z: 496
Y: 28
X: 6

(1) "12" が入力された時点で X レジスター (スタックの最下段) の内容が 12 となる.
スタックが 1 段上昇する.
これにより, (0) のスタックの内容は次のように変化する.

・ T レジスターの元の内容 8128 は失われる.
・ T レジスターの新しい内容は Z レジスターの元の内容 496 になる.
・ Z レジスターの新しい内容は Y レジスターの元の内容 28 になる.
・ Y レジスターの新しい内容は X レジスターの元の内容 6 になる.
・ X レジスターの新しい内容は入力された数値 12 になる.


T: 496 |XXXX T: 8128
Z: 28 |XXXX Z: 496
Y: 6 |XXXX Y: 28
X: 12 |XXXX X: 12


(2) "Enter" ボタンが押されて "ENTER" 操作が実行される. 次の 3 つの処理が引き起こされる.
 (2-1) スタックを 1 段上昇する;
 (2-2) X レジスターの内容を Y レジスターにコピーする;
 (2-3) 次に数値が入力されたときにスタックが上昇することを禁止する.
これにより, (1) のスタックの内容は次のように変化する.

T: 28 |XXXX T: 496
Z: 6 |XXXX Z: 28
Y: 12 |XXXX Y: 12
X: 12 |XXXX X: 12


(3) "7" を入力した時点で X レジスターの内容が 7 に書き換えられる. (2-3) によりスタックは上昇しない.
これにより, (3) のスタックの内容は次のように変化する.

T: 28 |XXXX T: 496
Z: 6 |XXXX Z: 28
Y: 12 |XXXX Y: 12
X: 7 |XXXX X: 7


(4) "+" ボタンが押されると加算操作が実行されて, スタックが 1 段下降する.
これにより, スタックの内容は次のように変化する.

・ X レジスターの内容 (= 7) に Y レジスターの内容 (= 12) が加算された結果 (= 19) が X レジスターの新しい内容になる.
・ Y レジスターに Z レジスターの内容 (= 6) がコピーされる.
・ Z レジスターに T レジスターの内容 (= 28) がコピーされる.
・ T レジスターの内容 (= 28) は保持される.


T: 28 |XXXX T: 496
Z: 28 |XXXX Z: 496
Y: 6 |XXXX Y: 28
X: 19 |XXXX X: 19

以上.

頭の中だけでとうとう理解したなどと思って喜んでいたのが馬鹿みたいだ.
しかし間違いに気が付いてよかった.

そういうことなので, 今回が本当に正しいかどうかは数日 HP-42S を確認しながら使ってみないとわからない.
理解するということは難しい.

体調不良: 薬が効き過ぎた

8 時半起床.
やや抑鬱感が強い.
昨晩は寝付けず, 明け方になって眠りに落ちた. 昨日チラシ配りを長時間やって肉体的な疲れはけっこうあったのだがなぜか眠れなかったのだ.
それがメンタルの調子に影響しているのかも知れない.
頓服を飲んで何とか起きた.

数学をやる.
やり始めて少ししたら強い眠気に襲われた. 頓服が効き過ぎている.
起きていることができない.
眠ってしまった.

正午近くになって眼が覚めたが, ふらふらする. 体が異常にだるい.
神経が麻痺している感じ.
起き上がることができない.
しばらくそのまま横になっていたらまた眠ってしまった.

再び起きたらもう夕方である. やり切れない気分になるが仕方が無い.

家計簿を付けた. 家計簿を付ける際のお金の計算は HP-42S という電卓で行っている.
プログラミングの勉強を HP-42S を使って行っていることもあり, 日頃の計算をこの電卓を使ってやるようにしている.
そんな風に今日も使っている最中に, HP-42S の動作に関する自分の理解が間違っていることに気が付いた.
間違っていたのはスタックに関する理解である.

マニュアルを読んだら, 丁寧に記述してあった. 電卓の動作もマニュアルの記述も, 明らかに自分が間違っている事実を示している.
二週間近く誤った理解で電卓を使っていて気付かないというのは凹む.

シャワーを浴びて夕食をとる.
ほうれん草のお浸し, 焼き鮭, 納豆とご飯.
posted by 底彦 at 19:15 | Comment(0) | TrackBack(0) | 日常生活
ファン
検索
<< 2017年07月 >>
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
最新記事
最新コメント
眼科の定期検査 〜 散歩 by コトタマ (02/15)
眼科の定期検査 by 三文字寄れば文殊のヒフミヨ (09/21)
本を読んで過ごす by 底彦 (12/13)
本を読んで過ごす by ねこ (12/12)
数学の計算をする by 底彦 (12/04)
タグクラウド
カテゴリアーカイブ
仕事(59)
社会復帰(22)
(40)
コンピューター(197)
(1343)
借金(8)
勉強(7)
(12)
数学(97)
運動(8)
日常生活(1316)
(198)
健康(33)
読書(19)
プロフィール

ブログランキング・にほんブログ村へ
にほんブログ村
にほんブログ村 メンタルヘルスブログ うつ病(鬱病)へ
にほんブログ村
にほんブログ村 科学ブログ 数学へ
にほんブログ村
にほんブログ村 IT技術ブログ プログラム・プログラマーへ
にほんブログ村