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

2018年07月15日

HP-42S: プログラムの構成要素

やや一般的な話.

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 のプログラムを構成する基本要素についての体系的な説明であることがわかった.
体調が悪くても少しづつ積み重ねることを継続していけば理解に結び付く. これは非常に嬉しい出来事で良い経験になった. 鬱で先が見えない時の励みになる.
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

この記事へのトラックバックURL
https://fanblogs.jp/tb/7906475

この記事へのトラックバック
ファン
検索
<< 2024年11月 >>
          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
最新記事
最新コメント
眼科の定期検査 〜 散歩 by コトタマ (02/15)
眼科の定期検査 by 三文字寄れば文殊のヒフミヨ (09/21)
本を読んで過ごす by 底彦 (12/13)
本を読んで過ごす by ねこ (12/12)
数学の計算をする by 底彦 (12/04)
タグクラウド
カテゴリアーカイブ
仕事(59)
社会復帰(22)
(44)
コンピューター(211)
(1441)
借金(8)
勉強(13)
(13)
数学(97)
運動(8)
日常生活(1404)
(204)
健康(38)
読書(21)
プロフィール

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