レジスター $\mathrm{03}$ 番 $\mathrm{R}_{03}$ に $\sqrt{7}$ を計算した結果を保存させたいとする.
直接に行うならば
\begin{equation*}
\newcommand{\Ar}[1]{\mathrm{Ar}(#1)}
\newcommand{\ar}{\mathrm{ar}}
\newcommand{\arop}{\Opp{\mathrm{ar}}}
\newcommand{\Hom}{\mathrm{Hom}}
\newcommand{\Id}[1]{\mathrm{id}_{#1}}
\newcommand{\Mr}[1]{\mathrm{#1}}
\newcommand{\Ms}[1]{\mathscr{#1}}
\newcommand{\Ob}[1]{\mathrm{Ob}(#1)}
\newcommand{\Opp}[1]{{#1}^{\mathrm{op}}}
\newcommand{\Pos}{\mathbf{Pos}}
\newcommand{\q}{\hspace{1em}}
\newcommand{\qq}{\hspace{0.5em}}
\newcommand{Rest}[2]{{#1}|{#2}}
\newcommand{\Src}{d^{0,\mathrm{op}}}
\newcommand{\Tgt}{d^{1,\mathrm{op}}}
7 \qq \sqrt{x} \qq \Mr{STO} \qq 03
\end{equation*} とすればよい.
パラメーターの間接指定では, レジスター番号 $03 = 3$ をある変数 (ここでは $\Mr{ABC}$ とする) に保存しておき, $\Mr{STO}$ 命令を使って計算結果を保存するときに, 保存先のレジスターを変数 $\Mr{ABC}$ を介して指定する. つまり次のようにする.
\begin{alignat*}{2}
~ & 3 \qq \Mr{STO} \qq \Mr{ENTER} \qq \Mr{ABC} \qq \Mr{ENTER} & \q & ; (1) \\
& 7 \qq \sqrt{x} & & ; (2) \\
& \Mr{STO} \qq \bullet \qq \Mr{IND} \qq \Mr{ABC} & & ; (3)
\end{alignat*} ※ 各行の意味は以下の通り:
(1) 変数 $\Mr{ABC}$ に $3$ (これが保存先のレジスターの番号) を保存する.
(2) $\sqrt{7}$ を計算する. 結果が $\Mr{X}$ レジスターに保存される.
(3) 変数 $\Mr{ABC}$ の内容 ($= 3$) で指定される番号のレジスター ($= \Mr{R}_{03}$) に $\Mr{X}$ レジスターに入っている計算結果 ($= \sqrt{7} = 2.6458$) を保存する. "$\bullet \qq \Mr{IND} \qq \Mr{ABC}$" によって $\Mr{STO}$ 命令による保存先の間接指定が行われている.
この機能を, たとえば家計簿を付けるといった日常の対話的な使用の中で使って便利かどうかはちょっとイメージが湧かない.
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image