Elektronika MK-61

From Wikipedia, the free encyclopedia

Elektronika MK-61

Elektronika MK-61 (ロシア語: Электроника МК-61) は、1983年から1994年までの間にソ連で製造されたRPNプログラム電卓である。[1][2] 当初の販売価格は85ルーブルであった。[3]

Elektronika MK-61は、15本のデータメモリ[4]と105ステップのプログラムメモリ[5]を備えたプログラム電卓である。4レベルのスタックとLastXレジスタを備えたRPN電卓でもある。 間接指定機能が豊富であり、しかも内部コードの半数超を間接指定命令で占めており、間接指定機能を重視していることが窺える。[6]しかしながら、間接指定時のデータメモリの直交性は考慮されていない。(特徴の項を参照)

  • スタック
    • スタックレベル: 4レベル(X、Y、Z及びT)[8]
    • スタック操作機能: 「В↑」(ヒューレット・パッカード社(以下「HP」と略す)の電卓における「ENTER↑」に相当)、「⇔」(HP電卓の「X<>Y」に相当)、「↑○↓」(HP電卓の「R↓」に相当)[9]
  • データメモリ
    • データメモリ数: 15本(RG0-RG9及びRGa-RGe)[4] 並びに X1レジスタ[10](HP電卓のLastXレジスタに相当)
    • データメモリ操作機能: リコールメモリ「П→X」、ストアメモリ「X→П」[11]、リコールX1「Вx」[10]
  • プログラム
    • プログラムメモリ: 105ステップ[5]
    • プログラム機能: 無条件ジャンプ「БП」[12]、条件ジャンプ(「X<0」,「X=0」,「X≧0」,「X≠0」)[13]、ループ支援(RG0用「L0」,RG1用「L1」,RG2用「L2」,RG3用「L3」)[14](プログラム例の項を参照)、サブルーチンコール「ПП」[15]、サブルーチンからのリターン「В/0」[16]、停止「С/П」[17]、など
    • プログラム編集機能: プログラム編集モード移行「ПРГ」、実行モード移行「АВТ」[18]、ステップ進む(FST)「→ШГ」、ステップ戻る(BST)「←ШГ」[19]、など
    • プログラム実行機能: 先頭アドレス00へ移動「В/0」[20]、実行・中断「С/П」[17]
    • プログラムアドレス指定: 絶対アドレス。先頭のアドレスが「00」であり、最後が104であるが、100から104までのアドレスは「-0」、「-4」等と表示される。[21][22]
  • 間接指定機能
    • 「К」。「П→X」,「X→П」,「БП」,「ПП」,「X<0」,「X=0」,「X≧0」,「X≠0」とともに使用する。[23](特徴の項を参照) 「К」には第2シフトの機能もある。
  • ハードウェア
    • スライドスイッチ: 2個。左側が電源スイッチで、右側が角度単位指定スイッチ(Р:ラジアン、ГРД:グラード、Г:)となっている。[24]
    • 入力装置: 30キー(写真参照)。キーストロークが浅く、キーを押した感覚はほとんどないものを使用している。シフトキーが2個あり、第1シフトキーが「F」、第2シフトキーが「К」となっている。[4]「К」キーは間接指定にも用いる。
    • 表示装置: VFD 12桁。表示桁の配置は、左から、仮数の負号用1桁、仮数用8桁、指数の負号などに使用する1桁、指数用2桁となっている。仮数負号桁と指数負号桁には数字は表示できない。従って、数字用だけであれば10桁である。
    • 電源: А-316(単三形)電池3本[25] 又は 専用ACアダプタД2-10М(D2-10M)(220V50Hz専用)[5]
    • メモリの揮発性: スタック、データメモリ、プログラムの記憶域は、全て揮発性である。


特徴

データメモリと間接指定時の動作

MK-61は15本の汎用データメモリレジスタを備えているが、間接指定時の動作にはレジスタ毎に下表の通り差異がある。[26]

レジスタ
レジスタ
番号
レジスタ
コード[22]
押下
キー
間接指定時の動作
RG0 0 0 0 デクリメント後アドレス評価
または[27]
アドレス評価後デクリメント[28]
RG1 1 1 1
RG2 2 2 2
RG3 3 3 3
RG4 4 4 4 インクリメント後アドレス評価
RG5 5 5 5
RG6 6 6 6
RG7 7 7 7 アドレス評価のみ
RG8 8 8 8
RG9 9 9 9
RGa 10 - .
RGb 11 L /-/
RGc 12 [ ВП
RGd 13 Г СХ
RGe 14 E В↑


(間接指定のプログラム例)[29]

プログラム
アドレス
キー入力 命令
コード[22]
説明
00 「4」 04 4を置数
01 「В↑」 0E ENTER↑
02 「К」「БП」「3」 83 RG3の内容をデクリメント後、RG3の値のアドレスへジャンプ
03 「F」「√」 21 平方根
04 「2」 02 2を置数
05 「+」 10 加算
06 「К」「БП」「4」 84 RG4の内容をインクリメント後、RG4の値のアドレスへジャンプ
07 「+」 10 加算
08 「3」 03 3を置数
09 「×」 12 乗算
10 「К」「БП」「a」 8- [21] RGaの値のアドレスへジャンプ
11 「-」 11 減算
12 「С/П」 50 停止

プログラム実行前に

「5」「X→П」「3」
「7」「X→П」「4」
「1」「2」「X→П」「a」

として、RG3に5を、RG4に7を、RGaに12を入れておく。

「В/0」(プログラムの先頭アドレス00に移動)、「С/П」(プログラム実行)を押してプログラムを実行すると

18

という結果が表示される。これは、(4+2)×3の演算結果である[30]が、上記のプログラムを見ても なかなか わかりにくい。

アドレス02の間接ジャンプでは、実行前にRG3に入れた値の「05」ではなく、デクリメントされた「04」のアドレスへジャンプしている。 同様に、アドレス06の間接ジャンプでは、実行前にRG4に入れた値の「07」ではなく、インクリメントされた「08」のアドレスへジャンプしている。 ただし、アドレス10の間接ジャンプでは、RGaの値「12」のアドレスにそのままジャンプしている。

その結果、アドレス「03」「07」「11」のコマンドは飛ばされて実行されないことになる。


演算・関数

1. 「max」は、スタックXとスタックYのうち値の大きい方を返す演算(アリティが2の最大値関数)である[31]が、以下の注意点がある。

  • スタックXとスタックYの少なくとも一方がゼロである場合はゼロが返される。オペランドの片方がゼロで、もう片方が正数である場合には、返される値ゼロは最大値ではない。
  • 返された値はスタックXに上書きされるだけで、スタックの下降はしない。スタックYに演算前のオペランドの片方が残っている。

2. 「xy」は、冪乗(累乗)演算である[32]が、HP電卓の「yx」とはオペランドの順番が逆となっている。[33]

プログラム例

ギャラリー

脚注

Related Articles

Wikiwand AI