システム作クな こんなことで目ったあなたかコンビュータの ことはありませんか ? 専門家である必要はありません。 ■研究室で計測システムを作ることになったけれ ど , コンヒュータの専門家がいない。 ■会社でコンピュータ制御をした方が良い結果が 得られそうだけれど , ニコンでやるべきか , マ イコンで充分なのか全然わからない。 ■現在のシステムを自動化したいけれど方法がわ からない。 ・データ処理を合理化したいけれど予算が足りな ■あなたには専門があるはずて、す。 電気 , 化学 , 建築 , 心理学 , 社会学 , デザイン , ファッシ ・・ etc. その上にコンビュータの専門家てあるというのは理想て、は あっても現実的てはありません。あなたがやらなければな らないのは , あなたの専門分野にコンヒ。ュータを導入する 目的をはっきりさせることて、す。 そして , それをコンヒ。ュータの専門家に相談することて、す。 ロ D 江 0 要第 - 電■・ - 興・■ A 第 0
ESD ラ第ラに ... センサからあとの処理は 0 ■ ESD の納入実績 ・図形文字 , 刺激発生装置 ・自動耐圧試験装置 ・応答速度測定処理装置 ・答案採点処理装置 ・粒子沈降速度測定装置 ・色彩分類表示装置 ・心拍間隔生体現象処理装置 ・クロマトグラフ・データ処理装置 ・加水装置コントローラ ・ X 線回析データ処理装置 ・ビデオ入力処理装置 ・他多数 ■例えば , 化学の計測ならばそれぞれ目的に応じたセンサ があるはずてす。そこから出た情報をどのように処理すべ きかは ESD にご相談下さい。 ESD は理化学機器とコンピュ ータのインターフェイスに豊富な納入実績を持っています。 理化学に限らず , 物理・化学から心理学・ファッションま て、 , ESD は多くのコンヒ。ュータ・システム作りのお手伝い をしてきました。 あなたがやらなければならないのはどういう情報をコンヒ。 ュータに入れ , どういう情報をコンビュータから得たいの かを ES D に教えることてす。センサからあとの処理は ES D におまかせ下さい E50 はあなたの相談を お得ちしていま ・コンビュータの導入を検討中のあなた , これまての話が お役に立ちましたてしようか。「こんなことをコンヒ。ュータ にやらせたいのだが』という希望がありましたら , ぜひ ESD にご相談下さい。 たとえば APP し E Ⅱを 使った例では .. •ESD< は目的に応じて多くのミ コン , マイコンを使っ てきました。 コンヒ。ュータを選ぶ場合 , ・ノードウェアが信頼てきるものてあること , ・ソフトウェアが充実していること , などは当然てすが , 一番大切なのは , コンヒ。ュータ・シス テムを設計する人が , そのコンヒ。ュータを知りつくしてい ることてす。 多少のハード上の性能の違いなどはこの最後のことからい えばむしろ些細なことだといえるてしよう。 例えば APPLE Ⅱについていえば , ES D は日本に初めて紹 介して以来 , 多くのシステムを責任を持ってお届けしてき ました。主なものて、引っ張り試験機 , パターン処理機 , 質 量分析装置など。 人によっては意外だと思われるかも知れませんが , 使い方 によっては APPLE Ⅱは従来ミニコンがやっていた仕事も充 分こなせるのてす。 もちろんミニコン向きの仕事もあるてしようし , ワンポー ド・マイコンて充分なこともあるてしよう。 ESD はこれら の分野をすべてカバーしています。 マイクロコンピュータの可能性を追求する 株ィーエステイラホラトリ ・本社 〒 113 東京都文京区本郷 6 ー 16 ー 3 幸伸ビル 谷 ( 03 ) 816 ー 3911 ・筑波事業所 〒 305 筑波郡谷田部町小野崎南小池 180 ー 1 谷 ( 0298 ) 51 一 8070
筆者が 20 年も昔 , 本職のプログラマーだったころ , まだ DISK というものは世に出ていませんでしたが , そのよう な MASS FILE が普及すれば , 情報検索 (lnformation Retrieval—I ・ R) は , コンピュータの事務的用途として最 重要なものになるといわれていました . その後この I ・ R の 考え方はデータ・べースという思想に発展して , 情報の拾 い出しに加え , それらの加工 , 多面的な分析および集約表 現 , さらにそれらのための処理言語までの機能を合わせ持 つようになってきました . マイコンがパーコンに進化し , 用途が実用的事務的なも のに広がっていくに際して , 忘れてならない基本姿勢は , 事務処理は「量との戦い』であるという事実です . そのた めの戦略として , ①発生するデータをどのように捕え , コンピュータに 入力可能なものにするか . ②すべての段階での処理速度の向上 ードウェアおよびファイル媒体の信頼性 冊が刊行され , そのような雑誌が 10 種類あるとして , 雑誌 1 冊に 30item の登録があり , 年間で増刊号を入れて 15 誌の目次と内容の抜きがきをファイルしようと考えると , 10 万件の位になることはますないでしようが , それでも雑 パーコンの場合 , 一種類のファイルの内容項目 ( item ) が ト共に少ないといえます . のような視点からのテストに合格するものはハー おくとして , 現状では実務的とうたっているものでも , 上 まだまだたくさんありますが , 今の場合は①と・はさて ・コストーノヾフォーマンス 前のデータの蓄積が無効にならぬこと . ・プログラムの機能を向上するため改造したとき , 以 etc. のつかないロスを生しる恐れはないか . 作業中の停電その他のトラブルで , 取り返し 操作ミスに対し回復の手段は容易か . 任意時点での中断と保存および続行 工ラーデータに対する配慮 プログラマー以外の人が操作できるか . 操作手順の問題 ( キー・タッチ数の減少 ) ①オペレーションのしやすさ 30 x 15 x 10 = 4500 item 192 に目的に合った MAS S FILE だといえます . 約されます . いろいろ考慮に入れて PET DIS K は , 非常 はどありますが , ファームウェアのもつ機能にも大いに制 オペレーションのしやすさについて考えるべきことは山 い状態ではまったく実用になりません . が温まってくるとリード・エラーを起こすようなたよりな ハードウェアおよび記録媒体の信頼性については , 機械 するようでは困りものです . できたとしても , ファイル・サーチに時間をはとんど空費 とか , いくつもの山を越えなくてはなりません . それらが と MT ー 2 の接続とか , MT- 2 コントロール・プログラム シャル・ファイルの欠点としてあげられます . それに PET にディスケットのようには手軽にいかないことがシーケン しかし①のうち , 任意時点で中断してそれを保存するの 位が入ります . から MT- 2 の採用ということになり , これなら 2 年半分 うな量です . 磁気テープを使うなら信頼性とスピードの点 180 , 000 でまずます PET のディスケットの一面に入りそ その一項目が平均 40 バイトとすると , 1 年分の文字量は , RAM に読み込まれたデータを処理するのに , BASIC の 文字列処理の命令群は実に有力ですが , 対象が千のオーダ ーにのると , その処理速度が満足できなくなってきます . 最も時間のかかる処理ルーチンから機械語に置き換えたい ところです . 操作手順は , オペレーションがもっとも数少い操作で進 行するように考え , かっオペレーション・ミスを起こしに くくするように組んでおきます . たとえばファイルを Bot tom までサーチしたあとは , ポインタは 0 に戻しておくと か , ファイルの一切をキャンセルするようなリセット命令 は , 逆に複雑な操作でないと出せないようにするとか配慮 します . パーコンの所有者以外の人に このプログラムを走らせ て , データの入力や検索を介助してもらうことを想定して みると , 間題点はいくつもでてきます . 工ラーデータある いはキーイン・ミスでファイルが損なわれたり , 無限ルー プに飛び込んだりしたら , 助つ人オペレータならすとも , 処置に困ることになります . BASIC インタープリタには , @, [ 口にも書いたように マニュアルには明記されていない様々なトラブルが必す隠 れています . これらは充分吟味して解決しておかねばなり ません . 以上のような留意事項をできるだけ多く満たすように情 報検索プログラムを設計します . 編集機能は , PET 自体 が持っているスクリーン・エディットと , 画面上に表現さ れているすべての行が入力に利用可能である重宝な機能は 完全に生かすようにし , かっハードコピーのオプションを 組み込んでありますが , まだデータ・べースを称するには 非力な内容です . データ・べースの基礎は , 文字列の処理すなわち , 工デ イタに始まります . I ・ R は , このエデイタにサーチの機能 を追加すればでき上がります . 工デイタがマイコン向きに 登場したのは , bit 誌 ' 78 / 2 の臨時増刊号が初めてではな かったでしようか . その頃までは , まだマイコンのハード の方が文字列の処理を必要 , あるいは可能とするレベルに 達していなかったと思います . H 68/TR がテキスト・エデイタを内蔵して登場し , カセ ットによるソース・プログラムのアセンプラを現実のもの とした時点で , ェデイタというものが身近になりました . その後テキスト・エデイタに関しては I/O 誌に数多く改良 , 改作が発表されましたし , 68 系のテキスト・エデイタとし てはインターフェース誌 ' 79 年 1 月号に , 非常にユニークな 機能を持つものが発表されています . 一方 , 情報検索を目的としたものは , 80BS 用 ( マシン 語 ) , PET 8 K 用 ( BASIC ) でほとんど同し機能のものが , ASCII 誌 ' 78 年 5 ~ 9 月号に相次いで登場しました . これ らを比較検討すると一例を除き , 第 1 文字をコマンドとし , 第 2 文字以下にデータとして文字ストリングを並べるやり 方です . たとえば消去のことを , 一方では KiII と呼び , 他方で は Erase というなどの用語とか , 繰り返しを示す数字を コマンドの前に置くか , 後に置くかなどの差はあるものの , 原理的にはポインタとポトム・ポインタを持ち , 同し形式 であり必要な基本機能はつくされていると考えられます . 今回の設計のポイントは , 完全な DIS K べースを実現す るとともに , 本稿以降で示した INPUT その他の問題点 を解決して 77 文字までの入力を可能にし , また確実にオペ レートできるように処理が行なわれたあと , ポインタの指 すところがエコーバックされるようにしてあります .
イン化に加え , べクトル処理を連鎖化 ( チ ェイニング ) することによって演算処理の 高速化を実現しています . 図 5 の例では , 2 つのべクトルの和を求 め , 結果を一定ビット数シフトし , さらに その結果と他のべクトルの論理積を求めて います . ます , べクトル・データをメモリ からレジスタ V 0 に読み出し , この V 0 と V 1 の内容の整数加算の結果を V 2 に入れます . この演算の開始は V0 への読み出しがすべて 完了するのを待つ必要はなく , V 0 に最初の エレメントが出されれば直ちに V 0 + V 1 の 操作が開始できます . 以下の操作も同様に 連続して行なわれます . このように , あるべクトル演算の結果を 全部のエレメントの終了を待たすに , 直ち に次のべクトル演算に供給することによっ て , 演算の並行処理を行なうことをチェイ ニングと呼んでいます . このチェイニング機能を活用することに より最大 250MFLOPS の処理速度が得ら れるのです . 図 4 、レジスタの構成 ペクトル・レジスタ V7 V6 V5 V4 V3 V2 ( (AO) 00 逆数近似 Si 浮動小 Sk VM RTC 77 メモリ レジスタ スカラ・ (AO) Tik T 00 Pop/17 シフト 加算 4 T77 Sk 割り・み制御 べクトル 制御 S2 SO アドレス・レジスタ ( (Ah) + jkm) スカラ XA ・フロントエンド・コンビュータ CRAY-I は , CPU 以外にディスク装置 , 保守およびオペレータ操作のためのメンテ ナンス制御装置のみで構成されています . このため , システムとして必要なシステム 管理 , データ管理 , 周辺機器との I/O 外部からのアクセスなどのためにチャネル で結合されたフロントエンド・コンピュー タを必要とします . CRC の例では , 既存の CDC 6600 およ び CYBER74 システムをフロントエンド・ コンピュータとして , CRAY- 1 と接続して います . CDC6600 , CYBER74 は , それ自 身のジョブを処理する一方 , CRAY-I ジョ プの前準備 , 必要なデータの授受 , ジョブ 進行中の状態のチ・エック , ジョブ結果の出 カ , これらに付随するデータの管理などを 行ないます . ューサーとの細かいやりとりは CDC 6600 , ・べクトル演算とチェイニング CYBER74 が受け持ち , CRAY- 1 は , いわ CRAY- 1 では , 演算ユニットのノ、イプラ ネ、ツトワーク 図 6 CRC (AO) Bik 日 00 日 77 ((Ah) + jkm) Ak ドス 3 2 00 CL 0 2 機能別演算ユニット レ 0 制御 CIP 実行 NIP で , このユニットへは 1 クロック周期ごと にオペランドの対を送り込み , 演算結果を 1 クロック周期ごとに取り出すことができ ます . 命令バッファ 図 5 チェイニングの原理 V4 Ⅵ V2 V3 メモリ V2 ← V0 + Ⅵ V3 ← V2 く A3 V5 ← V3 く V4 Ⅶ← MEMORY メモリの読み出し整数加算左シフト論理和 ・機能別演算ユニット 演算ュニットは機能別に次の 4 グループ , 12 個から成り立っています ( 表 3 ). ①アドレス演算ユニット ( 2 ) ②スカラ演算ュニット ( 4 ) ・べクトル演算ュニット ( 3 ) 0 浮動小数点演算ュニット ( 3 ) これらの演算ュニットは , それぞれ独立 に動作でき , しかも 1 クロック周期 ( 12.5 (s) に完全にセグメント化 ( パイプライン 化 ) されています . たとえば浮動小数点演算ュニットでは , 2 つのレジスタの内容を加えて , その結果 をレジスタに戻すのに 6 クロック周期 ( 12.5 X6=75ns) を要します . しかしこのユニットは 6 つの操作段階 に分割されていて , 各段階の操作結果が次 の段階へ 1 クロック周期ごとに送られるの 十 CRCnet サービス・ ビューロー ( 東京 ) CRAY-I CDC 6600 CYBER 74 電子計算機組織 CRCnet サービス・ ビューロー ( 名古屋 ) 電話型 公衆通信回線 CRCnet サービス・ ビューロー ( 東海 ) CRCnet サービス・ ビューロー ( 大阪 ) 電話型 公衆通信回線 電話型 公衆通信回線 143
表 1 メイン・ルーチンの説明 アドレス REM 配列 A ( n , 0 ) = 位置 , 1 ) = 桃 or 枝 関数上流から下流へ桃や枝を動かすため 30 40 ~ 変数入力 18 ~ 変数入力と初期画面 秒読み 28 ~ 川に流すものを決める ( 桃 0 「枝 ) 38 ~ 48 ~ 最下流の処理 ・人問が桃や枝に当たれば , GOSUB 3000 ・取りそこねた桃をつぶす . 下流の処理 中流の処理 上流の処理 以上を繰り返すため , 文番号 38 へ . ゲーム終了後の処理 表 2 サプルーチンの説明 内 アドレス ・人間を動かす命令を入力する . ・進路に障害物があると , そこ でストップ / ・右岸にあり , かっ桃を持って いると得点 ( 2310 ~ ) 3 网 ~ 人問が , 流れてきたものにあた ったときの処理 桃の場合 318 ~ 枝の場合 3010 ~ 480 ~ 時間の表示 , 制限時間がくると ()Z = 0 → 1 ) 5 网 ~ 得点の表示 6 网 ~ ー 初期画面 枝をうまくよけ , 桃が流れて 7 网 ~ 説明文とゲームのスター、ト待ち . くるかもしれない所に必す構えるこ 人間を動かす命令に時間を取られす とです . そうすれば , % の確率を , に済むから , 人間を動かす場合と比 、 100 % ものにできます . べて , 流れてくる桃の数が 20 % 増加 人間の無駄な動きをできるか します . ぎり少なくすること . そうすれば , 時間 2 分を使い果たしケーム終了 . ハイスコア , ワーストスコアも表示される . 上流から流れてくる枝にぶつからすにいかに桃を多く取れるか・ . 現在スコア 20 点 . 内 10 0 T IME e ー 1 SCORE 0. 0 = 0 得点 自分の得点と最高点のはかに , 最低 点 ( WORST SCORE) も表示されます 本当は ( LOW SCORE) になるのです が , うつかりしてこうなってしまった ( あしからず・・・ ) . 0 制限時間 くその 2 〉人間の動きを速くする 545 GOSUB 2000 635 GOSUB 2000 735 GOSUB 2000 ⑨その他の改良 自分で考えましよう . 必勝法 プログラム 改良 プログラムはすべて BASIC で書 かれています . プログラムのメイン・ ルーチンは表 1 , サプルーチンは表 2 を見てください . TIME ② 28 SCORE 28 ①得点の変更 ・桃を取ったときの得点 文番号 2360 の『十 50 』 ・枝に当たったときの減点 文番号 3010 の『一 30 』 ②制限時間の変更 文番号 4010 3 ルールの変更 要するに , 最低点を競う . 0 ゲームの高速化 くその 1 > 川の流れを速くする . 上流と中流の処理を省略すれば , 速さが 2 倍になる . 330 A ( 7 , 0 ) = 53248 十 688 十 IN T (RND(I) * 23 ) 590 GOTO 300 レ 0 プラザ YOtdR OR 2 NORST R ー 39 をウイチドシマスカ = NO = 2 〉 「エッ〃父さんがマイコン ! ? 」 , 「てきる訳ないでしよ」子供達に馬鹿にされながらによーし / 俺も男だマドロスだ / をと昨年の暮れに , M Z ー 80K を購入した . レ ( ) 誌の別冊⑨を購入して , プログラムを見ながら , ケ・一ムを入力させるのに・生懸命のこの頃です . キーを探しにす つ入力させて行く労はペテランから見れは「オッサン、死ね」と言われるやも知れないが , 当人はそれどころではないのでアリマス . 日 i イ′ マイコンのマの字も知らぬド素人が . r ナニクソッ / ′」と思う , 心意気を買って順き度い . 他機種専Ⅲのゲームを手を加えて M Z ー 80K に人力させ ー 3 0
続・数価算入円 3 科学者のための BAS ℃ ☆☆☆条件判断 条件判断 ・ア・ラ・カルト .0 合が多いので , サプルーチンも先頭に置いた方カゞ better で チンにしても同様で , プログラムの先頭から探していく場 言されていた方が , 処理時間が短くなるのです . サプルー 頭から 1 っすっ探していくので , テープルの始めの方で宣 用のエリアが確保されます . 使うときには , テープルの先 変数は通常 , 初めて使われたときにテープルにその変数 きます . や変数を多く使うプログラムでは特に処理時間が異なって という程度のことですが しておくと , 長いプログラム といっても , I = 0 の方で FOR ~ NEXT の変数を宣言 多くの BASIC インタープリタでは , プログラムの始め に合ったプログラミングが必要になるのではないでしよう においても , 高速で処理しようとするならば , CPU の特性 件判断に行き着くわけですから , BA SIC のプログラミング BA S IC の条件判断にしても , 最終的にはマシン語の条 命令があるくらいだから・ 一概には言えませんが , 例の 6809 は面白そうですね . SEX まあ , マシン語では分岐がすべてではありませんから , るといった感が強いようですね . 断であるプランチ命令を支配するものはマシン語を支配す 秒 , さらに 6502 では 2 マイクロ秒と大きく異なり , 条件判 こと ) するのに 10 マイクロ秒かかり , 6800 では 4 マイクロ 8080 では条件判断をして分岐 ( プログラムの流れを変える マシン語の話をすれば , クロックを 1 M Hz とした場合 , ると申せましよう . の多分岐や , さらに言えば , 、 EXT 文さえも条件判断であ 一般的ですが , ON n GOTO 文や ON n GOSUB 文など 条件判断といってもいろいろとありまして , IF 文が最も し計算』と , もう 1 つ高速な条件判断があります . ーロに コンヒ。 . ェ ータの得意な分野としては , 先月号の『繰り返 す . と THEN*** SHINJI TANAQUAX Ⅱ . レベル 2 日 AS ー C 演習 人間は意志決定を行ないます . 会社のトップは経営方針 に関する意志決定を行ない , 学生は試験用紙を前にして鉛 筆の倒れた方向によって意志決定を行ないます . 人間の行 なう意志決定は単純なものから複雑なものまで多種多様に 渡っていますが , 現在のところノヾーソナル・コンピュータ が代行できるものは , それらのうちの , 極めて単純なもの だけだと言えましよう . 会社のトップが , 彼の経営する会社の方針について何か 重大な決定をせまられたとき , 最後には A という方法を採 ったときと B という方法を採ったときとでは , どちらの利 益が大きいかという大小判断に行き着くわけです . その途 中にあっては , 自社の信用とか , 取り引き先の某氏の感情 に関する問題であるとか , 人事の問題であるとか , まさに 多様化していて , コンピュータの能力を越えてしまいます . 某氏の感情などというものは , どうやって量的に表現しな らよいのでしようか . コンピュータは感情を持ちませんから , 判断の基準とな るのは , 量の大小だけです . つまり , 量的に表現できるこ と , 即ち , コンピュータで扱えることなのです . 現実の問 題をコンピュータで扱おうとするとき , ます考えることは , それがコンピュータに向いているかどうかということです . 量的に表現できるものであっても , パーソナル・コンピュ ータには向かないものも少なくありません . ちょっとした 事務的な処理事項でも , パーコンのメモリ容量を越えてし まうことがよくあるのです . 最近は , パーソナル・コンピュータの世界にも構造化プ ログラミングの考え方が少しすっ入ってきて , 従来の i ) 少ないメモリですむ ⅱ ) 高速処理 といった技巧主義から , プログラムの生産性の重視へと移 行しつつあり , 後で変更したりデバッグしやすいような , つまりメンテナンス ( 保守 ) の容易なプログラミングへと 向かっています . ードウェアの進歩もともなって一一メモリ その結果 , は安く大容量になり , CPU は高速処理が可能になった i ) プログラムの構造化 ⅱ ) プロセジャー ( 手続き , あるいはサプルーチン ) を 161
・暖冷房経費の管理 ホームコンビュータの応用範囲 安全・防災 生活環境 ・漏電・漏水・漏ガス ・暖冷房自動制御 ・戸しまり ・電話による住宅機器制御 ・盗難防止 0 ホームコンビュータ 家計簿管理 生活情報処理生活サイクル ・園芸用栽培器 ・家計管理 ・プログラムタイマ 献立検索 ・ペット育器 ・献立検索 ・自動風呂調節 ・テータファイル ータの入力装置 マホームコンビュ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ータ コンビュ ・暖冷房自動制御 ホームコンと→・システム ~ 日立では ~ ホームコンビュータについて , 日本のメーカ ーではどのようなことを目指しているか , 日立 製作所弘報の森部さんにお話を聞いてきました . 以下は森部さんのお話と日立の資料からまとめ たものです . なお , 日立のホームコンビュータは 2 月 5 日に NH K て紹介されたのてご覧になった方も 多いことと思います . このコンビュータは , 昭 和 53 年のマイコン・ショー用に試作されたもの で , 現在は当然その先を行く製品の研究・開発 が進められていることと思いますが , その目指 す方向はうかがえると思います . ☆マイコン使用の応用製品と ホームコンピュータ 日立のマイコンとしては家庭電子事業部がべ ーシックマスター . 半導体事業部が H68 / TR を作 っていることはマイコン・ホヒ・一ストには良く 知られています . ところで , 日立におけるマイコンの応用とい うと , 非常に多岐に渡っています . 大きく分類 しても産業用 , 事務用 , 教育用などに分けられ ます . たとえば計測器事業部だけでも , ガスクロマト グラフィ , 質量分析計 , アミノ酸分析器 . 電子顕 微鏡などかあります . NH K で紹介されたホームコンビュータは . 住宅設備事業部が試作したものてす . 「家計 , 安全・防災 , 趣味・娯楽 , 人とのお ちょっと考えてみても家庭内て実 付き合い・ に膨大な量の情報かあり , 煩雑な家事や居住環 境を快適に保っための設備機器の取り扱いなど こまごまとした家庭内の情報処理をコンピュー タがしてくれたら , 私達は大きなゆとりを手に 入れること ' ができるのではないか・・・」というの が目的だそうてす . そして . あくまてショーに出 するのが目癶ー , 即商品化するものてはありません . 日立ては , 小ームコンビュータの応用分野を大さ く 2 つに分けています . ① HEUS (Home Entertaiment & Utility System) 思考ゲーム , 教育 , 生活情報処理などを供 給するシステム . ② HMCS (Home Management & control System) 住宅環境の快適性の維持を中心に安全性 , 経済性 , 省力化を目的とする . ホームコンビュータ外観図 支 出 っているかなどのデータを参照して表示装置に 『おすすめメニュー」が表示され , そのメニュ ーに必要な総菜が何 g かとか , 料理の手順・方 法が表示案内されます . このプログラムはメモリに書き込まれたもの , あるいはテープに記憶されたものから表示され るわけですから , 定期的にプログラムをメーカ ーの供給するカセットテープなどでする必要が あるかもしれません . 3 家計簿の管理 やはり , ブックタイプのキーポードから簡単 に入力でき , いつでも家計の状況が一瞬にわか るようになっています . もちろん , このような 処理を行なっている間も , きちんと田の処理を しているわけで , 家計薄をプリンタなどで印字 出力中の改行のときなどチョッと印字を休む瞬 このとさに田の処理を 間かあります . 「アー しているのだなアー」などとうなすけます . ・社会環境の向上と共に広がる応用範囲 図を見ればわかるように , ホームコンビュ ータの持つ可能性ははとんど無限であり , また 広がっていくでしよう . たとえば , ホームコンヒ。ュータは電話帳や 住所録の役割を果たすでしよう . 必要な電話番 号は一瞬のうちにテレビ画面に写し出されます . そして将来 , 直接そこにダイヤルする機能を持 つようになるでしよう . また , 今よりもっと社会環境が整備されると , CA P TA 爪ー SY S T E M の利用や衛星放送などを 受信し , ホームコンヒ。ュータて画像化処理を 行ない , これらのハ - ドコビーなどを取り出す ということなど , ファクシミリと同じ機能を持 つことができるでしよう . このようにホームコンビュータは , 家庭に 取り入れられていくと予測されます . これによ って私たちの暮らしは , より創造的で , より豊 かな未来に向かって変わっていくのではないて しようか ? その意味で , ホームコンヒ。ュータシステム は , 管理・制御という固苦しい言葉の持つイメ ージとは逆の , より人間的な社会を作るための 大きな役割を担ってくれるのではないでしよう ・資料提供日立製作所 こで紹介するホーム・コンヒ。ュータは H M C S を目的とするもので , このシステムのソフ トウェアとして 3 通りのテーマについて開発し 試作品でのテーマ ①住宅環境の快適性の維持管理 , 安全の確保 冷暖房の自動制御 , たとえばソーラーハウス の暖房で陽が陰ったときはホイラーに切り換え る . また , 室温が下がったらすぐ無駄なく加熱 するなど , リアルタイムで冷暖房の自動制御 , 安全防災を行ないます . もちろん , リアルタイムといっても室温のモ ニタリングは 1 秒に 1 回ぐらいやってもよいわ けで , この処理だけでコンビュータの処理能力 全部を占めているわけではありません . ・照明採光 ・自動給湯 ・風呂の湯温調整 , 湯量管理 ・バネルヒータ制御 ・家電製品の使用状態監視 ・防災・安全 ( 漏電 , 漏水 , ガス漏れ , 戸締 まり , 盗難防止 ) ・炊飯器のスイッチの入・切 などが考えられます . また , 外出先から電話回線て「ちょっと今夜 は帰りが遅くなるから , 風呂の給湯開始時間を 3 時間遅らせよう」などということも可能にな ります . を ・電話回線の利用や , 家庭内制御配線の問題点 ホーム・コンビュータを実用化するには , い くつかの問題点があります . ・電話では他人にコントロールされる危険が あります . ・現在 , 各家庭にある製品を制御しようとす ると , 制御用に新たに配線が必要になりま す . これを避けて電灯線を使って信号をコンビ ュータに送ることもできますか , これには 隣りの家に同一のシステムがある場合どう するか , というような問題があります . 2 お料理の献立検索 たとえばホームコンヒ。ュータの入力装置に は , 「献立』というべージかあります . このペ ージを開いて , 「 1 人前の予算は , 約 300 円にし たい」とか , 「魚貝類の料理にしたい」とかい うようにキーインすると , 冷蔵庫に何が現在残
プログラム 3 プログラムの繰り返し処理中の 図 3 メモリ・ダンプ レジスタの値 最初 0 ( J A L ) * 注 ( J A L + 1 ) ( J A L + 2 ) ( J A L + 3 ) ( J A L 十 4 ) ( J A L 十 5 ) ( J A L + 6 ) ワっ 0 4 戸 0 ー 2 ・ 16 進数形式で プリント出力 注 ) (JAL) は JAL 番地の 内容を意味する 読めるでしよう . さっそく実行してみましよう . 4 つの数 値がプリント出力されていますね . 〃頭で描いた値と同じ になりましたか ? こで大切な数値を 2 つ紹介します . COM P- X で表現 ~ X “ 7 F F F ”で できる最小最大値は , X - 8 0 0 0 " す . 10 進数では一 32768 ~ 32767 となります . よく最小の値 を X F F F F " ではないかと考える人がいますが , これ は一 1 のことです . さてここでもう 1 つ面白いプログラムを作ってみましょ う . それは , メモリ・ダンプのプログラムです . 今まで勉 強した命令だけで充分なのです . プログラム 2 を見てください . このプログラムを見てま す目に付くのは , やはり繰り返し処理ではないでしようか これは前月号で説明 ? そうです . 図 2 を見てください . したのと同し繰り返しノヾターンです . こでは 7 回繰り返 し処理が行なわれているのに気付くでしよう . それでは , どんな処理を 7 回しているのでしよう ? L D 0 , J A L, 1 またまた指標レジスタ指示がありました . もう大分慣れ この意味は図 1 を見ればわかるように てきましたか ? ( J A L + レジスタ 1 番の内容 ) 番地が実効アドレスになる ので , その実行アドレスの内容が汎用レジスタ 0 番に持っ て来られます . それでは , 指標レジスタ 1 番の内容はいく らかというと , プログラム 4 プログラム 3 と同等処理を BAS ℃言語で書くと 10 DIM SFC ( 10 ) 20 FOR I = 1 TO 10 30 SFC ( 10 ) = I 40 NEXT I 50 EN D によって , 汎用レジスタ 1 番の内容は次々と 1 すっ加算 ( イ ンクリメント ) されるので , 繰り返し処理ごとに J A L 番地から J A L 十 1 番地 , J A L + 2 番地・・・・・の内容が 16 進数でプリントされていきます . 絶対番地では , 32 番地から 38 番地までのメモリ内容が出 力されます . この結果を見て , 『ん , これは機械語だ . ク』と すぐにわかった人は , だいぶ CAP- X を知っている人です . 機械語については , 後で説明します . 「こんなものかー』と いう興味を持っておいてください . 繰り返しのところを図 3 に示したので , この図とにらめっこして , もう一度プロ グラムを読んでみてください . (Sto re) 仕様書より 2 進 16 進 ック 読み方 表示 表示 表示 指定された G R の内容を , 実 S T Store 効アドレスで指定する語に入 れる . GR の内容は変わらない . 前の L D 命令は実効アドレスの内容を指定した汎用レジ スタに入れる命令でした . 今度は , その反対にあたる S T 命令について説明します . S T 命令は , 仕様書にあるよう に指定した汎用レジスタの内容を実効アドレスにしまう命 令です . 当然のことですが , この S T 命令が実行されても その汎用レジスタの内容は変わりません . ついでですから , W RITE 命令を行なってもその汎用レ ジスタの内容は変化しません . 出力命令をすると , レジス タの内容が破壊されるのもあるのですが , ではシミュ レーションしているために変イヒしません . では , プログラ ム 3 を見てください . このプログラムは , ラベル S F C で始まる番地から 10 語 L A I とあるので最初は 0 です . ですから , 1 回目は ( J A L + 0 ) 番地 . 絶対番地では 32 番地の内容が汎用レジスタ 0 番に入れられます . ところ が , D 1101 1 L A I 繰部 の要 3 主 ムの グ処 図プ返 LAI IBM 1 , 1 , 1 3 , 246 , 1 3 , IBM 2 ー 2
図 5 プログラム 3 の繰り返し処理中のレジスタの値 R 1 R 1 R 3 0 → S F C * 注 247 0 → S F C 十 1 248 0 → S F C 十 2 249 0 → S F C 十 3 250 0 → S F C 十 4 251 0 → S F C 十 5 252 0 → S F C 十 6 253 0 → S F C 十 7 254 0 → S F C 十 8 255 0 → S F C 十 9 10 0 注・ R 0 は常に 0 です . →は 0 を実効番地にしまうことを意味する . ( ワード ) 分の内容を 0 クリアするプログラムです。ある 己憶場所を 0 クリアすることは一般によく使われます . これを BASIC で書くとプログラム 4 のようになります . それでは , CAP- X のプログラムに戻どって説明していき ます . このプログラムを見ても , 繰り返し処理が目に入る と思います . 図 4 にその主要な部分を抜き出してあるので , それを見てください . まず , 汎用レジスタ 1 番は最初は 0 にしておき , 次々と ・・というふうに変化させていきます。その 0 ~ 9 まで変化する値をうまく利用して , 汎用レジスタ 3 番はま す 247 から始まり , 248 , 249 , ・・というようになります . これを図にしたのが , 図 5 です . この図をみると大変よ くわかりますネ〃ただ汎用レジスタ 3 番の最後が 256 で なく 0 になっています . これを使って , ループの最後を調 べるのですから , 第 2 回目の間題で暴走したあなたは , のあたりを注意してください . そう , あなたですョ / ′ もうこれだけ繰り返し処理について説明すれば , 充分に 理解できたものと思います . このパターンは情報処理試験 によく出て来ます . それでは , 次にループの中の処理を見てみましよう . こ の場合は , I B M 。ゞ S T 0 , = S F C , 1 という 1 ステップだけです . ここにも指標レジスタ指示が ありますが , もうだいよ理解していただけたと思います . そうです . レジスタ 0 番の内容は , プログラムの最初で 0 クリアされています . さらに指標レジスタ 1 番 ( 汎用レジスタ 1 番と同し ) は , 図 5 で示したような値をとっていくので , 最初は ( S F C + 0 ) 番地に 0 をしまい , 次は ( S F C + 1 ) 番地・・・・・最 後は ( S F C 十 9 ) 番地に 0 が入れられて , 繰り返し処理 が終了します . こで 1 つ新しい命令があります . R 0 最初 1 っっ 0 -4 一 0 t"— 8 0 ワっ 0 4 L.n ー 8 仕様書より RESV n には 10 進数を書く . n 語の領域を確保することを指示す る . プログラム格納時には , その領域の内容は変史されない . とありますが , これは記憶場所を確保するための命令です . ですから , この場合 , S F C 番地から始まる 10 語 ( ワード ) 分の記憶場所が確保されます . この RFSV 命令にラベルか ある場合は , 確保されるエリアの先頭番地が割り当てられ この例では , S F C は , 27 番地になります . またオペラ ンドの値は , 10 進数で規定されていることにも注意してく ださい . さっそく実行させてみましよう / ′ このプログム には , プリント出力命令がないので何も出力されていませ ん . 1 , 2 , 3 ・ 今回は昭和 46 年度の 2 種に出題された問題を宿題として 載せました . また , その答をプリント出力する問題を応募 問題として取り上げています . 逆アセンプラなどがこれで 自由に組めるようになったと思います . 本当にアセンプラ はすばらしいですね / ′では , またお会いしましよう / ′ CAP-X 応募問題 2 今月の練習問題 3 の答を出力するように , プログラムを追加 してください . 空白のところにプリント出力命令を追加して , 32 番地から 41 番地までの内容を 10 進数でプリント出力させるプ ログラムを作ってください . START 32 RFSV 10 LA I ST 1 , WS1s 1 LA I 1 , 1 , 1 LAI 0 , 246 , ~ 1 0 , LI JNZ この部分のプログラムを作ってください . WSI 練習問題 3 次に示すプログラムを実行させた後 , 32 番地から 41 番地まで の内容はいくらになりますか ? 10 進数で答えてください . S TA RT 32 WSI RESV 10 ST JNZ CON S T CON ST END 8400 D520 HJ CONST- CONST EN D 1 , IO 1 , WS 1 , 0 , 246 , 1 8400 D520 1 1 応募問題を送るときの注意 @) コーディングは正確にていねいな文字で書いてください ②処理代金 Y100 は , 定額小為替にしてください . ③返信用封筒に 50 円切手を貼って , 郵便番号・住所・氏名を明記してください . ④コーディング用紙がない場合は , 普通の紙に住所・氏名・年令・ 4 月号応募 問題と明記のうえラベル・メイレイ・オペランド欄を区分けしてお送りください . ⑤〆切は 4 月 20 日の消印まで有効です . 速達で送る必要はありません . ⑥送り先 〒 673 明石市大明石町 1 ー 2 ー 35 ルモン明石公園 903 号 明石ミニコン研究会事務局神代俊明 ( 類題 昭和 46 年度 2 種 ) 213
1 種に戦しよう 情報処理技術者試験用アセンプリ言語 勉強室 3 明石ミ ニコンる幵究会 例会での結果 表 1 明石ミニコン研究会 練間題 ( 2 ) 氏 ~ ー名 応募問題 x 1 のみ出力 x 1 ~ 9 出力 x 70 ~ 64 出力 暴走 x 3 のみ出力 >< 暴 暴走 〇 暴走 x 暴 x 暴 提出せす 〇 提出せす x 1 のみ出力 x 70 のみ出力 暴走 〇 x 1 ~ 9 出力 x 暴走 文法工ラー 提出せす 正解率 5 / 16 = 31 % 6 / 13 = 46 % ョンをマイコンで動かすことを考えています . 現在は PET で動くのですが , 通産省の意志からいって特定のコンピュ ータではいけないので , この言己事が出る頃までにすべての マイコンで動くようになっているでしよう . 事務局宛に問 い合わせてください . また , I / 0 の編集長も CA P- X のマイコン版の記事を載 せるといってくださっていますからご期待ください . クマ イコンで動いて初めて机の前で勉強ができるようになるの ですから , ユートピアに一歩一歩近づいていきましよう〃 0 0 0 前回の応募問題と宿題はいかがでしたでしようか ? 始め から , ループ処理のプログラムを作るのは , 少し難しかっ たかもしれません . しかし , あの 2 つの命令 (LAI, JNZ) だけで , ループ処理ができるのですから , アセンプラ言ロ き五 もすみに置けないでしよう . 明石ミニコン研究会では , 皆さんと同しように , 今年度 の 2 種合格を目指す 19 名のメンバーで毎月 1 回 ~ 2 回研究 会を行なっています . この研究会で , CAP- X の問題をプ ログラミングした結果が表 1 です . 暴走が目立ったようで このように実際に処理ができるので暴走することか わかったのです . 試験のときに初めて CAP ・ - X の仕様書を読んだだけでは , おそらく合格証が暴走してしまい , 消えていってしまうこ とになるでしよう / ′しかし , これから何回も処理させる ことによって , 10 月までには , 「確実』に , 「短時間』に正解 が得られるように頑張ろうと確認し合って , 1 回目の例会 を終わりました . 解答例はいろいろあると思うのですが , 例会での正解例の 1 つを表 2 にまとめて載せておきます . 明石ミニコン研究会では , この CAP-X のシミュレーシ プログラム 1 CAP—X CROSS ASSY BY OKITAC 43D ロ B 50 START 2 , 6 1 3 , 角 , 2 ロ , 1 ロ W R I T E 1 , 1 ロ W R I T E 2 , 1 ロ W R I T E 3 , 1 ロ W R I T E 0 , S HJ CONST ロロ 2 ロ CONST 7FFF CONST CONST END ASSEMBLE END 003E 32 327E7 3 ー 32768 仕様書より 2 進 16 進 モ 能 読み方 三ック 表パ表示考示 実効アドレスで指定する語の 1100 C L D Load 内容を , 指定された G R にセ 機 それでは , 今月の新しい命令を勉強しましよう . ます , L D 命令は仕様書にあるように , 実効アドレスで指定した記 憶場所の内容を指定した汎用レジスタに入れる命令です . こで実効アドレスの求め方が少し難しいのです . しかし , 1 度覚えると , 後は簡単なので , 2 つの例題を使って説明 209