HP-42S のスタックによる計算は強力だが, スタックレジスターは X, Y, Z, T の 4 個であり, 計算の途中のすべてのデータをこの中に格納して積み上げていくのは無理である.
そこで, スタックの上昇は必要最小限にし, 途中の計算結果を「変数」や「記憶レジスター」と呼ばれる領域に格納しながら処理を進めていくことが可能になっている.
変数あるいは記憶レジスターにデータを保存し, 呼び出す操作は STO (Store) キーと RCL (Recall) キーを用いて行う.
以下では変数に対する処理を説明する.
STO 命令 (Store)
X レジスターの内容を指定した変数に格納する.
変数はすでに定義された変数のリスト ("カタログ" と呼ぶ) から選ぶか ALPHA メニューと呼ばれるアルファベト入力方式によりその場で新しい変数名を定義して指定する.
※: ALPHA メニューによる入力方式はスマホのフリック入力と操作の概念が似ている. アルファベット文字列を入力できる.
\begin{equation*}
\newcommand{\q}{\hspace{1em}}
\newcommand{\Mr}[1]{\mathrm{#1}}
\Mr{STO} \q \{\, \langle \textit{variable name} \rangle \,\}
\end{equation*}
RCL 命令 (Recall)
指定した変数に格納されている値を X レジスターに呼び出す.
\begin{equation*}
\newcommand{\q}{\hspace{1em}}
\newcommand{\Mr}[1]{\mathrm{#1}}
\Mr{RCL} \q \{\, \langle \textit{variable name} \rangle \,\}
\end{equation*}
マニュアルでは "ABC" という名前の変数を ALPHA メニュー入力方式によって定義した上で次のように説明している.
(1) STO キーを押す. ディスプレイに次のようなプロンプトが表示される.
\begin{equation*}
\newcommand{\q}{\hspace{1em}}
\newcommand{\Mr}[1]{\mathrm{#1}}
\begin{array}{|ll|}
\hline
\Mr{STO} & \_\_\_ \hspace{6em} \\
\Mr{ABC} & \Mr{REGS} \\ \hline
\end{array}
\end{equation*} このプロンプトに対して既存の変数 "ABC" か記憶レジスター "REGS" を選ぶ (記憶レジスターは 00 〜 24 までの 25 個の番号のうちのいずれかによって指定する. 今回は説明を省略する).
"ABC" を指定すると X レジスターの値がこの変数に格納される. スタックの状態はそのまま保持されて上昇・下降は発生しない.
(2) RCL キーを押す. ディスプレイに次のようなプロンプトが表示される.
\begin{equation*}
\newcommand{\q}{\hspace{1em}}
\newcommand{\Mr}[1]{\mathrm{#1}}
\begin{array}{|ll|}
\hline
\Mr{RCL} & \_\_\_ \hspace{6em} \\
\Mr{ABC} & \Mr{REGS} \\ \hline
\end{array}
\end{equation*} このプロンプトに対して変数 "ABC" か記憶レジスター "REGS" を選ぶ.
"ABC" を指定すると変数 "ABC" に格納されたデータが X レジスターに呼び出される. スタックが 1 段上昇する.
この "ABC" という変数が 1 個存在するだけでも, スタックの操作と組み合わせることによって家計簿などの計算が飛躍的に楽になる.
STO も RCL もアセンブリ言語のニーモニックのようだし, 実際にその動作はアセンブリ言語の最も基本的なものだと言ってよい.
日常の計算にこういう操作が普通に現れ, しかもそれがほとんど違和感なく使えるのはこの電卓のすごいところだと思う.
2017年09月03日
午前中数学 〜 午後チラシ配り
午前 3 時起床.
昼まで数学をやる.
昼食はトマトとレタスとチーズのサラダ, ベーコンエッグ, コーヒー.
午後からチラシ配りに出る.
今日も暑かったが一歩進むだけで疲れるほど厳しくはない.
多めの枚数を配ることができた.
しかし暑いとどうしても途中でコンビニで水を買って飲んでしまう.
帰宅して家計簿をつける.
最近, HP-42S の変数の使い方を覚えたので計算が楽になった.
生活のいろいろなところをプログラミングが支えているというのは楽しい.
夕食は湯豆腐と納豆, ご飯.
昼まで数学をやる.
昼食はトマトとレタスとチーズのサラダ, ベーコンエッグ, コーヒー.
午後からチラシ配りに出る.
今日も暑かったが一歩進むだけで疲れるほど厳しくはない.
多めの枚数を配ることができた.
しかし暑いとどうしても途中でコンビニで水を買って飲んでしまう.
帰宅して家計簿をつける.
最近, HP-42S の変数の使い方を覚えたので計算が楽になった.
生活のいろいろなところをプログラミングが支えているというのは楽しい.
夕食は湯豆腐と納豆, ご飯.