HP-42S のプログラムは行番号が付いたプログラム行の集まりから構成される.
プログラムを構成する各プログラム行は, プログラム用のメモリー領域内に保存され, 1 行が 1 バイト 〜 16 バイトを占める.
プログラム行は下記の種類に分類される.
・プログラムラベル
・命令
・定数
● プログラムラベル
グローバルラベル と ローカルラベル の 2 種類からなる.
グローバルラベルはプログラム名を表わす 1 桁 〜 7 桁の英数文字列. ただし, $\mathrm{A}$ 〜 $\mathrm{J}$, $\mathrm{a}$ 〜 $\mathrm{e}$ の英字 1 文字からなる名前はローカルラベル用に予約されている.
ローカルラベルはそのプログラム内だけでアクセスできる 2 桁の数字または 1 桁の英数文字.
数字ラベルとしては $\mathrm{LBL} \,\, 00$ 〜 $\mathrm{LBL} \,\, 99$ までが使える. これらのうち $\mathrm{LBL} \,\, 00$ 〜 $\mathrm{LBL} \,\, 14$ はメモリーの使用量が少なくて済むために 短縮形のローカルラベル と呼ばれる.
ローカルラベルを使用する主目的はプログラム分岐を行うことである.
● 命令
HP-42S のキー操作やメニューから使用できる各命令に対応している.
$+$ や $\times$ のような計算のための命令や, $\mathrm{STO} \,\, 10$ のようなパラメーター (この例では $10$ というレジスター番号) を伴うメモリー操作の命令など.
● 定数
数値定数 と 英数文字定数 の 2 種類からなる.
数値定数は何らかの数値を表わす数字のみからなる定数. $0.57721566490$ や $1729$ は数値定数である.
また, HP-42S の操作キーには特に $\pi$ という機能が用意されている (プログラム行では $\mathrm{PI}$ と記される) が, これは円周率 $3.14159265359$ を表わす数値定数である.
英数文字定数は最大 15 桁までの英数文字列である. 文字列データとして使用される.
HP-42S: 簡単なプログラムの作成 の記事で取り上げたプログラムを例にとって上記の分類を適用すると次のようになる.
\begin{align*}
\newcommand{\Ar}[1]{\mathrm{Ar}(#1)}
\newcommand{\ar}{\mathrm{ar}}
\newcommand{\arop}{\Opp{\mathrm{ar}}}
\newcommand{\Colim}{\mathrm{colim}}
\newcommand{\CommaCat}[2]{(#1 \downarrow #2)}
\newcommand{\Func}[2]{\mathrm{Func}(#1,#2)}
\newcommand{\Hom}{\mathrm{Hom}}
\newcommand{\Id}[1]{\mathrm{id}_{#1}}
\newcommand{\Mb}[1]{\mathbf{#1}}
\newcommand{\Mr}[1]{\mathrm{#1}}
\newcommand{\Ms}[1]{\mathscr{#1}}
\newcommand{\Nat}{\mathrm{Nat}}
\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}}}
& 01 \q \Mr{LBL} \qq \text{"AREA"} & \q & ; \text{グローバルラベル} \\
& 02 \q \Mr{X} \uparrow 2 & & ; \text{命令} \\
& 03 \q \Mr{PI} & & ; \text{数値定数} \\
& 04 \q \times & & ; \text{命令} \\
& 05 \q \Mr{END} & & ; \text{命令 (}\,\Mr{END}\, \text{という特別な命令)}
\end{align*}
付記: この部分を勉強していた時は体調が今一つ (無気力と思考力の低下) で, 一日数行くらいのペースでマニュアルを読んだ. 内容の理解もままならずノートにまとめていたが, 一区切りついて読み返してみたら, HP-42S のプログラムを構成する基本要素についての体系的な説明であることがわかった.
体調が悪くても少しづつ積み重ねることを継続していけば理解に結び付く. これは非常に嬉しい出来事で良い経験になった. 鬱で先が見えない時の励みになる.
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image