JPH05120026A - 言語処理プログラム作成装置 - Google Patents

言語処理プログラム作成装置

Info

Publication number
JPH05120026A
JPH05120026A JP3277984A JP27798491A JPH05120026A JP H05120026 A JPH05120026 A JP H05120026A JP 3277984 A JP3277984 A JP 3277984A JP 27798491 A JP27798491 A JP 27798491A JP H05120026 A JPH05120026 A JP H05120026A
Authority
JP
Japan
Prior art keywords
watchdog timer
source program
language processing
initialization
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3277984A
Other languages
English (en)
Inventor
Tomoko Kano
知子 狩野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP3277984A priority Critical patent/JPH05120026A/ja
Publication of JPH05120026A publication Critical patent/JPH05120026A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【目的】 ウォッチドッグタイマの初期化命令挿入位置
を自動挿入可能とする。 【構成】 言語処理プログラム部10aは、ソースプロ
グラム入力手段11によりソースプログラム1を入力す
るとともに、ウォッチドッグタイマ情報入力手段14に
より、ウォッチドッグタイマの初期化制御情報3および
各命令の実行クロック数情報4を入力し、ウォッチドッ
グタイマ情報解析手段15により、ソースプログラムに
ウォッチドッグタイマの初期化命令を挿入し、ソースプ
ログラム解析手段12およびオブジェクトコード出力手
段13aにより、ウォッチドッグタイマの初期化命令挿
入位置をオブジェクトコード2出力中に定義して自動挿
入する。 【効果】 入手で実行クロック数を計算する必要がなく
なるとともに、計算ミスの発生を防止できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ソースプログラムを入
力して解析しオブジェクトコードを出力する言語処理プ
ログラムを作成する言語処理プログラム作成装置に利用
され、特に、そのオブジェクトコード出力方式に関す
る。
【0002】
【従来の技術】図6は従来の言語処理プログラム作成装
置の一例の要部を示すブロック構成図である。
【0003】本従来例は、ソースプログラム1を入力す
るソースプログラム入力手段11、入力されたソースプ
ログラムを解析するソースプログラム解析手段12、な
らびにこの解析された結果に従ってオブジェクトコード
2を出力するオブジェクトコード出力手段13を含む言
語処理プログラム部10を備えている。
【0004】次に、本従来例の動作について説明する。
ここでは、言語処理プログラムとしてアセンブラを例に
用いる。表1は、例に用いるアセンブラの各命令の実行
クロック数の一覧表である。
【0005】図4は、ソースプログラムの例である。こ
のソースプログラム1aの行番号欄と実行クロック数欄
は説明上分かりやすくするために付加したものであり、
ソースプログラム1aの本体はソースプログラム欄のみ
である。例えば、1行目のソースプログラムはMOV
AW,5Hで、実行クロック数は4を表す。実行クロッ
ク数は、表1に従っている。
【0006】図4と図6を用いて、従来の言語処理プロ
グラムのオブジェクトコード出力方式を使用した場合の
ソースプログラム開発手順を説明する。
【0007】システムのクロック周波数が10MHz
で、1μsに1回ウォッチドッグタイマを初期化したい
とすると、ウォッチドッグタイマの初期化サイクルは1
0クロックに1回となる。
【0008】まず、ユーザは、図4のソースプログラム
1aを作成する。次に、ウォッチドッグタイマがオーバ
フローする場所をソースプログラム上で計算し、ソース
プログラムの命令の合間にウォッチドッグタイマの初期
化命令を挿入する。図4の場合、実行クロック数の合計
は、2行目までが6クロック、3行目までが10クロッ
クとなり、ウォッチドッグタイマ(図7と表1ではWD
Tと略す)初期化命令の実行クロック数の2クロックを
含めて3行目で10クロックをオーバしてしまうので、
2行目と3行目の合間にウォッチドッグタイマの初期化
命令を挿入する。
【0009】図7が、2行目までとウォッチドッグタイ
マ初期化のタイミングチャートである。
【0010】それぞれ、以下同様に、4行目と5行目、
7行目と8行目、9行目と10行目、そして11行目と
12行目の合間にウォッチドッグタイマの初期化命令を
挿入する。最後に、言語処理プログラム部10に、ウォ
ッチドッグタイマの初期化命令を挿入したソースプログ
ラム1を入力し、オブジェクトコード2を作成する。
【0011】従来の言語処理プログラムのオブジェクト
コード出力方式では、ユーザが、ソースプログラムを作
成するときに、ウォッチドッグタイマがオーバフローす
る場所をソースプログラム上で実行クロック数から計算
し、ソースプログラムの命令の合間にウォッチドッグタ
イマの初期化命令を挿入する必要があった。
【0012】
【発明が解決しようとする課題】以上説明したように、
従来の言語処理プログラムでは、ソースプログラムを作
成するときに、ウォッチドッグタイマがオーバフローす
る場所をソースプログラム上で実行クロック数から計算
し、ソースプログラムの命令の合間にウォッチドッグタ
イマの初期化命令を挿入する必要があった。通常、ソー
スプログラムの大きさは、図3の例のように12行など
と小さくはなく、数百行または数千行の大きさが一般的
である。
【0013】このため、実行クロック数を計算しなけれ
ばならないので煩わしいこと、また、人間が手作業で計
算するため、計算間違いを起こしやすいことなどの欠点
があった。
【0014】本発明の目的は、前記の欠点を除去するこ
とにより、ウォッチドッグタイマの初期化命令挿入位置
を自動挿入でき、計算間違いを生じないオブジェクトコ
ード出力方式を有する言語処理プログラム作成装置を提
供することにある。
【0015】
【課題を解決するための手段】本発明は、ソースプログ
ラムを入力するソースプログラム入力手段と、入力され
たソースプログラムを解析しオブジェクトコードを作成
するソースプログラム解析手段とを含む言語処理プログ
ラム部を備えた言語処理プログラム作成装置において、
前記言語処理プログラム部は、ウォッチドッグタイマの
初期化制御情報と各命令のクロック数情報を入力するウ
ォッチドッグタイマ情報入力手段と、この入力されたウ
ォッチドッグタイマ情報を解析しウォッチドッグタイマ
の初期化命令を挿入するウォッチドッグタイマ情報解析
手段と、このウォッチドッグタイマ情報解析手段の解析
結果に従ってウォッチドッグタイマの初期化命令挿入位
置を前記オブジェクトコード中に定義して挿入し出力す
るオブジェクトコード出力手段とを含むことを特徴とす
る。
【0016】
【作用】ウォッチドッグタイマ情報入力手段は、ウォッ
チドッグタイマの何クロックごとに初期化命令を挿入す
るかの初期化制御情報と各命令の実行クロック数を含む
ウォッチドッグタイマ情報を入力し、ウォッチドッグタ
イマ情報解析手段は、この入力されたウォッチドッグタ
イマ情報を解析してウォッチドッグタイマの初期化命令
を入力されたソースプログラム中に挿入する。これに基
づきオブジェクトコード出力手段は、ウォッチドッグタ
イマの初期化命令挿入位置を、オブジェクトコード出力
中に定義して、自動挿入する。
【0017】これにより、ウォッチドッグ初期化命令位
置の自動挿入が可能となる。
【0018】
【実施例】以下、本発明の実施例について図面を参照し
て説明する。
【0019】図1は本発明の一実施例の要部を示すブロ
ック構成図である。
【0020】本実施例は、ソースプログラム1を入力す
るソースプログラム入力手段11と、入力されたソース
プログラムを解析しオブジェクトコードを作成するソー
スプログラム解析手段12とを含む言語処理プログラム
部10aを備えた言語処理プログラム作成装置におい
て、本発明の特徴とするところの、言語処理プログラム
部10aは、ウォッチドッグタイマの初期化制御情報3
と各命令の実行クロック数情報4を入力するウォッチド
ッグタイマ情報入力手段14と、この入力されたウォッ
チドッグタイマ情報を解析しウォッチドッグタイマの初
期化命令を挿入するウォッチドッグタイマ情報解析手段
15と、このウォッチドッグタイマ情報解析手段の解析
結果に従ってウォッチドッグタイマの初期化命令挿入位
置を前記オブジェクトコード中に定義して挿入し出力す
るオブジェクトコード出力手段13aとを含んでいる。
【0021】図2は本発明が適用されるホストマシンの
一例を示すブロック構成図である。ホストマシン100
は演算装置101と、コンソール102と、外部記憶装
置103とを備えている。そして、図1の言語処理プロ
グラム部10aは、ホストマシン100上を走る言語処
理プログラムとして演算装置101中に構成される。ま
た、ソースプログラム1、オブジェクトコード2、初期
化制御情報3および実行クロック数情報4はそれぞれ外
部記憶装置(必ずしも一つとは限らない)103に格納
される。
【0022】ホストマシン100は、ユーザの入力する
言語処理プログラムの操作コマンドを受け付け、コンソ
ール102に処理結果を表示する。演算装置101は、
外部記憶装置103に格納された、ユーザの作成したソ
ースプログラム1、初期化制御情報3および実行クロッ
ク数情報4を入力し、ウォッチドッグタイマの初期化命
令挿入位置が挿入されたオブジェクトコード2を作成
し、外部記憶装置103に格納する。
【0023】次に、本実施例の動作について説明する。
【0024】言語処理プログラム部10aは、ソースプ
ログラム入力手段11によりソースプログラム1を入力
するとともに、ウォッチドッグタイマ情報入力手段14
によりウォッチドッグタイマの初期化制御情報3および
実行クロック数情報4を入力し、ウォッチドッグタイマ
情報解析手段15によりウォッチドッグタイマの初期化
命令が挿入されたソースプログラムを作成する。そし
て、ソースプログラム解析手段12により解析を行いオ
ブジェクトコードを作成するとともに、オブジェクトコ
ード出力手段13aにより、ウォッチドッグタイマの初
期命令挿入位置をオブジェクトコード2上で定義して挿
入出力する。
【0025】図3はウォッチドッグタイマ情報解析手段
15の処理手順を示すフローチャートである。ここで、
各命令の実行クロック数をNi(i=1〜n行)、初期
化制御情報をNmaX とする。
【0026】初めに、各行の命令を解析しその実行クロ
ック数Niを求め、順次に、各行の実行クロック数の和
〔外1〕を計算する(ステップS1)。次に、実行クロ
ック数の和〔外1〕が初期化制御情報NmaX より大きい
か小さいかを判定する(ステップS2)。そして、実行
クロック数の和〔外1〕が初期化制御情報NmaX よりも
大きいかまたは等しい場合には、i行の命令とi−1行
の命令との間にウォッチドッグタイマの初期化命令を挿
入し、実行クロック数の和〔外1〕を0にし、ステップ
S1に戻る(ステップS3)。一方、ステップS2で、
実行クロック数の和〔外1〕が初期化制御情報NmaX
りも小さい場合にはステップS1に戻りさらに次の行の
命令の実行クロック数の加算を行う。
【0027】
【外1】 以下、二つの具体的例について、それぞれ動作例(1)
および動作例(2)として説明する。
【0028】〔動作例(1)〕 ここで、ウォッチドッグタイマの初期化制御情報3は、
ユーザによって、言語処理プログラムの起動行から与え
られるものとする。例えば、起動行の指定規則を次のよ
うにする。
【0029】「コマンド名、ソースプログラム名、DO
C(実行クロック数)」 指定されたDOC(実行クロック数)をウォッチドッグ
タイマの初期化制御情報3とし、クロック数に実際のウ
ォッチドッグタイマの初期化サイクルが指定されるもの
とする。
【0030】また、各命令の実行クロック数情報4とし
て、あらかじめ、表1に示す内容は登録してあるものと
する。そして、ウォッチドッグタイマの初期化サイクル
に10が指定されたとする。ウォッチドッグタイマの初
期化制御情報3は、10クロックとなる。また、ソース
プログラムは従来例で用いた図4に示すソースプログラ
ム1aとする。また、言語処理プログラムとしてアセン
ブラを例に用いる。
【0031】
【表1】まず、言語処理プログラム部10aは、ソース
プログラム1aを入力する。次 に、ウォッチドッグタイマの初期化制御情報3と各命令
の実行クロック数情報4を入力する。ウォッチドッグタ
イマの初期化制御情報3は、10クロックであり、各命
令の実行クロック数情報4は表1に示す内容である。表
1のウォッチドッグタイマ初期化命令の実行クロック数
は2クロックであるので、ウォッチドッグタイマの初期
化命令は最大8クロックの命令実行後に1回実行されな
ければならない。
【0032】図4の1行目を解析し、表1よりMOVの
実行クロック数は4である。4は8より小さいので、M
OVのオブジェクトコードを生成し、次の2行目を解析
する。表1よりDECの実行クロック数は2である。2
行目までの実行クロック数の合計は、6となる。6は8
より小さいので、DECのオブジェクトコードを生成
し、次の3行目を解析する。表1よりCMPの実行クロ
ック数は4である。3行目までの実行クロック数の合計
は、10となる。10は8より大きいので2行目と3行
目の合間にウォッチドッグタイマの初期化命令のオブジ
ェクトコードを挿入する。
【0033】ウォッチドッグタイマの初期化命令を挿入
したら、実行クロック数の合計を0にし、3行目から同
様に、実行クロック数の合計が8より大きくなる行の直
前に、ウォッチドッグタイマの初期化命令を挿入する。
【0034】その結果、言語処理プログラム部10a
は、ウォッチドッグタイマの初期化命令挿入位置を、オ
ブジェクトコード2出力中に定義して自動挿入する。
【0035】〔動作例(2)〕 次に、動作例(1)において、図4に示すソースプログ
ラム1aの代りに、図5に示すソースプログラム1bを
用いた場合を説明する。
【0036】ここで、ウォッチドッグタイマの初期化制
御情報3は、ユーザによって、ソースプログラム中の制
御命令から与えられるものとする。例えば、ソースプロ
グラム中での指定規則を次のようにする。
【0037】「$DOC(実行クロック数)」 $から始まる命令を制御命令とする。指定されたDOC
(実行クロック数)をウォッチドッグタイマの初期化制
御情報3とし、クロック数に実際のウォッチドッグタイ
マの初期化サイクルが指定されるものとする。また、こ
の制御命令は、ソースプログラム中の最初に指定された
位置から有効となる。複数の制御命令が指定されている
場合、前者の制御命令は後者の制御命令が指定されるま
で有効となる。
【0038】まず、言語処理プログラム部10aは、ソ
ースプログラム1bを入力する。次に、ウォッチドッグ
タイマの初期化制御情報3と各命令の実行クロック数情
報4を入力する。図5の場合、4行目と13行目が制御
命令なので、ウォッチドッグタイマの初期化制御情報3
は、5行目から12行目が10クロックで、14行目か
ら最後までが100クロックである。
【0039】図5の1行目から3行目までは、制御命令
が指定されていないため、ウォッチドッグタイマの初期
化命令は挿入しない。5行目から12行目まで、動作例
(1)のときと同様に解析すると、それぞれ、6行目と
7行目、8行目と9行目、10行目と11行目、12行
目と13行目の合間にウォッチドッグタイマの初期化命
令を挿入する。
【0040】14行目から最後までは、同様にウォッチ
ドッグタイマの初期化制御情報3を100クロックとし
て計算し、ウォッチドッグタイマの初期化命令を挿入す
る。
【0041】その結果、言語処理プログラム部10a
は、ウォッチドッグタイマの初期化命令挿入位置を、オ
ブジェクトコード2出力中に定義して自動挿入する。
【0042】動作例2では、ウォッチドッグタイマの初
期化サイクルをソースプログラム中でユーザによって変
更できる。
【0043】
【発明の効果】以上説明したように、本発明の言語処理
プログラム作成装置におけるオブジェクトコード出力方
式では、ウォッチドッグタイマの初期化制御情報にあわ
せて、ウォッチドッグタイマの初期化命令挿入位置を、
オブジェクトコード上で定義して出力することができ
る。
【0044】これにより、ソースプログラムを作成する
ときに、ウォッチドッグタイマがオーバフローする場所
をソースプログラム上で実行クロック数から計算し、ソ
ースプログラムの命令の合間にウォッチドッグタイマの
初期化命令を挿入する必要がなくなり、また、人間が手
作業で計算することがなくなるため、計算間違いは起こ
らなくなり、その効果は大である。
【0045】さらに、ウォッチドッグタイマの初期化サ
イクルをソースプログラム中でユーザによって変更でき
ることにより、ソースプログラムの内容によってウォッ
チドッグタイマの初期化をしたくないところや、頻繁に
したいところなどの区別ができる効果も得られる。
【図面の簡単な説明】
【図1】本発明の一実施例の要部を示すブロック構成
図。
【図2】本発明を適用するホストマシン例を示すブロッ
ク構成図。
【図3】図1のウォッチドッグタイマ情報解析手段の処
理手順を示すフローチャート。
【図4】図1のソースプログラムの一例を示す説明図。
【図5】図1のソースプログラムの他の例を示す説明
図。
【図6】従来例の要部を示す説明図。
【図7】ウォッチドッグタイマの初期化命令の挿入を説
明するタイミングチャート。
【符号の説明】
1、1a、1b ソースプログラム 2 オブジェクトコード 3 初期化制御情報 4 実行クロック数情報 10、10a 言語処理プログラム部 11 ソースプログラム入力手段 12 ソースプログラム解析手段 13、13a オブジェクトコード出力手段 14 ウォッチドッグタイマ情報入力手段 15 ウォッチドッグタイマ情報解析手段 100 ホストマシン 101 演算装置 102 コンソール 103 外部記憶装置 S1〜S3 ステップ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 ソースプログラムを入力するソースプロ
    グラム入力手段と、入力されたソースプログラムを解析
    しオブジェクトコードを作成するソースプログラム解析
    手段とを含む言語処理プログラム部を備えた言語処理プ
    ログラム作成装置において、 前記言語処理プログラム部は、ウォッチドッグタイマの
    初期化制御情報と各命令のクロック数情報を入力するウ
    ォッチドッグタイマ情報入力手段と、この入力されたウ
    ォッチドッグタイマ情報を解析しウォッチドッグタイマ
    の初期化命令を挿入するウォッチドッグタイマ情報解析
    手段と、このウォッチドッグタイマ情報解析手段の解析
    結果に従ってウォッチドッグタイマの初期化命令挿入位
    置を前記オブジェクトコード中に定義して挿入し出力す
    るオブジェクトコード出力手段とを含むことを特徴とす
    る言語処理プログラム作成装置。
JP3277984A 1991-10-24 1991-10-24 言語処理プログラム作成装置 Pending JPH05120026A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3277984A JPH05120026A (ja) 1991-10-24 1991-10-24 言語処理プログラム作成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3277984A JPH05120026A (ja) 1991-10-24 1991-10-24 言語処理プログラム作成装置

Publications (1)

Publication Number Publication Date
JPH05120026A true JPH05120026A (ja) 1993-05-18

Family

ID=17591009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3277984A Pending JPH05120026A (ja) 1991-10-24 1991-10-24 言語処理プログラム作成装置

Country Status (1)

Country Link
JP (1) JPH05120026A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016057798A (ja) * 2014-09-09 2016-04-21 三菱電機株式会社 プログラム埋め込み装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016057798A (ja) * 2014-09-09 2016-04-21 三菱電機株式会社 プログラム埋め込み装置

Similar Documents

Publication Publication Date Title
JP2943464B2 (ja) プログラム制御方法及びプログラム制御装置
JPH0756892A (ja) マスク付きベクトル演算器を持つ計算機
JP2861962B2 (ja) コンピュータプログラムのシミュレーション装置および方法
JPH05120026A (ja) 言語処理プログラム作成装置
JPS62217325A (ja) アセンブラコ−ド最適化方式
JPH04288660A (ja) 複数処理装置の並列処理方式
JPS63308641A (ja) パイプライン処理機構を持つデータ処理装置および処理方法
JP2758624B2 (ja) マイクロプログラムの調速方式
JP2008234058A (ja) 退避データ判別方法、退避データ判別プログラムおよび退避データ判別装置
JPH0664541B2 (ja) コマンド処理装置
JPH04277840A (ja) 非同期命令のシミュレーション方式
JPH0421027A (ja) 設定環境の変更方法
JPH0340130A (ja) 処理プログラム起動方式
JP2011048492A (ja) プログラムの作成支援装置、作成支援方法及び作成支援プログラム
JPH03242736A (ja) 異常処理方式
JPH07306801A (ja) プログラムテスト実行方式
JPS61221880A (ja) 会話型システムの会話手順制御方式
JPH04205615A (ja) 操作記憶装置
JPH036527B2 (ja)
JP2005141347A (ja) ビット演算処理装置及びビット演算処理装置を制御するためのコンピュータプログラム
JPH02177674A (ja) 番組延長処理方法
JPS61235770A (ja) 装置試験情報生成処理方法
JPH06250732A (ja) プログラマブルコントローラ
JPH0782370B2 (ja) シ−ケンサのタイマ処理装置
JPS61286936A (ja) ステップ動作制御方式