int C というように , 変数 a , b, c が宣言されたと する。すると , a は定数 , b は変数 , c は初期 値のある変数となる。 定数 a は , ROM に割り当てる。プログラ ム中て、 , 10 ; a のような代入を書くと , コンパイラはこれ をエラーにする。つまり , 定数 a の値は変わ ることがありえない。このような変数は ROM に割り当てることがて、きる。 一方 , 変数 b は , RAM に割り当てる。 WSL C は変数の定義と参照が比較的はっきりして いる C 処理系て、 , 変数 b のような宣言は , int b と同じ扱いになる。このような 0 に初期化さ れている変数 b は , b に何かを代入をする前 などとすると x の値は 0 になるが , のような代入も許される。つまり , 変数 b の 値は , 最初は 0 て、 , その後 , 値を変えること がて、きる。このような , 初期値が 0 て、ある変 数は RAM に割り当てることがて、きる。 変数 c は , c へ何かを代入する前に としたとき , x の値は 2 にならなければなら 20 : C としても , コンパイラはエラーにしない こうすることによっ int C ; このような場合 , 変数宣言を , このような変数は使えない がて、きない。したがって , ROM 化するとき 変数 c は ROM にも RAM にも割り当てること 後て、値を変えることもて、きる。このような つまり , 最初に 0 以外の初期値があり , その としておき , 変数 c を使うよりも前に関数内 56 CMAGAZINE 1990 11 と初期化すればよい て , て , 変数 c は初期化の必要のない変数とな り , RAM に割り当てることがて、きる。その 後て、あれば , 10 ; C も , なんら間題はなくなる。 しかし , もし , 10 ; C のような変数 c への代入がプログラム中に存 在しないのて、あれば , 変数 c を最初から ROM に割り当てることがて、きる。これもひとつ の解決方法て、ある。 しかしながら , 本来 , 静的変数は書き換 え可能て、あるから , コンパイラはプログラ ム中に , 万が一 , 上のような代入式が存在 していても , 工ラーとして検出することが て、きない これを解決するには , 定数 a のように const C と , 変数宣言をすれば , 工ラーとして検出 て、きる。プログラムの書き方としては , のほうが望ましいといえる。 結局 , ROM 化可能なプログラムとは , int C の形に代表される初期値の必要な静的変数 を ROM に割り付けてしまっても問題のない ようなプログラムて、あるといえる。また , 逆に , 初期値の必要な静的変数のないプロ グラムは ROM 化可能て、あるともいえる。 悪しプロクラム ある。コーディングの際には , そのような に検出することが不可能になっているのて、 の不完全さによって , コンパイラが自動的 ポインタの扱いに起因する型チェック機構 そして , それらの大部分は , C 言語における にもかかわらず , 「悪い」プログラムもある。 が , その一方て、 , その原則が守られている 変数宣言については以上のとおりて、ある プログラムにならないように注意する必要 がある。 たとえば , マナーの悪いプログラム (List 1 参照 ) はエラーにならす , しかもリテラル て、ある文字列定数、、 abc 〃を書き換えようと する操作がある。これは , 基本的に全メモ リ空間が RAM て、あるパソコンや評価ポード などの上て、は実行可能て、あり , ROM に焼き 付けたとたんに実行不可能になる。 これをコンパイラがエラーとして検出て、 きるようにするためには 3 行目の宣言部を , const char * p , とすると , 6 行目て、コンパイル時にエラーに なる。すなわち , p は 5 行目て、文字列定数へ のポインタ値を代入しているのて、あり , p の 宣言に const をつけて , はじめて記憶クラス も含めた型の整合性が保たれることになる のて、ある。 H8 / 500 のメモリモテル H8 / 500 はそのアーキティクチャから 8086 のようないくつかのメモリモデルが考えら れる。これらは CPU のハード的なモード設 定によるミニマムモードとマキシマムモー ドにもよる。 ニマムモードて、は , ページレジスタは すべて無効になる。したがって , コードベ ージレジスタ ( 以下 CP レジスタ ) とデータベ ージレジスタ ( 以下 DP レジスタ ) , 工クステ ンドベージレジスタ ( 以下 EP レジスタ ) , ス タックベージレジスタ ( 以下 TP レジスタ ) は すべて同じ値て、ある , という状態になる。 この状態て、は , プログラムとデータは同一 のアドレス空間上にあり , 全体て、 64K バイト のアドレス空間があることになる。これは いわゆる 8080 モデルに相当する。 ニマム モードて、はこれ以外のメモリモデルは考え られない マキシマムモードて、はペーシレジスタの 使い方て、 8086 と同じような数種類のメモリ
最新 コンバイラレポート ソフト開発用に最適′ 豊富に揃った C 言語用 ライプラリ 1 . マルチ画面ライフラリ ( キャラクタータイプ ) TabIe 3 テスト結果 番号 〔容量約 20KB 定価 2 万円〕 画面テータの、 C 言語の関数コール及びデ ータファイルの読み込みの両方で作成を 可能にします。作成したマルチ画面は、キ ーボードからの入力も可能。しかもマルチ 画面は階層的に表示し、メニューをマウス クイックすることにより、設定した関数ポ インタへのコールが行えます。テータ部の メモリー容量は 64KB ( 標準画面約 10 枚分 ) まで指定可能です。 判定 テスト内容 円記号で終わる行の連結処理 コメント , 文字列リテラル連結 トリグラフシーケンス limit. h froat. h 識別子の有効長 スコープ規則 ( 変数名とラベル ) スコープ規則 ( メンバ名 ) テータ型 (long, double, unsigned, signed char) 型指定子 unsigned, long 型定数 文字定数 Ox 幵 工スケープシーケンス wcha 「 -t 型 int 型定数の型変換 float 演算 配列 , 関数のポインタ 関数へのポインタ変換 void 型へのキャスト void 型汎用ポインタ 関数プロトタイプ 十単項演算子 右辺値の sizeof 構造体の代入 , 関数への引渡し , 戻し スコープ規則 const 型指定子 vo t ⅱ e 型指定子 引数省路 関数プロトタイプ 構造体 , 配列の初期化 変数の初期化 switch, case 文のテータ型 stati c の仮定義 条件っきコンバイル マクロ定義名でのインクルード # define トークン連結 , マクロ展開 # pragma 定義ずみマクロ errn 0 変数 0 幵 setof 関数 assert マクロ ctype. h locale. h math. h setjmp. h signal. h stdarg. h stdio. h, 複数回インクルード FOPEN-MAX, FILENAME MAX 記号定数 ファイルストリーム関数 rename, remove 関数 scanf, printf, ungetc 関数 可変長引数 fsetpos, fgetpos 関数 stdlib. h st 0 ⅵ関数のテスト 子プロセス関数 div, 旧ⅳ関数 string. h St 「 e 「「 0 「関数 time. h x △〇〇 x 〇 x 〇〇△〇 x 〇〇〇〇〇 x △〇〇〇〇〇〇〇〇〇〇〇〇〇〇 x 〇〇〇〇 x 0 〇〇〇〇〇 x 〇〇〇〇〇〇〇〇〇〇〇〇 x 〇〇〇〇〇 9 っ一 7 5 8 6 8 7 0 っ 4 6 6 5 5 っ 4 ( 0 3 4 8 0 3 4 5 6 7 8 9 0 1 2 3 4 5 6 8 9 0 1 ' 3 4 5 6 8 9 1 2 ( 0 5 6 8 9 0 1 2 3 4 5 7 9 0 1 っ 4 3 4 5 6 8 9 0 1 っム 3 4 6 7 1 っ 4 3 4 5 6 7 9 1 1 1 1 1 1 1 1 っ 4 2 2 っ 4 2 2 2 っ 4 2 3 3 3 3 3 っ 0 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 2. グラフィック・ライフラリ 〔容量約 1 .5KB ~ 定価 5 千円 ~ 〕 グラフィックドライバー、凵 O 、 BIOS を C 言語からコールするライブラリー及び、 BAS ℃等と同じウインドウ機能を持たせ る拡張ライブラリーです。 3. マウス・ライフラリ 〔容量約 1 値段 5 千円 ~ 〕 マウスドライバー・ BIOS を C 言語からコ ールするライブラリーです。マウス割り込 みによるユーサー定義サブルーチンを C 言 語で作成可能です。 4. RS ー 232C ・ライフラリ 〔容量約 1 KBæ値段 5 千円 ~ 〕 RS -232C の B ℃ S を C 言語からコールす るライブラリー及び拡張入出力ライブラリ ーです。標準・拡張ボードそれぞれからの 操作が可能です。 ・マルチ画面ライブラリー以外のライブラリーはアセ ンブラソースの提供も可能です。 ・出荷品には取り扱い説明書及びサンプルソフト (C 言語ソース ) が付いています。具体的な使用方法の 確認、テスト等はサンプルソフトで簡単に行えます。 ・上記のライブラリーは NEC の PC -98XA 、 PC- 9801 L V で開発、動作確認しています。ハイリゾモ ード、ノーマルモード両タイプを用意しています。 OS は MS-DOS(Ver3. 3A ) 、開発ツールは MS - DOS マクロアセンブラ ( Ver2.0 ) 及び MS-C (Ver5. 1 ) を使用しています。 PC シリーズの他の 機種での適合性は確認していません。 ☆詳しい資料をこ用意致しております。 お気軽にお申し込みください。 ☆購入後、使用不適合とわかった場合は一週間以内に こ返送ください。 ( おそれ入りますが送料はこ負担願います ) ※ MS - DOS および MS - C 、 MS - DOS マクロアセ ンプラはマイクロソフト社の登録商標です。 0 資料請求・こ注文は 62 円切手同封の上、直接下記住、 所まで封書にてこ連絡ください。 ※電話は対応不可能な場合 ( 留守電 ) がありますのでヨ こ遠慮ください 6 〒 571 大阪府門真市下島町 9 の 16 石川聖昭 ( TEL07 加ー 81 ー 87 留守番電話 ) く資料請求番号 158 〉 最新 C コンバイラレポート 1 141
( 対応機種・ OS ) PC980 ーシリーズ ( ハイレゾルーションタイプを除 0 、 MS-DOS Ve 「 3 は以上 ( 対応コンヾイラー ) TS 3 凵 本ソースライプラリーでは、画面表示、テータ入力用の関数を提供しま魂 本ソースライプラリーでは、画面フォーマットファイルを使用することにより、入力位置、裄数、 タイトル ( 固定文字 ) の指定か随時可能となっていま魂 また、本フォーマットファイルには、入力テータの編集の条件、表示色、ボックスサイズ、ボック スカラー、第線、初期テータなとの各種バラメータの設定も可能ですから、プログラム作成後 でも、上記項目についての変更か可能となっていま魂 また、ウインドウ単位で上記フォーマットファイルを設定しますから、かなり複雑な処理も可能 で魂 更に、メニューで設定されたウインドウでは、メニュー選択の処理関数を用意していますので、 ユーサーは本関数を呼ぶだけでメニュー選択処理か出来ま魂 フォーマットファイルで設定可能な項目は次の通りで魂 1 ) ウインドウタイトル 2 ) ) ウインドウ表示位置、サイズを設定 ウインドウポックスカラーの設定 3 ) 4 ) ウインドウ左右スクロール単位の設定 ウインドウ罫線モードの設定 5 ) 6 ) 入力項目への初期値の設定 入力項目のアトリヒートの設定 7 ) 表示イメージはそのままで、入力位置、桁数、固定文字を設定 8 ) 本ソースライプラリーではコ SAM を C で使用可能にするための関数を提供しておりま魂 ー SAM ファイルは、テータ部分とキーテータ部分を独立して管理しており、 1 つのテータを検 索するためにし h< つかのキーを設定することが出来ま魂 また、呼び出し時には設定キーてテータを呼び出すことか出来ますから、テータ管理か格段に 楽になりま魂 主な機能は次のとおりです。 1 ) ファイルに登録されたデータをキーを使って管理することができます。 2 ) 設定可能キー数は最大 45 キーです。 3 ) 同時アクセス可能キーは最大 1 0 キーです。 ( キー問の条件付検索はできません 4 ) キー名称は最大 16 文字です。 、。 MS-C Ve 「 4.0 以上 (Microsoft) Lattice C Ve 「 3.0 以上 (Lattice) Quick C Ve 「 1.1 以上 (Microsoft) TURBO C Ve 「 1.5 以上 e(BORLAND) ※上記会社名、製品名は各社の商標または登録商標です。 また、入力テータの編集について次の機能かありま魂 1 ) 入力文字種の限定 2 ) 入力データの右詰め表示 3 ) 数字の右側入力 4 ) 数字の 0 抑制表示 5 ) 入力数字データをカンマ付数 字に変更して史表示 本ライプラリーのその他の仕様は 次の通りで魂 1 ) マルチウインドウ処理が可能 ( 最大ウインドウ数はメモリー の限界まで ) 2 ) 入力桁数は字まで 3 ) フォーマットファイルに設定され ている機能の解除、または機 能変更 4 ) 表示ウインドウのスクロール を用下 制をち のル持 一ーアれ フ流 O トの 画一すは フ当 関のて関 ン下がン ク 4 るク郡 ュ 6 すス <—• 私島ヒ・ル 処理を経り返しますか いいえ し E D S*VOL 5 ) キーとしてイ吏用可能なデータの型は char,lnt. unslgned int,long, unsigned long double です。 6 ) キー長はキーの型を char で指定したとき最大 128B です。他の数値型の場合はそれぞれの 型のサイズによります。 7 ) 最大レコード長は 32KB です。 8 ) 最大レコード件数は 232 ー 1 件です。 ( 実用的な件数は各キーのデータ型によります ) 9 ) 検索方法は指定キーに対しての一致データ検索。また前回検索データについて昇順検索 及び降順検索が可能です。また、一致キーがなかったときは、検索キーに最も近いキーを検 索します。 10 ) 検索速度は各コンバイラー、キー長、データ長に依存します。 11 ) 入出力関数には簡易アクセスタイプと高速タイプの 2 種類あります。 本ソースライプラリーでは、フォーマットファイルを使用した各種ヒジネスグラフ作成関数を提 供しま魂 フォーマットファイルを使うことによって、プログラムの変更なしにクラフの種類、テータの項目 数、グラフの表示位置・色・サイズ・種類・各種文字修飾の有無・タイトル等を変更することかで きま魂 ( 通常ユーサーか使用する関数は 1 個だけで魂 ) また、表示用のテータはテータファイルから取り込む方法と、アプリケーションプログラム中で 渡す方法かあり、用途により選択できま魂 作成できるクラフは下記の 5 種類ですか、これらには多数のバリエーションかありますので、組 み合わせによっては数百におよぶグラフを作成することかできま魂 1 ) 棒グラフ ( ビラミッドグラフを含む ) 2 ) 折れ線グラフ 3 ) 円グラフ ( ドーナッグラフを含む ) 4 ) レーダーチャート 5 ) 散布図 上記グラフ作成時の凡例、各テータに対応する線種、色、ハッチングバターン、項目名座標の ・プログラム開発ツールシリーズ C SCO 通常、プログラムを作成しても、テスト用テータの作成、作成後のテータ 1) レコードの定義はプログラム起動後に定義する方法と、 inc de ファイルで指定する方 法がある の内容の確認など、本体プログラムの作成以外の労力で結構手間取るこ 2 ) 使用可能データファイルは固定長データファイル とかあるものです。そこで、登場したのか、「 C DATA SCOPE 」で魂 3 ) レコードの初期設定 ( 一括指定、部分データの設定 ) 「 C DATA SCOPE 」は、 C での st 「 uct の表記で、レコードのフォー 4 ) レコードデータの変更 ( 引「 u で記述された型での入力が可能 ) マットを記述することにより、プログラムで使用するファイルのテータをア 5 ) レコードデータの削除 6 ) レコードデータの追加 クセス可能にするもので、次のような特徴かありま魂 7 ) 画面上での指定データの検索、表示 8 ) レコードデータのダンプ ( 打ち出しフォーマット、打ち出しデータの指定が可能 ) アイセル株式会社 資料請求 No. 163 〒 1 71 東京都豊島区池袋 2 丁目 53 番 8 号秋島ピル 5F TEL. 03 ( 988 ) 6973 ( 代表 ) 設定、刻みなどの項目もフォーマットファイル中で指定できま魂 また、同一画面上に複数のグラフも表示可能です。 ( 1 グラフにつき 1 フォーマットファイルか 対応しま魂 ) また、現在あるデータをもとに将 来のテータを予測する、テータ予 測関数も装備していますので単に 既存のテータをグラフ化するにと どまらず一歩進んだプレゼンテー ションを行うことかできるものと思 われま魂 また、これらのグラフを作成するた こ用意された、グラフィック関数 や文字の拡大・縮小・第掛け等を 行う文字修飾関数は、単独で使用 することが可能です。 フ フ TS Vo 5 を・ 0. 一ここアデ WLLOX タタタタ 1 2 3 4 5 6 7 8 月月月月月月月月 お求め方法 お近くのパソコンソフト取扱店または弊社までご注文 下さい。弊社へこ注文の際は、メティアサイズをご指 定下さい。 ( 現金書留または振込 ) また、詳い、資料を ご希望のかたはお電話下さい。
DOS ヨールを使用している ーイプラリは使用できない ROM 化のプログラムて、はパソコンとは違 う構成になっているため , DOS 上とは別の 環境て、走行する場合も少なくありません ( Fig. 3 ) 。このようなシステムて、は , たとえば List 8 : 7 : 6 : 5 : 3 : 2 : BSS セグメントに生成 int datal; func() static int data2; return( 0 ) : i nt / * datal / * data2 Fig. 6 ROM 化時のメモリマップ 00000000 00000004 00000008 RAM ROM putchar( 'A' ) ; を使用すると DOS コールの 1 文字出力の機能 が呼び出されて , DOS コールが呼び出され た段階て、暴走してしまいます。 C 言語て、はラ イプラリが簡単に使用て、きるため , 無意識 のうちになじみの関数を使用してしまう場 合も少なくないて、しよう。このため LSIC-86 のように stdrom. h というへッダファイルを : BSS セメント * / : BSS セメント * / ( シャドウ ROM ) 番地に射影される 先頭の 8 ノヾイトが 0 ~ 7 リセット時だけ ROM の 通常の CPU ボードでは BSS セグメント スタック領域 イニシャル PC イニシャル SSP DATA セグメント TEXT セグメント ROM 化 考察 用意して , ROM 化可能なライプラリを明確 にしているコンパイラもあります。 また , ライプラリに関しては DOS コール 以外にも初期値をもったデータの書き換え やプログラムコード自体の書き換えなどを 行っているかどうかにも注意する必要があ ります。最近のコンパイラはある程度 ROM 化を意識している部分がありますから , DOS コールを使用していない関数て、は通常 ROM 化が可能なコードとなっています。 DOS コールを使用している ライプラリを使用する方法 どうしても DOS コールを使用する関数を 使用したい場合は C コンパイラのライプラリ のソースリストを別途購入して , ソースリスト を修正するのが確実て、しよう。 もうひとつの方法は ROM 化システム上て、 DOS コールをエミュレートすることて、す。 MS-DOS て、あれば , DOS ファンクションの INT21h をエミュレートすればほとんどのラ イプラリが使用て、きるようになります。し かし , このエミュレートはかなり大変て、す から , 実際は使用したいライプラリが使用 しているファンクションに的を絞って , 少 しずっ使用て、きるライプラリを増やしてい くことになるて、しよう。 0 イ可能なライプラリ ROM 化可能なライプラリは処理系によっ て異なりますが , 一般的に以下のライプラ リは ROM 化可能なはずて、す。 Table 1 に示 した以外て、も , それに類するものは ROM 化 可能なはずて、す ( ただし , ROM 化にあたっ てはその処理系ごとに確認してください ) 。 特集 ROM 化プログラミング考察 41 ロ
新登 0 十十 Version20 お待たせしました′ Version 20 新発売 そして、 AT&T C 十十日 el.2. O 準拠の完全日本語対応 C 十十、 MIWA C 十十 Ve 「 sion2.0 が発売となりました。 ・導出クラスか直接ーっ以上の基底クラスを持つような多重継承か可能。 ・非 C 十十コードとのリンクを明示的に宣言可能。 ・ ANSI C との互換性を向上させるためにキーワード volatileii 追加。 ・ static. const. および volatile なメンヾ関数を宣言可能。 ・純想関数を用いて、抽象クラスを宣言可能。 ・演算子 new と d ete を多義化して、クラスことに宣言可能。 ・テストラクタを明示的に呼び出せる。等々・ For More Advanced Serious Programmers C 十十は、 AT&T ベル研の BJa 「 ne St- 「 oust 「 up 博士により C の後継言語として設 計されたオプジェクト指向型の汎用プログラ ミング言語です。プログラミング言語として 広く普及している C の機能を全て継承しなが ら、更にクラス概念や仮想関数、多重継承な どの、数々の新機能を盛り込み、今や C に代 わる言語として全世界を席捲しつつあります。 MIWA C 十十は、 AT & T よりリリースされ ている AT & T Standa 「 d C 十十をベースに ミワシステムズコンサルティングが国産の PC 、 WS 向けにチューンアップを施した最新のプロ グラミング言語です。先進のオプジェクト指向 プログラミングのサポート、 C との互換性など の特徴はそのままに、さらに日本語処理関数に も対応しており、 90 年代のオプジェクト指向 型ソフトウェアの開発に欠かせない数多くの 新機能が拡張されていま魂 ・ MIWA C 十十の全製品が C 十十のソース・レ ベルで互換性あり。 ・コメント、リテラルに日本語の使用が可能。 ・日本語 FEP との共存が可能。 ・ MIWA C 十十に標準添付のライプラリの他 に、対応する C コンバイラの標準ライプラリ に含まれる関数も使用可能。 ・ MS ー DOS のシステム・コールをサポート。 (MS-DOS 版 ) ・ Mic 「 0S0 仗 C 準拠の日本語処理関数が使 用可能 0(NEWS 版 , 2 ロ 5 ロ G 版 ) MIWA C 十十のラインアップ SONY NEWS 対応版・ ・新発売 / Mic 「 osoft C V4.0 & V5.1 対応版・・発ノ中 SONY 日旧 C NEWS 対応版・ ・新発売 / TIJRBO C VI. 5 & V2.0 対応版・・・・・発ノし中 N E C EWS ー 4800 対応版・ 新発売 / 日立 HITAC E ー 7300 対応版・・・新発売 / 日立 2050G , 205 ロ / 32 対応版・発売中 ・・ ( 開発中 ) Panasonic BE 対応版 日立 205 ロ G , 2 ロ 50 / 32 ・・・・・ ( 開発予定 ) ・ IJNIX は AT & T 社の開発した OS て魂・ Mic 「 osoft. C. MS - ロ OS は、 Mic 「 osoft 社の製品で魂・ TIJ 日日 0 C は、 Borland 旧 te 「 nation 引社の製品で魂 ※ NEWS 版のユーサ登録がお済みでない方は、お早目にユーサ登録カードをこ返送願いま魂バージョン・アップのこ案内をお送りいたしま魂 ※ BBS を開局しました。ご質問、こ相談等お気軽にどうそ。 ( MIWA - NET. 045 ー 321 ー 675 ス 1200 / 2400b ロ s MNP5) MS—DOS 版統一価格 59800 円 IJNIX 版 売亠〔 CJNIX 版 〒 221 横浜市神奈川区台町 10 ー 15 株式会社ミワシステムスコンサルティンク Tel. ( 045 ) 312 ー 5418 ( 代表 ) ・ ( 045 ) 312 ー 2589 ( テック・サホート ) く資料請求番号 169 〉 0 0 0 0 0 0 0 0 0 0 0 0
P A R T S +C PARTS は、ソースファイルで提供していますので、必要に応じて機能変 更が可能です。 +C PARTS では、表示、印字等の処理を行う関数では、通常フォーマットフ ァイルを使用しています。フォーマットファイルを使用するメリットは、多少の変 更はアプリケーションプログラムの変更をしなくても、エデイター ( 市販のもの です。 ) で簡単に行うことができることです。 +C PARTS は、ライセンスフリーです。 C PARTS を使用して作成したアプリ ケーションプログラムに対しての、特別な契約をする必要がありません。 PARTS は、通常アプリケーション開発に必要と思われる画面制御、デー タ入力制御、帳票印刷制御、パーコード印刷制御い SAM 制御などの関数 をソースファイル形式で、しかも低価格で提供しています。 +C PARTS で提供する関数は、特殊な OS を使用する場合を除いて、基 本的には AN 引規格の関数を使用しておりますので、現在市販されている 一般的な C コンパイラーのほとんどで使用可能です。 (Lattice C, MS-C, QuIck C, TURBO C) O—PARTS—VOL. 本ソースライプラリーでは、フォーマットファイルを使用した帳票印字用の関数を提供していま 一般的に、帳票を作成する場合印字位置、印字桁数、タイトル文字、第線の印字など、一表の 帳票を作成する場合本体のプログラム、つまりテータの集計なとの処理よりも、前記の項目に ついての調整に多大な労力を費やすのか普通です。 そこで、本 C PARTS では、印字位置、印字桁数、タイトル ( 固定文字テータ ) 、第線の有無 については、あらかじめフォーマットファイルで作成しておき、プログラム本体の作業は単に順 番にテータを出力することのみとすることを可能としていま魂 また、フォーマットファイルは、専用工テイターを必要とせす一般的なエテイターで作成すること か出来るため、アプリケーションプログラム完成後でも、次の項目の変更か可能となっています。 1 ) 印字位置 2 ) 印字桁数 3 ) 罫線の有無及び罫線の種類 ( 太線、細線 ) 4 ) 固定印字文字の変更 また、アプリケーションプログラム中では次の項目の処理か可能となっていま魂 1 ) 日付文字列の印字 YY ・ MM DD 、 MM DD YY 、 YYYY 年 MM 月 DD 日、 YY 年 MM 月 DD 日の印字指定及び、 和歴変更が可能 2 ) 時間文字列の印字 、 hh 時 mm 分 ss 秒、 hh 時 mm 分の印字指定が可能。 hh : mm : ss 、 hh : m m 3 ) 数値データの編集 数値データに対して、 3 桁単位のカンマ付指定、通貨記号付加 ( 、 $ 、円 ) 4 ) 位置設定 データ印字時にフォーマットファイルの印字対象場所に対して、左詰め、右詰め、センタリング の指定ができます 5 ) 文字の大きさ データ印字時にフォーマットファイルの印字対象場所に対して、縦倍角、横倍角、縦横倍角、 指定ができます 6 ) 文字の強調 データ印字時にフォーマットファイルの印字対象場所に対して、強調印字指定ができます。 7 ) 網かけ データ印字時にフォーマットファイルの印字対象場所に対して、 3 種類の網掛け指定ができ ます。 8 ) アンダーライン付 データ印字時にフォーマットファイルの印字対象場所に対して、アンダーライン付印字ができ ます。 9 ) 上記 3 ) のカンマ付指定及び、 4 ) から 8 ) の機能を組み合わせて使用できます。 ( 実彳 ) ( フォーマット例 ) 下第のと・り第しまし 0 - P A 震 1 0 し . ー ・物い・・まして・ . よ・第・の第第に アイ第ル載ー興 ARTS•VOL. ソースラ 本ソースライプラリーでは、 PC9801 用プ丿ンター P 日 201 でバーコードを印字するための関数 を提供しま魂 バーコードの使用は POS 関連、配送関連など各種の流通業界だけでなく、最近ではロ M の 返信用はカに印字したり、招待状に印字することにより、応答の管理をしたり、自社製品にバ ーコードを付けることにより商品管理をしたりなど、いろいろな用途で使用されるようになって いま魂 本ライプラリーでは、フォーマットファイルを使用することにより、通常文字の印字位置、桁数、 バーコードの印字位置を随時変更可能とし、手軽にバーコードの印字を行えるようにしていま 使用可能なバーコードは次の通りです。 一般的な流通商品に付加されていて、通常は 13 桁のコードを使用しています。 1 ) 」 AN ただし短縮コードとして 8 桁も使用しています。 2 ) 主に配送個包のバーコードに使用します。 ITF 比較的初期に開発されたバーコードで、図書館の貸出しカード宅配便の配送用、 3 ) NW7 レンタルビデオなどで使用されています。 4 ) CODE39 1 ) ~ 3 ) のバーコードでは、使用できる文字が数字に限られますが、 CODE39 では 数字以外にもアルファベットが使用できます。 本ライプラリーでは上記バーコードの印字の際、必要な機能を全て提供していま魂 1 ) 印字バーコードの桁数の指定 2 ) チェックコードの付加 3 ) 印字可能文字のチェック 4 ) 印字バーコードの倍率設定 5 ) 付加数字の印字の有無
S 耐ⅷ 4 はしめに PROM の書き込み コンヒ。ュータの発達の速さには目ざまし いものがあり , 現在 , 私たちの身の回りに もマイコンを搭載した製品が広範囲に普及 しています。 パソコンはもちろん , カメラ , 家電製品 , 車 , 電話 , ワープロなど , マイコンを搭載 した製品は多品種化が進んて、います。これ らの製品には , マイコンを動かすためのプ ログラムが必要て、す。プログラミング用媒 P OM のノヾッケージの種類 マイコンを搭載した製品も「軽薄短小」プ ームのもとて、 , より軽く , より小さくする ことは製品開発の中て、も不可欠な要素にな っています。 パソコンも , デスクトップからラップト ップを経て , ノート ( ブック ) 型に移行しつ けされます ( TabIe 3 ) 。 佐藤文昭に = ナトエレクトロニクス ) つあります。製品の小型化への要望は部品 登場しパッケージの多品種化が進んて、いま ッドチップキャリア ) などの PROM が市場に ップキャリア ) , PLCC ( プラスチックリーデ ンラインパッケージ ) , LCC ( リードレスチ クノロジ ) 化した基板用の SOP ( スモールオ 近年て、は , SMT ( サーフェイスマウントテ 上により , 小型化する傾向にあります。 が主流だった PROM も , IC の実装技術の向 の小型化を推進し , 数年前まて、は DIP タイプ す (Fig. 1 , Fig. 2 ) 。 体としては , フロッヒ。ー ードディスク , TabIe 1 ROM ROM の種類 MOS CD-ROM などの外部記憶媒体と ROM, PLD などの IC 記憶媒体とに大別されます。 今回は , プログラミング媒体の中て、 PROM を中心に どのようにしてシステムプログ ラムを書き込むかについて説明します。 P OM の種類 ROM の種類は Table 1 のように分類され ます。 ROM ( リードオンリメモリ ) は読み出し専 用のメモリて、すが , ューザが自らプログラ ミングて、きる機能をもった ROM が PROM( プ ログラマプルリードオンリメモリ ) て、す ( Table PROM は , プログラミングが 1 回しかて、き ないバイボーラ PROM, 何回もプログラミ ング可能な EPROM ( イレーザプル PROM), EEPROM ( エレクトリックイレーザプル PROM ) に分類され , 目的にあわせて使い分 76 CMAGAZINE 1990 11 N M OS CMOS アクセス スピード 中速 中速 高速 消費電力 中 小 大 メモリ容量 中 大 TabIe TabIe 2 バイボーラ ROM の種類と機能 種類 PROM ROM 3 マスク ROM PROM の種類と用途 PROM 種類 EPROM EEPROM ノヾイボーラ PROM 機能 書き込み可能 書き込み不可能 用途 大容量ていちばん使われている オンボード用中心 高速処理 , 軍事用など中心
統合プロクラミング開発ツール 「 Saber-C 」 株アステック 「 C COMPILER PRO-68K 」 TEL 03 ー 477 ー 1541 長崎第一ビル 〒 150 東京都渋谷区道玄坂 1 ー 22 ー 12 問い合わせ先株アステック ( 1 年間のサポート料金を含む ) く価格 > 700 , 000 円 ( 近日対応予定 ) 降の OS, DECstation, VAXstation SunOS 4.0.1 以降の OS , JLE 1.0.1 以 く対応機種 > SUN3, SPARC シリーズの く C 言語仕様 > K&R 仕様 , ANSI C く動作環境 > 最低必要メモリ 8M バイト テーションての対応も予定されている。 また IBM, HP, Data GeneraI のワークス ーズ , DECstation, VAXstation(Ultrix)0 現在の対応機種は , SUN3, SPARC シリ 中断することなく行える。 り , これにより開発から保守まての処理が ー C 」は C 言語のインタブリタ機能を備えてお の変更などのカスタマイズが可能。「 Saber インタフェイスは , コマンド指定 , ボタン Sun View ) を利用したグラフィカルューザ れている。マルチウインドウ ( X Window, ソースレベルデバッガ , プラウザて構成さ リメンタルリンカ , 静的 / 動的工ラー検出 , 更 , テスト , 修正などを行うためのインク 「 Saber-C 」は , C プログラムの記述 , 変 ー C 」を日本語化し , 販売を開始した。 lnc. の開発した C 言語統合開発ツール「 Saber アステックは , 米国 Saber Software シャープ株は , 「 C COMPILER PRO ー 68 シャープ株 バージョンアップ 146 CMAGAZINE 19 11 C MAGA 京都マイクロコンピュータ株 DOS 工クステンダ「 EXE286 」 TEL 03 ー 260 ー 1161 〒 162 東京都新宿区市谷八幡町 8 問い合わせ先シャープ株 < 価格 > 44 , 800 円 < 動作環境 > メインメモリ 2M バイト以上 ・コンバータ (XConverter) など るツール。高速リンクが可能 複数のオプジェクトファイルを管理す ・ライプラリアン (XLiblarian) ・アーカイバ (XArchiver) 宣言された変数を参照 , 変更が可能 中のソースプログラムを行単位て実行 , フルスクリーンモードによるデバッグ ・ソースコードデバッガ (SCD) ・デバッガ (XDebugger) ・リンカ (XLinker) マクロアセンプラ 再配置可能なプログラムを作成て、きる ・アセンプラ (XAssembIer) してマシン語プログラムの開発が可能 ースプログラムに変換。 XBASIC をとお XBASIC のソースプログラムを XC のソ ・ BASIC-C コンバータ (XBAStoC) ライプラリをサポート リ , BASIC ライプラリなど , 約 800 種類の リ , 日本語ライプラリ , IOCS ライプラ ANSI 規格準拠。また , 標準ライプラ ・ C コンパイラ (XC) ツール , 機能は以下のとおり。 レベルデバッガを新たにサポート。おもな Human68K 上の総合開発ツールて , C ソース C COMPILER PRO-68K Ver. 2.0 は , K 」をバージョンアップし販売を開始した。 て最大 16M バイトまてのプログラムを実行 486 のプロテクトモードを使用して , MS ー DOS 京都マイクロコンピュータ株は , 286 / 386 / 可能とする DOS 工クステンダ「 EXE286 」を発 売した。おもな機能は以下のとおり。 ・ 16M バイトのメモリ空間をサポート プロテクトモードの使用による MS-DOS の 640K バイトの壁を最大 16M バイトのメ モリに拡張 ・ 286 / 386 / 486 対応 ・ MS-C, Turbo C MS-C, Turbo C への対応により , 従来 のソースコードがほとんど利用可能 ・デバッガ「 PARTNER 」標準装備 C 言語のソースレベルデバッグが可能 < 動作環境 > 機種 : PC ー 9800 シリーズの 80286 / 386 / 486 搭載機種 PC-AT/AX/FMR に対応予定 OS : MS-DOS Ver. 3.1 以降 メモリ : プロテクトモードメモリ IM バ イト以上 43 , 000 円 く価格 > EXE286 EXE286 十ライセンスパック 100 ・・・ 198 , 000 円 EXE286 十ライセンスノヾック 1000 ・・・ 990 , 000 円 問い合わせ先 京都マイクロコンヒ。ュータ株 〒 617 京都府長岡京市長岡 3 ー 1 ー 2 TEL 075 ー 953 ー 0963 「 21 世紀に向けて躍進」 理工学書 20 , 000 点フェア 日本出版販売株 日本出版販売株は 10 月 25 日 ( 木 ) から 27 日 ( 土 ) まて , 富士電気株東京工場体育館にお いて書店ては見られない理工学書 20 , 000 点 ピュータ書 , 数学物理書などの書籍 , 雑誌 工学書 , 自然科学書 , 学会・協会書 , コン 今回即売される理工学関係書は , 理学書 , を一堂に集め展示 , 即売する。
BGM/EX を い い BGM / グラフ作成フログラム ・ CCF / 総合コンソールコントロールライフラリ fo 「 FORTRAN 価格ー \ 98 ′ 80 ー価格 \ 148 ′ 000 肥種類のグラフ作成機能を提供するバッケージです。例えば、必要なバラメータを設定し、関 数を呼び出すだけで円グラフや棒グラフを簡単に描画することができます。さらに、タイル八 ターン、ラインバターンとの対応、日本語コード文字列をグラフィック画面に表示する機能を サポートしているので、ビジネスアプリケーションで必要とされるあらゆるグラフ情報を表現 できます。 ■必要なバラメータを設定し、関数を呼び出すだけで簡単にグラフを描画できます。サンプル ーフログラムを見ればすぐ理解できます。円グラフの例 cg(vlist,vcnt,cx,cy. 「 . scalel. scale 2 ) : ■ 12 種類のグラフ作成機能ー描画位置、大きさを好みに合わせて描画できる ■サポート関数を用意タイルノヾターン ( 塗りつぶしノヾターン ) 、ラインバターンの一覧を表示 ・する関数により、例えばタイルバターンとその内容 ( 例えば。商品名っとの対応を簡単に表示で きます。、■多彩な表現か可能円グラフ、ドーナツッグラフ、バイチャート、帯グラフでは % または数値の表示 / 非表示の選択が可能、縦棒グラフ、横棒グラフ、折線グラフではスケー ルの表示 / 非表示の選択か可能、タイルノヾターン、ラインバターンと表示色の組み合わせ、ボ ーターカラー ( 円、棒等の外枠の色 ) 、スケールカラー、 % または数値の表示色の指定か可能な Key & DispIay 価格 \ 29 第 800 ~ 。 = ン羂せ簽第第 Key & Display はソフト開発て欠かせないファンクションキー及ひ ANK 、漢字の入力、 V 日 AM を直接アクセスしての文字表示等 100 を越える関数で構成されています。ファンクション キー自身には一切特別な値や文字列を設定せすに、日 OS レベルの処理で行っているため、ど のレベルの関数でも同し処理でファンクションキーの取得も可能です。また、 V 日 AM を直接 アクセスして表示するので 25 行目に文字列を表示してもスクロールしてしまうことはなく、す べての 1 バイトキャラクターコード ( 0X01 ー 0Xf7 ) を表示することがてきます。文字表示、文 字属性の設定 ( 色 / 属性 ) 、 V 日 AM 上の指定領域を切取り、貼り戻し、表 / 裏画面の切り替え 表示、全画面 / 部分スクロール、ファンクションキー表示等の機能を持っています。 ■キー入力ファンクションキー及び ANK 、漢字の入力。ファンクションキーと SH 旧 T 、 CT 日 L キー等のシフトキーとの組合せで、別のキーコードを得ることもできます・日本語 入力フロントエンドプロセッサ ( FEP ) のコントロール日本語入力 FEP の ON / OFF 、入 カモードの切り替え等のコントロールができます。対象となる日本語入力 FEP は ATOK4 / 5 / 6 / 7 ( 6 モード ) 、 VJE 一 / てす。■漢字の入力は FEP 等を介して行なわれ、 2 バイト で返ざれます。・ V 日 AM を直接アクセスして文字表示を行っているので非常に高速です。 ■すべての 1 バイトキャラクターコード ( 0X01 ー OXf7 ) を表示することがてきます。・全画 面に表示可能 25 行目に文字列を表示してもスクロ—) レしてしまうことはありません。・裏 画面を有効に利用できる表 / 裏画面を切り替えて表示選択できるのでスビードアップ、 VR AM の有効利用が可能です。・画面の指定領域を切取ったり / 貼り戻したりが簡単にできま ーす。■画面上に表示されている内容をそのままファイルにセプしたり、ファイルにセープ された画面内容を再表示することが可能です。セープ / ロードする領域を指定することができ るのて全画面 / 部分のどちらも可能です。第すべての文字属性 ( シークレット、プリンク、リ バース、アンダーライン、バーチカルライン、色指定 ) を画面上の指定領域に対して設定できる ので表現力豊かな画面表示が可能です。。一■多彩な画面操作機能を装備画面上の指定領域に 対する文字 / 文字属性のコピー、移動、消去を行う関数か用意されています。■画面上の指 定領域に対する上下左右スクロール機能により、全画面 / 部分のスクロ—) しか可能です。ー り に い い Code Base4 価格 \ 98 を 80 叮 い を CodeBase4 は C 言語から dBASEIII 、 dBASEIlI ロ旧 s 、 dBASEIV 、 C ⅱロロ e 「のファ イルシステム ( データベース、インデックス、メモ ) とコンパチプルなテータベースライプラリ です。これらのテータベース言語にコンノヾチプルな関数を用意しているので d 日 ASE ル回 us からの移植も簡単にできます。 d 日 ASE ルと比較してテータアクセスは 5 倍速く、ループでは なんと 330 倍も速くなります。 ■高速処理■最大 L022 フィールド、 2.0 凹 , 000.000 レコード ( 論理値 ) ・メモリモデル S ( —部機能が限定 ) / M / L ■ 2.000 行程度のソースプログラムで 100kb 程度の、 exe ファイル を作成可能■マルチューサー対応■ PC -9800 シリーズではテータベースライプラリて漢字 の使用は可能・旧 M - PC 版てはウインドウ、メニュー関数も付属・英文マニュアル◆対 応 C 言語 : Mic 「 osoft-C 4.0 / 5.1 または Tu 由 0- C2.0 関数 ( 抜粋 ) ECblockj プロックキーを追加、削除 / プロックを検索 / キー番号のスキップ•[conve 「 sion] 指定長の ASC 文字列を dou e / int / ng に変換■ Cdatabase] データ べースファイルの作成、オープン、選択 / 指定レコードに削除マークを付加 / 削除マークが付 加されているかの検査 / レコードを読む / ロック / 削除マーク付きのレコードを削除 / レコー ド数、番号の取得 / 参照番号の取得 / テータベースの選択 / インデックスファイル内の先頭レ コードを読む / カレントテータベースのロックの解除 / テータベースのオープン、選択 / テー ため、多彩な表現が可能です・すぐ使える、拡張もできる 24 種類のタイルバターン、 10 種類のラインバターンを登録済み、さらにユーサー登録も可能・八一ドコピーグラフィッ ク画面、テキスト画面、グラフィック画面とテキスト画面の重ね合わせか可能。日本語コード (Shift-Uis: 全角、半角、 1 / 4 角 ) 文字列をグラフィック画面に表示できるので、ガイドメ ッセージ等をテキスト画面に表示したままの状態てもグラフィック画面だけの八一ドコピーを 印刷することができます。 ◆ CBGM/EXJ では XL 、 XL2 、日 L のハイレソリューション / ノーマルの両モードに対応し ており、さらにどちらのモードでも動作する互換モード ( 自動判別 ) もあります。 以下の関数に「 G 「 aphic & Mouse または「 G 「 aphic & Mouse / EX 」の一部の関数が 含まれます。 円グラフ / ドーナツッグラフ / バイチャート / 橫棒グラフ / 横棒グラフ ( 複数 ) / 横棒グラフ ( 積 み重ね ) / 縦棒グラフ / 縦棒グラフ ( 複数 ) / 縦棒グラフ ( 積み重ねレ帯グラフ / 折線グラフ / レ ーターチャート / ラインバターンリストの表示 / タイルバターンリストの表示 / タイルバター ンの作成 EXJ でも提供 ) ノマルモードでのみ使用可能。 * は tWindow & MenL.1J および CWindow & Menu/A 変更 / スクロールし、文字列を表示 / * 上、下、左、右スクロール ( 日本語入力 FEP 制御関数は 得 / カーソルフリンク、表示の ON 、 OFF, / * テキストの切り替え / C 日 T のモードの検 置に文字列を直接表示 / キ表示文字が漢字か否かの検査 / テキストの文字、文字列コードの取 に ASCII& 全角、文字列を直接表示 / 指定されたバイト数分文字列を表示 / 現在のカーソル位 部分、文字単位ての消去 / ファンクションキー表示の退避、再設定、表示、消去 / * テキスト 左右に移動 / カーソルホームボジションを設定 / カーソルをホームボジションへ移動 / 全部、 ソルを指定座標に移動 / * カーソル座標の取得 / カーソルを移動範囲内で移動 / カーソルを上下 トから箱型の文字列をコピー : 移動 / * テキストから箱型に文字属性を取得、貼り戻し / * カー 接入力 / * テキストを箱型に消去 / * テキストの指定範囲のイメージの取得、貼り戻し / テキス キーを 2 バイトコードで返すキー入力 / 全角、 ANK 文字キー入力 / * ファンクションキーの直 ATOK 、 VOE のコントロール / ファンクションキーの退避、設定 / * 漢字、ファンクション 関数 ( 抜粋 ) プ / リストア / 設定 / 消去 etc ー ルの表示 / 非表示切り替え、カーソルブリンクの ON / OFF 、ファンクションキー表示のセー 指定文字 / 文字属性による V 日 AM の消去関数、指定座標から n 文字を消去する関数、カーソ 動範囲を一定領域に限定する関数も用意しました。・まだまだある、こんな機能、こんな関数 動位置が漢字の 2 バイト目の場合はスキップし、次の位置へ移動する関数群です。カーソル移 動関数群を用意しました。この関数群は移動位置が漢字の 2 バイト目か否かの検査を行い、移 移動、カーソル位置取得機能はもちろん、表示文字列のコード識別機能を使用したカーソル移 限定機能により、多彩なカーソルワークか可能になりました。通常の上下左右移動、座標指定 ます。■カーソルコントロールシステム 2 種類のカーソル移動関数群とカーソル移動範囲 また漢字の 2 バイト目か等の識別機能により、現在表示されている文字を検査することができ し ASCIl/Shift-Uis コードへの変換が可能です。・指定座標の表示文字が漢字か否か、 現在表示されているすべての 1 バイトキャラクタコード / 漢字の文字列を V 日 AM から取り出 ースの内容を出力テパイスに書き出す / 関連データベースと管理テータベースを関連付ける / レコードをシーケンシャルに読む / レコードバッフア内のレコードを n 番目とする / テータベ ンする■ [extended] レコードかプランクかどうか調べる / メモリバッフアに入るだけの と拡張子を結合する / ファイル名から拡張子、ティレクトリ名を取り除く / ファイルをオープ アイル名を探す / セクションのロック、解除 / ファイル名に適した文字か調べる / ファイル名 報を書き出す / メモフィールドを読む、テータが存在するか調べる ECutility] 次の該当フ ックの解除•[memo] 内部的にテータが格納されているかを検査 / メモファイルにある情 し直す / キーをサーチ / ポインタを先頭へ設定 / インテックスファイルの型を文字で返す / ロ ポインタを最後尾に移動、指定キーに設定 / ファイルリファレンス番号の取得 / インテックス ンデックスファイルを作成、オープン、クローズ、ロック、ロックの解除、選択キーの追加 / 値フィールドの値を doub 厄得る / 指定フィールドのバイト数の取得 Mindex file] ーイ 番号の取得 / 論理フィールドが T 日 IJE か FALSE かの検査 / 指定フィールドの型の取得 / 数 アの先頭ポインタの取得 / レコードバッフア内の文字の総数の取得 / フィールドリファレンス の取得 / フィールド名の取得 / カレントテータベースのフィールド数の取得 / レコードバッフ る / 演算子の優先順位の取得■ [fieldJ 進数の桁数の取得 / フィールドリファレンス番号 [exep 「 ession] dBASE の式を評価し、結果を得る / d 日 ASE の式を中間コンバイルす タベースを選択後、ロックする / レコードを書き出す / 指定された範囲のレコードの削除■ フィールドリファレンス番号によって指定されたフィールドの総計を得る ・走行環境等 ・まだまだあるこんなライプラリ 'CIisp •AX-WINDOW •FMR-WINDOW •FMR-GRAPHIC ■ Ptree & Symta b お求め方・ラ去 ー Lisp ライク関数ライプラリー ー AX マシン用テキストウインドゥ / メニューライプラリー価格 \ 98 ー 000 ー FMR -50 / 60 用テキストウインドゥ / メニューライプラリー - FMR-50 用グラフィックライプラリ - ー構文解析 / シンポルテーカレモジュールー 価格 \ 9 000 価格 \ 98 ′ 000 価格 \ 98 ′ 000 価格 \ 69 00 価格 \ 79 ′ 800 ※すべての表示価格には消費税は含まれておりません。 クイック資米斗イ寸サ - ・一ヒス ・お近くのパソコンソフト取扱店または弊社までこ注文ください。 ・いますぐ、資料をこ希望の方はお電話ください。 ・こ注文の際に製品名、対象コンノヾイラ ( ヴァージョン ) 、メティアを指定してください。 FAX で資料をお送りいたしま魂 く資料請求番号 165 〉 ・ NEC PC -9800 シリーズ ( LT 、八イレゾ リューションモードを除く ) CCCF/EXJS CBGM/EXA CG 「 aphic & Mouse/EXJ, CWindow & Menu / EX 』は XL 、 XL2 、日 L のハイレゾリューシ ョン / ノーマルの両モードに対応。 ・ MS-DOS ・・ Ve 「 sion 2.11 / 3.1 / 3.3 ・対象 C 言語・・ Mic 「 osoft-C 4.0 / 5.1 Quick-C l.l / 2.0 Lattice-C 3.1 / 4.0 Tu 「 bO-C 2.0 ・・・ 5 ″ 2HD 、 3.5 ″ 2HD 、 5 ″ 2D ( 旧 M - PC フォーマント ) ・メティア ・機種 ・ PHONE 03 ー 866 ー 8635 ・ FAX 03 ー 866 ー 8637 ・〒 111 東京都台東区蔵前 2 ー 8 ー 10 ま株式会社ティッフス
ROM 化 考察 ROM 化の実際 プログラミング Part2- Part2 では , インテル系以外の CPU の例 , ROM 化ユーティリティが付属していないコ ンノヾイラの例 , 付属したコンノヾイラの例 , R OM ライタの使用例について , C プログラム における ROM 化を具体的にみていきたい。 H8 る 00 における ROM 化 Secti0111 鈴木秀郎 以下て、は , C 言語と H8 / 500 という CPU の 静的変数 ( static 変数だけて、なく , extern 変数 も静的変数てある ) をどうするかが問題とな アーキティクチャについて基本的な知識が あるということを前提にして , H8 / 500 を例 る。 静的変数には初期値があり , また , 書き にして C プログラムの ROM 化について述べ 換えられる。 ROM は初期値 ( 固定された値 ) 本セクションて、はアドバンスド・データ・ をもつが , 書き換えることはて、きない。 RAM コントロールズ社が米国 Whitesmiths, Ltd. ROM 花可能なプログラム は書き換えることはて、きるが , 初期値をも の技術を用いて開発し販売している Whites たない miths' C コンパイラ ( 以下 WSL C ) を使って 結論からいえば , ROM 化可能なプログラ のプログラムの ROM 化について , 日立製 8 て、は , ROM 化が可能なプログラムという ムとは , ROM にも RAM にも割り当てるこ ビットマイクロプロセッサ H8 / 500 シリーズ ( 以下 H8 / 500 ) を例に取って解説する。 のはどのようなプログラムだろうか。 とのてきない静的変数をもたないプログラ H8 / 500 は 1 チッブマイコンながら高級言語 それには , 変数宣言のときやプログラム ムて、あるといえる。 逆に , このような静的変数をもつ「一般の」 を意識した命令体系をもち , C 言語を使って 中に定数を書くときに , それらが ROM と RAM のどちらに割り当てられるかを意識す プログラムを , プログラムに変更をくわえ のプログラミングには適していると思われ ないて ROM 化するには , プート時に特別な る。 WSL C はプログラムを ROM 化し組み る必要がある。 つまり , プログラムと定数 ( リテラル ) は 込むという用途に対して十分に配慮された くふうが必要になる。 C コンパイラて、あり , アセンプリ言語をほと ROM, auto 変数など , スタック上のデータ たとえば , 関数の外部て , んど使わないて、組み込みソフトウェアを書 は RAM に割り付けなければならないのは明 const int a 白だが , それら以外のデータ , すなわち , くことがてきる。 int b ; はしこ 特集 ROM 化プログラミング考察 55