JP2662533B2 - Logic analyzer - Google Patents

Logic analyzer

Info

Publication number
JP2662533B2
JP2662533B2 JP59063135A JP6313584A JP2662533B2 JP 2662533 B2 JP2662533 B2 JP 2662533B2 JP 59063135 A JP59063135 A JP 59063135A JP 6313584 A JP6313584 A JP 6313584A JP 2662533 B2 JP2662533 B2 JP 2662533B2
Authority
JP
Japan
Prior art keywords
trace
logic
symbol
appendix
program
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.)
Expired - Fee Related
Application number
JP59063135A
Other languages
Japanese (ja)
Other versions
JPS6035273A (en
Inventor
ブリイス・エス・グツドウイン.ジユニア
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.)
HP Inc
Original Assignee
HP Inc
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 HP Inc filed Critical HP Inc
Publication of JPS6035273A publication Critical patent/JPS6035273A/en
Application granted granted Critical
Publication of JP2662533B2 publication Critical patent/JP2662533B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 本発明は逆アセンブリ機能を有するロジック・アナラ
イザに関し、入力データを、設定された対応記号に変換
表示する機能を持つロジック・アナライザに関する。 主として処理装置によって構成されたシステムの実行
可能なコードを開発するには再配置可能なオブジェクト
コードを発生するコンパイラやアセンブラを使用するこ
とが非常に多い。このようなプログラムを次々に連続し
てロードすると、ロジック・ステート・アナライザから
得られるトレースのリストを認識するのに時間がかか
り、最悪の場合、認識できない。逆アセンブラでさえ
も、任意のアドレス信号を元のソースプログラムに使用
した対応記号に置き換えることはできない。置換するに
は、種々のソフトウェアツールがどのように相互に影響
し合い、再配置可能なオブジェクトコードをどのように
修正して最終的な絶対値を作り出すかを知る必要があ
る。トレースされた事象を、ソースプログラムの集合に
関係づけるにはかなりの量の非十進法の演算が必要にな
る。被測定システムのハードウェアは正常であることが
わかっており、デバッグしているのは単にソフトウェア
であるという場合、問題はさらに複雑となる。しかし多
くの場合、ハードウェアとソフトウェアとにバグが存在
する可能性がある。このため実際に起ったことについ
て、情報のトレースに基づいて解析できるということは
特に重要である。というのはプログラム通りに働かない
場合が多々あり、この場合、トレースをプログラムリス
トのハードウェアの版と考えるのは賢明ではなく、プロ
グラムリストをトレース理解のための案内役と考えるの
が有用である。従って、トレースを再配置しない場合、
トレースは極めてわずらわしくなることがある。トレー
スされたアドレスおよびオペランドに対応する絶対値を
元の原始プログラムに使用した記号で置換えれば特に望
ましいことになる。このような記号は個々の場所あるい
はある範囲の場所を参照する。ソースプログラムに入っ
ている記号の他に類似の記号を定義することができれば
有用である。ソースプログラムの行番号の参照符号がト
レースあるいは実際のソースプログラムの行に入ってい
ても役に立つ。このことは全体のプログラムの流れをた
どる際に非常な助けとなる。 又、本発明のロジック・アナライザにおいては、ステ
ートマシンの動作に関連して他の改良、トラブルシュー
ティングに関する事項が盛り込まれている。ステートマ
シンのトレースは、001001,010001,010011などのように
次々と続く一連の状態である。このような状態に、「IN
C−P−REG」(Pレジスタを歩進せよ)、「WAIT−MEM
C」(記憶装置が完了するのを待て)、あるいはSTM(記
憶サイクルを開始せよ)のようなラベルを与えることが
できる場合も屡々ある。ロジック・アナライザがトレー
スの作表をこのようなラベルにより行うことができるこ
とが望ましい。このリスト中の各状態はラベルかラベル
に関連する値かのいずれかになる。後者の場合には或る
過程、たとえば記憶読取サイクルの中にいくつかの状態
があることがある。ラベルRMCYは過程の最初の状態を示
す。RMCY+3はRMCYとラベル付けされたグループの中の
4番目の状態を示している。 ここに述べるロジック・アナライザのソースプログラ
ムの記号および行をトレースリストに組入れるという能
力は、ロジック・アナライザにコード(絶対のまたは再
配置可能な)を発生したコンパイラあるいはアセンブラ
によって作られた記号表を呼び出させることおよびロジ
ック・アナライザにリンカまたは再配置ローダにより行
われた決定を呼び出させることから生ずる。この情報を
使用してロジック・アナライザは各種検査過程によりど
の記号をトレースリストに使用するかを決定することが
できる。 これを行う能力から更に他の利益が生ずる。ロジック
・アナライザは、トレース条件を定義する過程を拡張し
たり簡単化したりすることができる。トレース条件によ
って、トレースを開始する条件、取込む情報等が決ま
る。本発明によれば、どの絶対値が取込まれているかを
知ることなしに、トレース条件にソースプログラムの記
号を使用することができる。このことは、それら絶対値
がバグが見つかり修正されたときあるいは異なる変種の
ソフトウェアが開発され試験されるとき変化し勝ちであ
るから極めて有用である。しかし各種記号表およびロー
ドマップを利用するように構成されたロジック・アナラ
イザは、単に、一つ以上のプログラムが前より長さが違
っているとか、プログラムが異なる順序でロードされて
いるとかという理由で、そのトレース条件を変える必要
がない。再配置可能なトレース条件の記号的性格によっ
て不必要になるのである。 これら原理は記憶管理装置を組入れた被測定システム
に関して行われるロジック・アナライザに適用するよう
に拡張できる。このような被測定システムでは処理装置
が発生した再配置可能なアドレスは、処理装置が動作す
るにつれて記憶管理装置により実時間で更に修正される
事実上のアドレスである。修正されたアドレスは記憶装
置に送られる実際の物理的アドレスである。その値は記
憶装置のどの部分がどのプログラムまたは任務に割当て
られたかを表わす動作時間条件によって決まる。この割
当は動的であり、一般に動作時に存在する再配置アドレ
スに適用する固定の絶対オフセットとして予め与えるこ
とはできない。この再配置されたアドレスはそれ自身、
或る再配置を基に、アセンブラまたはコンパイラが発生
した再配置アドレスからのオフセットである。このよう
な記憶装置で管理されるアドレスにはソースリストに表
われている再配置可能な値から一定量だけ既にオフセッ
トしている再配置された値を動的にオフセットすること
から生ずる絶対値を幾つか含んでいる。 上記の動的オフセットは被測定システム内で処理する
ための個別のものではなく、したがってロジック・アナ
ライザにとって不明瞭なものである必要はない。各種の
動的オフセットを表わす記号をロジック・アナライザに
対して定義することができる。次いでオフセットの流れ
の周知の知識を維持することに関する一定の評価基準
(被測定システムによって決まる)を与えると、本発明
の実施例にしたがって構成されたロジック・アナライザ
は動作時中「真の」絶対トレース仕様を連続的に調節し
て使用者が決めた記号によるトレースを行なわせること
ができる。又、トレースが記憶装置内の位置が動作時、
動的に決定されるプログラムに関するトレースであって
さえも、原始記号をトレースリストに挿入することも可
能である。 以下、本発明の実施例を用いて説明する。 第1図は本発明のロジック・アナライザで使用するプ
ログラムの概略を示し、構成要素間の機能関係を示す図
である。付録A〜Uを参考にして、第1図を用いて本発
明の動作と効用をも説明する。その後で、第2図から第
6図に関連して本発明の内部動作を説明する。 さて第1図において、主プログラム2と関連サブプロ
グラム3とが「DATA−BLOCK」という名のデータ構造4
と協同動作する。本実施例の場合、プログラム2とサブ
プログラム3とはともにパスカル(PASCAL)言語で書か
れている。主プログラムの名前は「MAIN」であり、サブ
プログラムの名前は「FACTOR」である。この二つのパス
カルプログラムとそのデータ構造とに関連して、プログ
ラムMAINとFACTORのコンパイル中、PASCALのコンパイラ
で呼び出される実行時ライブラリからの三つのユーティ
リティプログラムがある。それはPARAMETERと言う名の
パラメータ・パス・ルーチン5と、MULTIPLYと言う名の
乗算ルーチン6と、指定した語の中に指定したビットが
設定されているか否かをチェックするBOOLEANINという
名のルーチン7とである。たとえば、BOOLEANINはPASCA
Lの「IF」文の評価に使用される。以下、このプログラ
ム要素のそれぞれについて簡単に考察することにする。 付録Aのページi(PAGE i OF APPENDIX A)には、プ
ログラムMAINのPASCAL言語によるソースリストが示され
ている。プログラムMAINはデータ構造DATA BLOCKを0か
ら20までの連続する整数の階乗で満たす。これを行うに
はMAINは便宜的にDATA BLOCKと名付けられている外部の
整数配列を参照する。配列へのインデックスはINDEXと
名付けられており、外部FACTORAIAL(階乗)が供給され
た整数nに対して数値n!を送り返して来る。簡単なFOR
ループがインデックスの値の階乗をそのインデックスが
指定した場合に割当てる。これが0から20までのポイン
タ値について行われる。 機能サブプログラムFACTORのPASCAL言語によるソース
リストを付録Bのページi(PAGE i OF APPENDIX B)に
示す。サブプログラムFACTOR3の論理的構成については
詳述しない。プログラムMAIN2とFACTOR3とは単に状況例
のワークピースの一部として提示してある。これにはFA
CTORの動作の確認あるいはトラブルシュートが含まれて
いる。更に特定すれば、この例題には三つの供給値に関
するFACTORIALの動作をトレースすることが含まれてい
る。これにはパラメータNUMBERを機能FACTORIALに渡
し、BOOLEANINを使用して文番号10上のIF命令文を実行
し、文番号12で合計するというような事項が含まれてい
る。これらの事項を述べるのはトレースの関連部分をロ
ジック・ステート・アナライザによって検討することに
よってFACTORIALのこのような重要の部分の間に実際に
起っている事柄を観察できるからである。要するに、こ
の考えは入力と、出力と、その間の幾つかの重要な点と
を観察することである。 付録Cのページi(PAGE i OF APPENDIX C)はMAINで
参照された「external」を満たし整数配列の記憶要件を
与える注釈付きのアセンブリ言語プログラムDATA BLOCK
である。DATA BLOCKの動作部分は行番号21である。ここ
には「BSS21」指令が21語を保有しており、その1番目
が記号DATA BLOCKに関係している。プログラムDATA BLO
CKは、たとえ実行可能なコードを発生することがなくと
もアセンブルされ得るテキストファイルであるという意
味でプログラムである。それが行う現在の例で重要なこ
とはプログラム内のすべてのアセンブリ言語のラベルの
記号表を作り出すことである。それらの一つはDATA BLO
CKである。これは語に重要になる。重要な附帯的事項は
「BSS21」指令がそれでもなおプログラムの大きさの値
を増加させるということである。このことは後に、DATA
BLOCKを21語長に見えるようにするという簡単な手段に
よって、それらの語がアセンブラにより発生するコード
を含んでいなくても、21語を保有するという効果を現わ
す。 ワークピースプログラムを実行するには、プログラム
MAIN2とFACTOR3とを適切なPASCALコンパイラでコンパイ
ルし、DATA BLOCK4を適切なアセンブラ(すなわち、ワ
ークピースプログラムを実行する被測定システム内の処
理装置の機械語の一つ)でアセンブルしなければならな
い。次にすべての作業を再配置しロードしなければなら
ない。それからワークピースプログラムが実行可能とな
る。この実行の間、ロジック・アナライザは一定の予め
規定した状態(トレース条件で規定される)が起ったこ
とに反応してすべての事象または選定した事象のみを選
択的にトレースすることができる。(ここではすべての
事象を選定することにする)。フォーマット形式は「ア
ドレス」、「データ」、および「状態」の論理構成をロ
ジック・ステート・アナライザが監視する電気信号の特
殊な組分けに合わせる。得られたトレースはトレース条
件で規定した条件の付近でのシステムの動作の記録であ
る。各付録におけるトレースにおいて、トリガ事象は、
第3番目にトレースされており、大量のトレースからト
リガ事象に続いて何が起ったかがわかる。しかしまず最
初に、プログラムMAIN2とFACTOR3とをコンパイルしロー
ドしなければならない。付録CはDATA−BLOCK4をアセン
ブルした結果を既に示している。 このことに留意して、プログラムMAIN2とFACTOR3とを
コンパイルして得られる付録DとEとの拡張コンパイラ
の作表を考える。例題の窮極の目標はトレース条件に続
くトレースを得ることである。ここでは、INDEXが整数
値3を割当てられたとき、トレースを開始する準備を
し、アドレスがFACTORIALに等しく、状態がオプコード
に等しくなったときトリガする場合を示す(すなわち、
FACTORIALに対するオブジェクトコードの最初の指令は
実行のため取り出されている)。このようなトレース条
件を効果があるようにするには希望する意味を手近のそ
れぞれのロジック・ステート・アナライザの構文の特徴
にしたがって適切なスイッチの設定やキーの動きの組合
せに翻訳しなければならないだけでなく、FACTORIALやI
NDEXのような事柄に対する特殊な(すなわち絶対的な)
アドレスと数値とを与えなければならない。またFACTOR
が他のルーチンを呼び出す場合には、使用者はトレース
のそれらの部分にあるアドレスをそれら呼び出されたル
ーチンの意味のある場所に翻訳する準備がなされていな
ければならない。これを行うには使用者はリンカまたは
再配置用ローダにより与えられるロードマップを用いて
そのようなアドレスがどのルーチンに入っているかを知
り、そのルーチンに関するコンパイラ作表を調べ、その
トレースによりどんな動作が表わされるかをたどること
になる。 これらの動作と関連して付録DとEとのリスト中に重
要な数種類の項目が現れるていることに注目したい。各
リストの最左端でLOCATIONと記された欄にコンパイラが
発生したコードの各語に対する再配置可能アドレスが書
いてある。ソースライン(SOURCE LINE)と記入してあ
る欄には、関連するマシン指令を出した元のPASCALソー
スリストの行番号が載っている。このソースの行は得ら
れたマシンコードをその下に示して記入してある。付録
Dのページi(PAGE i OF APPENDIX D)の行26における
INDEX(これはMAINのPASCALソースリストの行18に関連
する)のように、使用者がそのソースプログラムで定義
した記号は記号INDEXを使用するコードになる。しかし
このINDEXを使用するには今は実行可能なマシン語プロ
グラムの分脈中に実行定義が必要になる。これは付録D
のページiの行42で、再配置可能な16進アドレスが0010
Hである「BSS1」を用いて行われる。ロジック・ステー
ト・アナライザを用いて、例題を実行するにはINDEXをM
AINのコンパイルしたコードに割当てられる0010Hに対す
る最終的な再配置可能数値に置き換えなければならな
い。FACTORで実行される最初の指令の絶対アドレスが何
であるかを従来のトレース仕様で実際に規定するには同
様なことを行う必要がある。 ユーティリティプログラムのPARAMETER5,MULTIPLY6,
およびBOOLEANIN7を再び呼び出す。コンパイラはこれら
のルーチンを使用するコードを発生する。付録Eのペー
ジi(PAGE i OF APPENDIX E)の14,22,および38の各行
のJSM指令を参照のこと。この例題におけるトレースに
はこのようなJSMとその関連動作とが含まれている。こ
のことは不合理ではなく、もし何か悪いものが得られれ
ばその故障の性格を理解するためこれらのユーティリテ
ィールーチンまたは他のユーティリティールーチンの動
作を調べなければならない。 さて実行時ライブラリの効用がその実際の意味がいつ
までも神秘に包まれている再配置可能なマシンコードプ
ログラムだけであるという装置が幾つかある。もっと進
んだ方法は実行時ライブラリに各用途に関する再配置可
能なコードだけでなく、ソースそれ自身かあるいは拡張
した編集を含んでいるテキストファイルを含ませること
である。この後者の方法が利用できれば、完全なトレー
スにより下記のそれぞれの段階の作業が、コンパイラが
実行するこのようなライブラリという実用的要素が無い
場合よりは少なくとも複雑にならない。付録のF,G,およ
びHはそれぞれ三つの実用ルーチンPARAMETER5,MULTIPL
Y6,およびBOOLEANIN7に対するアセンブラリストであ
る。 付録Iのページi(PAGE i OF APPENDIX I)は、プロ
グラムMAINからDATA BLOCKまでとライブラリプログラム
BOOLEANINからMULTIPLYまでの各々が実行のためどこに
ロードされているかを示すロードマップである。「PROG
RAM」と書いてある欄にはコードの各ブロックが始まる1
6進値が記載されている。 付録Iに載せたようなロードマップは、付録J,K,およ
びLに関する次の例が示すとおり、再配置可能なリスト
と共に記したプログラムの流をトレースするときに実質
的に必要になるものである。付録J(APPENDIX J)はロ
ジック・アナライザに、どのプローブがアドレス(Addr
ess)線路であり、どれがデータ(Data)線路であり、
どれが状態(Status)線路であるか、等々を知らせる様
式仕様である。各線路名は、データラベル(data labe
l)の下に記載されている。Status等のデータラベルは
複数の数値に関係している。すなわち二つ以上の状態が
存在する。これら各種の数値も記号的に表わすことがで
き、記号マップに並べることができる。フォーマットの
指定により、信号が従うことになっている電気的論理極
性と閾値レベルとを識別する。付録K(APPENDIX K)は
ロジック・ステート・アナライザがワークピースプログ
ラムの実行を監視しながら記録することになっている情
報の性格を定義するトレース条件である。例題を評価す
るのにBPC(Binary Processor Chip)の性質を調査する
ことは特に必要ではないが、その指令列、バス構造およ
び内部構成は米国特許4,180,854を参照のこと。 さて、付録Kのトレース仕様は、INDEXが整数値3を
割当てられたときトレースを開始し、アドレスがFACTOR
IALと等しくなり状態がオプコードと等しくなったとき
トリガするという条件である。このような意味を持つト
レースを作り出すには、「アドレス=???の後有効にせ
よ」のように一定のはっきりした数値を?として与えな
ければならない。すなわち、使用者は付録Kの第2行に
ある「8012H」にたどり着かなければならない。この特
別な例では「8012H」はMAINが始め8002Hでロードされ、
INDEXはMAINの10H(再配置可能)にあることに注目すれ
ば見つかる。8002Hプラス10Hイコール8012H。また、こ
れはそれ自身では手ごわい仕事ではないが、このような
算術は、トレースを中断すると非常に多くの箇所で必要
になる。更にまた、使用者が8002Hを記憶し、16進法で
加減することは極めて煩雑である。というのはプログラ
ムが変わると(大きなプログラムの途中ではこれは何回
も起ることがある)直ちに、全く異なる再配置基準に関
係すると思われる新しい再配置可能アドレスが現われる
からである。 そこで、これは付録L(APPENDIX L)に関する一般的
状況であり、この状況は付録AからHまでのプログラム
と付録Iのロードマップとに対する付録JおよびKにし
たがって得られた追跡の省略表現である。付録Lのペー
ジiのトリガ(TRIGGER)の行に「08013 LDA 8030」が
あることに注目する。付録Iのロードマップにしたがい
アドレス8013HはプログラムFACTORの出発点である。行
+004に「JSM 806D」があり、行+006の806DHへのアド
レスの変更が続く。付録Lのトレースを見ただけでは、
806DHの意味は不明である。806DHの意味を調べるために
は、まずロードマップ(付録I)を調べることによって
806DHが8069Hと808FHとの間に入り、そのため絶対アド
レス806DHがPARAMETERの何かを指すことを認識する必要
がある。PARAMETERに対するロードベースの16進値は806
9Hである。参照した場所からロードベースの16進値を差
引くと0004Hであり、これはPARAMETER中の再配置可能な
場所である。さてPARAMETERのアセンブリリスト(付録
Fのページii)の行49を見て、場所0004HはラベルPARAM
ETER ENTRYに割当てられていることに注意する。したが
って、「JSM 806D」は実際に「JSM PAREMETER ENTRY」
である。 同様な分析が他のアドレス変更(JMP,JSM,など)と関
連のRETとに適用される。 使用者がロジック・アナライザに供給する追加の「マ
ップ仕様」は、一般に仕様者が様式とトレース仕様とを
与えると同時に行われるが、これによりロジック・アナ
ライザは、シンボルによるトレース仕様に必要な再配置
を行うことができるとともに、シンボルによるトレース
リストの創出に必要な非再配置を行うことができる。付
録M(APPENDIX M)には二つの記号マップを有するこの
ようなマップ仕様が記してあり、その各々は単一の値ま
たは或る範囲の数値に対するいろいろな記号に関係して
いる。単一の値は任意の基数で独自に規定することがで
きるし又、無関係(don't care)を設定できる。これら
の数値は絶対値であり、ロードマップからあるいは絶対
リストから得られる。 一般の場合には、マップ仕様には一つ以上のこのよう
な記号マップの集まりが入っていることがある。二つ以
上の記号マップが必要になる理由は記号が一般にアドレ
スや状態等の論理的に支離滅裂な現象を表わしているか
らである。たとえば、先に記したBPCマイクロ処理装置
の場合には、ゼロのアドレスはAレジスタを表わすが、
ゼロの状態(一定の制御線路の組分け方法のうち与えら
れた選択に対して)は記憶書込サイクルを表わす。いろ
いろな種類の記号を別々の集まりに区分する必要がある
のは同じ値に対してこのように別々な独立の意味があり
得るからである。これらの集まりは一般に処理装置に出
入りする各種の記号によって表わされる仕事を機能的に
分割したものを表わしている。しかしながら、実際の電
気信号それ自身が支離滅裂であることは絶対的には必要
ではない。必要なのは論理的独立である。たとえば、BP
Cでは、アドレスおよびデータの線路は一つで同じであ
るが、異なる時には異なる種類の情報が発生する。クロ
ッククオリファイという性質(米国特許4,338,677参
照)によりロジック・ステート・アナライザがこのよう
な状況で論理的には分離しているが電気的には共通な構
成要素をデマルチプレックスできるようになる。 今度は特に付録M(APPENDIX M)を参照すると、第6
行に記号FACTORIALが単一の独得な絶対値8013Hと規定さ
れている。第7行で記号Zが絶対値22Hから0C2Hまでの
範囲として規定されている。この範囲内に入る値はすべ
て、その範囲に入ることもあり入らないこともある或る
基準の場所に関連してトレースリスト内に現れる。基準
の場所として範囲内の始まり、範囲の終り、あるいは0
を選択すると便利である。しかし、他の値でも許容さ
れ、実行される場合がある。たとえば、Z内の値はトレ
ースリスト中に記号Zプラスまたはマイナスオフセット
として現れる。ただし、ここではオフセットは42Hに関
係する。この特徴は指標がゼロの場合、記号がコンパイ
ラ群またはアレイの場合に有用である。 付録Mの第8行で、記号MAINが範囲の始まりに関係す
る絶対範囲8002Hから8012Hまでと規定されている。第14
行で記号STACKが範囲の終りに関係する絶対範囲0F9F0H
から0FA17Hと規定されている。 そして最後に、31行目で記号Errorが1×××B(×
は無関係の意味)と規定されている。2進の1000から2
進の1111までの範囲にある任意の値はトレースリスト中
に単に記号Errorとして現れる。 本実施例ではマップ仕様は二つの方法のいずれかで設
定される。第1の方法では使用者はいろいろなソフトウ
ェアツール(アセンブラ、コンパイラ、リンカなどで、
その中には被測定システム以外のいろいな場所にある異
種の機器で運転できるものもある)により供給される関
連情報を集めて希望するマップ仕様に対応する情報の表
を作り上げる。使用者は次にこの情報をキーボード等に
よりロジック・アナライザに入力する。マップ使用を入
力する第2の方法は使用者が或る大量記憶媒体のファイ
ルに正しい様式の情報表を準備することから始まる。次
にディスクまたはテープをロジック・アナライザ内の駆
動装置に装填し適切な分脈でロジック・アナライザにそ
のファイルを読み取ってマップ仕様を得るように命令す
ることによりマップ仕様がロジック・アナライザと交信
できるようになる。ファイルをRS232またはIEEE488のよ
うな適当なデータリンクで電送することができる。 マップ仕様の追加と関連して、関連の様式仕様へ変更
することが望ましい。変更した様式仕様を付録N(APPE
NDIX N)に示すが、これは付録Jに示した先の様式仕様
とは幾分異なっている。差異は第15行、26行、および37
行に現れている。第15行の意味はデータラベルアドレス
に対する省略時 の記号マップはAddress−という名の記号マップである
ということである。他の名前の他の適切な記号マップも
可能であり、望むならばその中の一つをAddress−の代
わりに使用することができる。状態マップについても同
じ一般的状況が存在する。第37行で該当する省略時マッ
プがStat−マップという名のマップとして識別される。
名前の異なる他の状態マップも同様に存在することがで
きる。また第26行で省略時データマップの存在が否定さ
れている。このようなマップが無いということはデータ
の数値がトレースリスト中で単にその絶対値で表わされ
ているということを意味する。この例では、このような
絶対値のベースが逆に仕様が存在しないときに16進にデ
フォルト設定される。最後に、フォーマット仕様の中
で、このような省略マップを規定しても省略状態が実際
に達成された場合どの記号マップを使用するかを選定す
るにすぎない。幾つかの特殊な記号マップを指定するこ
とができ(他のどこか(somewhere else))、この場合
省略状態は得られない。この「他のどこか」はトレース
リスト中にあり、これも今は、たとえば付録Kに出てい
たものと幾分異っている。さて付録O(APPENDIX O)に
は、修正されたトレース仕様が示されている。これは付
録Kで規定したと同じ測定を行うための記号を使用して
いる。ただし、記号マップを記してないが、付録Nの省
略選択機能が実行される。付録Oにはもう一つのトレー
ス仕様も示してありこれは完全に別な測定を行うことに
なる。それはフォーマット仕様の中の与えられたデータ
ラベルに関して規定されたデフォルト選択を無視する記
号マップを記述するからである。重要な点は記号マップ
仕様を実際に実行することは修正されたトレース仕様で
発生するということである。 さて付録P(APPENDEX P)のページiおよびiiに示し
たトレースリストを付録Lに示したトレースリストと比
較する。特に、付録Lの行+004と付録Pの行+004とを
比較する。逆アセンブルされた指令が「JSM 806D」と表
わされているのに対し、後者では「JSM PARAMETER+000
4」となっている。「PARAMETER+0004」はパラメータ・
パス・ルーチン5に対するソースプログラムに出てくる
記号「PARAMETER−ENTRY」に対応するPARAMETERという
名のファイルの中にある再配置可能な場所を表わす。こ
の場合付録Mのマップ仕様には記号「PARAMETER−ENTR
Y」は入っていないので、8069Hから808EHまでの範囲内
の数値への参照はすべて範囲の始まりに関係する値にマ
ップされる。絶対値806DHと記号PARAMETER−ENTRYとは
共にその範囲の第4の場所である。 再び付録Mのマップ仕様を参照する。記号のFACTORIA
Lは絶対値8013Hと規定されていること、および記号FACT
ORは8013Hから8038Hまでの範囲と規定されている。FACT
ORIALはこのようにFACTOR内の値である。さて付録Pの
ページiのTriggerの行を見よう。FACTORIALと規定され
ている特殊な値はたとえば行+001から005までに書かれ
ているように範囲FACTORの始まりに関係する値としてよ
りはFACTORIALとして表わされている。 付録Pのページiで行+066と+077とで基準位置の反
対側にある範囲Zをデマップ参照している。行+075は
その定義範囲0F90FHから0FA17Hの終りに関係してデマッ
プされたSTACKへの参照を表わしている。 今度は付録PのTrigger行から+005、+066、+075、
および+077までと付録Lの同じ行とを比較する。付録
Pのトレースリストはかなり使いやすいということが明
瞭である。更に付録Lのトレースリストでは、指令それ
自身は逆アセンブルされているがオペランドとアドレス
とはソースプログラム作成の記号への結びつきが不明確
のままになっているものが多数存在する。付録Pのトレ
ースリストは行+065から+074までトレースは実用プロ
グラムBOOLEANIN7でのプログラム実行にかんけいし、そ
の後プログラム実行はFACTORというラベルのついた範囲
に移り、FACTORの限界は実行可能なコードの範囲まで使
用者が書いたサブプログラムへFACTOR3に対応すること
がわかっているということが明らかであるという点にお
いて明確な対照をなしている。 付録Pを改良したトレースリストは、一部は、付録M
のマップ仕様を媒介として可能である。しかしながら、
その特殊なマップ仕様は、はっきり改善はされるが、な
お使用者の例で過度な動作を付け加える必要がある。す
なわち、使用者は各種の記号の名前とその数値とをキー
インしなければならない。これは付録Qを取巻く環境と
は対照的である。 再び簡単に付録Iに戻って、リンカからの作表出力
(すなわち「ロードマップ」)に関する情報の断片の一
つが第18行に「absolute & link−com file name=W
ORKPIECE:EXAMPL」として出ていることに注意する。こ
れの意味は「WORKPIECE:EXAMPL:link−sym」と指定した
関係ファイルに、数ある中で、「使用者区画」という名
の範囲の記録と記憶装置内のそれに関連する始まりと終
りの場所とが含まれているということである。使用者区
画の名称はリンクされロードされる各種プログラム区画
のファイル名と同じである。 そて付録Qに戻って、 「....link−sym file WORKPIECE:EXAMPLを定義せ
よ....」というような命令を考える。 この命令は使用者がマップ仕様の一部としておよび記
号の名前とその範囲とをキーインする代わりに発する。
「...定義せよ(define)....」の命令それ自身は付録
Qの一部として示してはないが、寧ろその命令を発した
結果である。この結果は付録Qの第25行から34行までの
「linked−files」情報である。これは付録Mで利用で
きるものと比較して、幾つかの余分な情報をマップ仕様
の一部にするものである。この余分な情報は記号の範囲
に対する始めと終りの値が与えられていることである。
これによってアドレスあるいはオペランドがそれを絶対
値で表現するという簡単な手段で任意のこのような範囲
の外にあり、一方このような範囲内にあるものは特定の
独特な記号としてあるいはその範囲に関連する特殊な記
号に関係するものとして表現されるということをトレー
スリストの中でしめすことが後に可能になる。 得られたトレースリストを検討する前に、幾分異なる
トレース仕様をも考えなければならない。使用者は、こ
の点で、トレース仕様を記号INDEXおよびFACTORIALで考
えることになる。しかし付録Qの新しいマップ仕様で
は、情報は絶対的に示されているが、これらの記号は明
快には示されていない。すなわち、記号INDEXはMAIN:EX
AMPL(付録Dの第44行)という名のファイルに全体的で
あると宣言されており、記号FACTORIALはFACTOR:EXAMPL
(付録Eの第55行を参照)という名のファイルに全体的
な機能であると宣言されている。この絶対的な接続はト
レース仕様の中でファイル名MAIN:EXAMPLと記号INDEX、
ファイル名FACTOR:EXAMPLと記号FACTORIALとを結び付け
ることによって明快になる。付録R(APPENDIX R)の第
2行および第4行を参照のこと。 次に付録S(APPENDIX S)のページiおよびiiに示し
てある得られたトレースリストを考察しよう。まず、行
+004の例を観察する。追跡のこの行は今は「FACTOR+0
0002 JSM PARAMETER−ENTRY,PARAMETER....」と表わさ
れている。付録Sの行+004と付録Pの行004との差異は
JSM指令のオペランドが単にPARAMETER+0004ではなく今
度はPARAMETER−ENTRYと表わされていることである。こ
れはPARAMETER:EXAMPLを組立てると作られるファイルの
検査に基づいている。このファイルの実際の完全な仕様
はPARAMETER:EXAMPL:asmb−symである。これはファイル
を管理し、コンパイラ、アセンブラ、およびリンカなど
を管理するのに用いるオペレーティングシステムが仕様
している「file name:user id:file type」の規則を表
わしている。JSMのオペランドに続く「PARAMETR」は完
全なファイル仕様を参照する。それはJSMのオペランド
を記号的に表現するために仕様するファイルを識別す
る。しかし表示装置は80欄に限られており、また使用者
はこのような「name:user id:type」の規則を認識でき
ると思われるので、ただ名前の部分だけを与えることが
一般には適当な折衷案となっている。 付録PおよびSのようなトレースリストでは、全体値
(ロジック・ステートアナライザから生じる状態解析)
から記号(リンカーが使用するファイルの中にある)を
見ている。付録Sのトレースリストに対するマップ使用
に組入れられているファイルWORKPIECE:EXAMPLの中の情
報のもっと包括的な性格により、記号の絶対値を見つけ
るための動作はすべてのアドレスおよびオペランドに対
して行うことができる。たとえば付録Sの行+006を参
照。それは単に「...PARAMETER+00004 STA PARAMETER
+0000.....」ではなく、「....PARAMETER−ENTRY,STA
DOPEVECTOR,PARAMETER....」と表現されている。 付録Sに関連して述べたように、一旦記号名に対する
ソースファイルを検査する能力が手に入ると、トレース
により捕えられる実行時動作を発生した元のソースプロ
グラムの行番号をトレースリスト中に入れることも可能
になる。たとえば、付録T(APPENDIX T)で、Trigger
行から+004まではソースプログラムの行#8と関連し
ていることがわかる。このような関連はコンパイルされ
たソース行に限られる。アセンブルされたソース行は既
に一般的には、その一語一語あるいは1バイト1バイト
の性質およびその性質が実行可能なオブジェクトコード
に類似していることにより、トレースリストと一対一の
対応をしている。 付録Tは前と同じトレースリストで、このようなソー
ス行番号が追加されている。たとえば、付録Tの行−00
2に、 「....#18 MAIN00−L2,MAIN STM....」と表記されて
いる。 この意味はMAINという名のファイルの或るソースプロ
グラミングの行18にコンパイラがラベルMAIN00 L2を発
生し実行可能な指令JSMなどを発したということであ
る。次の実行可能な指令はFACTORなどという名のファイ
ルにあるソースから来る。 今度は付録U(APPENDIX U)を考察する。ここにはこ
の議論を通じて使用している例題のトレース使用のため
の完全なトレースリストがある。行番号が含まれている
ばかりでなくそれぞれの関連する原始行の一つの写しも
異なるソース行番号のそれぞれのブロックの始めに入っ
ている。 第2図は本発明のロジック・アナライザのブロック図
が示されている。第2図にはロジック・ステート・アナ
ライザとエミュレータの両方が含まれている。第2図に
示すように、ロジック・ステート・アナライザモジュー
ル8とエミュレータモジュール9とが設けられていて協
働するとともにホスト・システム10で支援されている。
エミュレーション・バス・プリプロセッサは一般にスイ
ッチング要素13および14に対応する。 第2図に示すとおり、ロジック・ステート・アナライ
ザモジュール8はデータを、被測定システム50に接続さ
れたクロックプローブポッド11およびデータプローブポ
ッド12あるいはエミュレータモジュール9を介して受取
ることができる。本発明はいずれの場合でもロジック・
ステート・アナライザモジュール8が受取ったデータで
動作する。これを容易にするため、ロジック・ステート
・アナライザモジュール8はスイッチング要素すなわち
マルチプレクサ13および14を組入れている。 ホストシステム10はエミュレータモジュール9および
ロジック・ステート・アナライザモジュール8の両方の
動作を制御する。この目的のため各種の命令を含むオペ
レーティングシステムがシステムROM15にコード化され
ており、マイクロ処理装置17で実行される。この制御で
はキーボード18および表示装置19を介して使用者と相互
動作をし「ソフトキー」、「ソフト前面パネル」、「有
向分脈」などのような概念が含まれている。22はI/Oバ
スである。大容量記憶装置20が存在する場合には一定の
共通に使用する設備を確立する命令ファイルを再呼び出
しされるラベル付命令ファイルに貯え、随意に実行する
ことができる。同様に、いろいろな測定の結果を後々の
解析と比較とのために貯えておくことができる。 エミュレータとロジック・アナライザとのモジュール
8との制御には多様な情報の表を準備することが含まれ
ており、この情報の或るものはシステムRAM16の領域
に、また或るものはモジュール8と9との中に存在する
呼び出し可能な場所に保持されている。これらの場所は
マイクロ処理装置17が開始するマイクロ処理装置アドレ
ス/データバス21上の記憶サイクルに応答する。これに
よってトリガ認識装置23と記憶認識装置24とは使用者が
個別に且つ選択的にプログラムできるようになり一定の
測定に対するその適切な認識作業を行うことができる。
これらの作業により窮極的に、トレース記憶装置25に記
憶されている状態バス26上に状態データを生ずる。これ
はトレースリストの生のデータであり付録P,S,Tおよび
Uのいずれかに記したように様式化されることになる。 このような様式化は一部には、第2図に示す好ましい
実施例においてホストシステム10のシステムROM15にコ
ード化されるオペレーティングシステムにより実行され
る各種ルーチンにより行われる。これにはシステムRAM1
6および大量記憶装置20のいずれかにいろいろに見出す
ことができる情報のいろいろな表やファイルを検査する
ことが含まれている。この必要な情報の多くは、先に述
べたとおり、使用者がいろいろなソフトウェアのツール
を用いてトレースリストの対象となるいろいろなプログ
ラムやデータ構造とをコンパイルし、アセンブルリンク
し、ロードするとき発生する。今度はこの情報がまさに
何でありまた付録P,S,T,およびUに描いた種々のトレー
スリストを作るのにそれがどのように使用されるかに戻
ることにする。 付表は第1図のワークピースの例題プログラムを発生
し、ロードし、実行する途中で作り出される各種ファイ
ルの概略配置を示す。これらのファイルと関係のある付
録の部分をも表してある。 第3図は付録P,S,T,およびUの再配置しない作表を作
るに際し関係のある特殊な種類のデータとともに関連す
るトレース仕様、フォーマット仕様およびマップ仕様を
図式に配列したものである。特に捕捉データ27はロジッ
ク・ステート・アナライザモジュール8がトレース記憶
装置25に記憶させることになるものである。これは使用
者にできるだけ役に立つように且つできるだけ容易に翻
訳できるように動作することになっている生の情報であ
る。 これは、次には、ソフトウェア記号28または分析記号
29のいずれかに分類される一定のトレース記号32を正し
く翻訳することによって行われる。ソフトウェア記号28
は単に各種のソースプログラムに現れる記号であり、コ
ンパイルおよびアセンブリによって通過する記号であ
る。分析記号29はロジック・ステート・アナライザモジ
ュールを操作する者が、プログラミングで何が既に指定
されているかを問題にする場合に必要となる記号であ
る。本実施例では、該当するそれぞれの被測定システム
の信号線に関連し又、いろいろな値をとることができる
データラベルの場合を示す。たとえば、3本の線路は状
態と呼んでもよいし、読取、書込、指令フェッチなどを
意味するいろいろな絶対値を有してもよい。このいろい
ろなデータラベルは異なる値が記号名称を与えられてい
るマップと関係づけることができる。更に、解析を行う
者は、その実行がトレースされている特別なプログラミ
ングの解析のためだけに該当する記号を規定することが
できるし、その記号を記号マップに追加することができ
ない場合には記号はソースに追加されなければならない
ことになる。それらを記号マップに追加すれば編集、再
編集、再組立、再ロードなどの必要が無くなる。 データラベル30はフォーマット仕様34により規定され
るが、記号マップ31はマップ仕様33により規定される。
一旦この二つの仕様が作られるとソフトウェア記号28か
解析記号29かのいずれかである記号をトレース仕様35に
使用することができ、次いで再配置しないトレースリス
ト36に入れてよい。それ故、ソフトウェア記号28と解析
記号29とが結び付いたものをトレース記号32と言う。 第4図は対応する絶対アドレスを有するトレース仕様
35の中のソフトウェア記号28を置き換えるプロセスの流
れ図である。解析記号29をトレース仕様に入れることも
できるが、その絶対値は関連の記号マップ31から得られ
る。これに対する流れ図は省略した。第5図はロジック
・ステート・アナライザが作り出すトレースリストの中
の絶対値を取除き、その絶対値を第3図のいろいろなト
レース記号にしたがって記号に置き換えるプロセスの流
れ図である。この流れ図は、規定されているいろいろな
種類の記号を探す手順を示している。使用者が、関連す
る絶対値が関連する他の信号を持っている記号マップ内
の記号をソフトウェア記号の集まりから規定する場合に
は、解析記号はトレースリストにしようする記号であ
る。これによって、デバッグの過程で使用者がソースプ
ログラムを編集せずに且つ再編集、再組立、および再ロ
ードをせずにソフトウェア記号を命名し直すことができ
る。 以下の事は、それぞれ付録TおよびUに記載されてい
るようなソース行番号およびソース行を含んでいるトレ
ースリストに適用される。すなわち、行番号はコンパイ
ラで発生し:asmb−symファイルに現れる。行は、あたか
も記号であるかのように、リストの中で一般にはそれ自
身の欄に現れ、第5図の流れ図のアルゴリズムと同様な
アルゴリズムで抽出することができる。特に、判断37を
通して肯定(YES)の径路に関連する小さな変更をする
ときは必要な場合行番号が提供できるようにプロセス38
と39とを調節しなければならない。また、ソース行自身
をも希望する場合には、プロセス38もソース行を提供す
る。 次の注意は本発明が記憶装置制御ユニット(MMU)を
組込んでいる被測定システムに関連して使用する場合に
適用する。このようなシステムではMMUは処理装置と記
憶装置との間の記憶バスを横取りする。論理解析器のア
ドレスプローブが処理装置とMMUとの間にある実質上の
アドレスに接続されている場合には特別な考慮を払う必
要はない。MMUの存在は見分けられない。 しかしながら、アドレスプローブがMMUと記憶装置と
の間にある物理的アドレスに接続されている場合には一
般に幾つかの特殊な動作が必要である。まず、MMUは一
般にオペレーティングシステムが決定しまたは選択した
量にしたがって記憶サイクルのアドレスを調節すること
になる。この量は幾つかの呼出し可能なレジスタの内容
であることもある。ロジック・アナライザはそのレジス
タへの書込み動作を監視してMMUに通している指令を知
らなければならないことになる。次に生のトレース情報
の絶対値と利用できるトレース記号との間のマッピング
およびいろいろな追跡、様式、およびマップの仕様に使
用する記号とその関連する絶対値との間の他の方向のマ
ッピングに対して第3図の関係に変更がある。上記の最
初のマッピングの場合には、予備減算は物理的記憶場所
を作る。 前述したとおり、加えた量は、MMUに供給され論理解
析器により監視され、前の指令に対応することになる。 本発明を利用する他の方法は第2図の大量記憶装置内
のファイルが一度トレース記憶装置25の中にあったトレ
ースの像を含んでいる状態に関するものである。このよ
うなトレースのファイルはロジック・ステート・アナラ
イザモジュール8から発生することすら必要とはしな
い。その中のデータは全く異なる状況下で集められ、取
りはずし可能な記録媒体および適当なデータリンクによ
る伝送を含む多数の便宜な手段で大量記憶装置20に到達
して差し支えない。一旦大量記憶装置20に入ると、この
ようなファイルは本発明により、それがあたかも実際に
トレース記憶装置25から来たように動作する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a logic analyzer having a disassembly function.
Converts input data to the corresponding symbol set for Iza
Logic analyzer with display function. Execution of a system mainly composed of processing units
Relocatable objects to develop possible code
Use compilers or assemblers that generate code.
And very many. Such a program is continued one after another.
And load it from the logic state analyzer.
It takes time to recognize the list of available traces
In the worst case, it cannot be recognized. Even a disassembler
Also use any address signal in the original source program
Cannot be replaced with the corresponding symbol. To replace
How different software tools interact
How to create relocatable object code
Need to know how to make the final absolute value
You. Turn traced events into a set of source programs
A significant amount of non-decimal arithmetic is required to make
You. The hardware of the system under test must be normal
I know, debugging is just software
The problem becomes even more complicated. But many
Hardware and software bugs
there's a possibility that. So what happened
Therefore, it is possible to analyze based on information trace
Of particular importance. Does not work as programmed
In many cases, in this case, trace
It is not wise to think of a hardware version of
Think of the gram list as a guide for understanding the trace
Is useful. Therefore, if you do not rearrange the trace,
Traces can be quite annoying. tray
The absolute value corresponding to the address and operand
It is particularly desirable to replace the symbols with those used in the original source program.
It will be better. Such symbols are in individual places or
Refers to a range of locations. Enter source program
If you can define similar symbols in addition to
Useful. The reference sign of the line number in the source program is
Race or on the line of the actual source program
It is also useful. This caused the entire program flow
It will be a great help when going. In the logic analyzer of the present invention,
Other improvements and troubleshooting related to the operation of the remote machine
Includes items related to Statema
The trace for thin is 001001,010001,010011 etc.
This is a series of successive states. In such a state, "IN
"CP-REG" (step up the P register), "WAIT-MEM"
C ”(wait for storage to complete) or STM (note
Start a memory cycle)
Often it is possible. Logic analyzer tray
That such labels can be used
Is desirable. Each state in this list is a label or a label
Will be one of the values associated with Some in the latter case
Several states during the process, for example a memory read cycle
There may be. Label RMCY indicates the initial state of the process
You. RMCY + 3 is in the group labeled RMCY
This shows a fourth state. The logic analyzer source program described here
Ability to include system symbols and lines in the trace list
Forces the code (absolute or re-
Compiler or assembler that generated
Calling the symbol table created by
Link analyzer or relocation loader
Arising from invoking your decision. This information
Use the logic analyzer during various inspection processes.
Can be used in the trace list
it can. Yet another benefit comes from the ability to do this. logic
Analyzer extends the process of defining trace conditions
And can be simplified. Depends on trace conditions
This determines the conditions for starting the trace and the information to be imported.
You. According to the invention, which absolute value is taken
Without knowing, write the source program in the trace condition.
No. can be used. This means that their absolute values
When a bug is found and fixed or in a different variant
Change as software is developed and tested
This is extremely useful. However, various symbol tables and low
Logic analysers configured to use map
Isa simply means that one or more programs have a different length than before.
Or the program is loaded in a different order
Need to change the trace condition
There is no. Depending on the symbolic nature of the relocatable trace condition,
It becomes unnecessary. These principles are based on a system under test incorporating a memory management device.
Applies to logic analyzers done with
Can be extended to In such a system to be measured,
The relocatable address at which the processing device operates
Is further modified in real time by the storage manager
A de facto address. The corrected address is stored in memory
The actual physical address sent to the device. The value is
Which parts of storage are assigned to which programs or tasks
It is determined by the operation time condition indicating whether the operation has been performed. This percent
This is dynamic and generally involves relocation addresses that exist during operation.
Given as a fixed absolute offset to be applied to the
I can not do such a thing. This relocated address is itself
Assembler or compiler generated based on some relocation
This is the offset from the relocated address. like this
Addresses managed by various storage devices are displayed in the source list.
A certain amount of offset from the relocatable value
Dynamically offsetting relocated values
Contains some absolute values resulting from The above dynamic offset is handled in the system under test
Not a separate one for
It need not be obscure to the riser. Various
Symbol representing dynamic offset to logic analyzer
Can be defined for Then the flow of offset
Certain criteria for maintaining public knowledge of
(Determined by the system to be measured)
Analyzer configured in accordance with the embodiment of the present invention
Continuously adjusts the "true" absolute trace specifications during operation
Tracing using the symbol determined by the user
Can be. Also, when the trace is at a position in the storage device,
A trace on a dynamically determined program
Even primitive symbols can be inserted into the trace list
Noh. Hereinafter, an embodiment of the present invention will be described. FIG. 1 is a block diagram of the logic analyzer used in the logic analyzer of the present invention.
Diagram showing the outline of the program and showing the functional relationships between the components
It is. Referring to Appendices A to U and referring to FIG.
The operation and utility of Ming will also be described. Then, from FIG.
The internal operation of the present invention will be described with reference to FIG. In FIG. 1, the main program 2 and the related sub
Gram 3 is a data structure 4 named "DATA-BLOCK"
Work with. In the case of this embodiment, the program 2 and the sub
Written in Pascal language together with Program 3
Have been. The name of the main program is "MAIN"
The name of the program is "FACTOR". These two paths
Related to local programs and their data structures.
While compiling RAM MAIN and FACTOR, PASCAL compiler
Utilities from the runtime library called by
There is a security program. It's called PARAMETER
Parameter Pass Routine 5 and the name MULTIPLY
Multiplication routine 6 and the specified bit in the specified word
BOOLEANIN to check if it is set
Name routine 7. For example, BOOLEANIN is PASCA
Used to evaluate the L "IF" statement. Below, this program
Let us briefly consider each of the system elements. Page i of Appendix A contains a page
The source list in PASCAL language of the program MAIN is shown
ing. Program MAIN sets data structure DATA BLOCK to 0
To the successive factorial powers of up to 20 consecutive integers. To do this
Is an external name that is conveniently named DATA BLOCK
Reference an integer array. The index into the array is INDEX
Named and supplied with an external FACTORAIAL
A value n! Is sent back to the integer n. A simple FOR
The loop calculates the factorial of the value of the index
Assign if specified. This is the point from 0 to 20
Data value. Source of functional subprogram FACTOR in PASCAL language
List on Page i of Appendix B (PAGE i OF APPENDIX B)
Show. About the logical structure of subprogram FACTOR3
Not detailed. Programs MAIN2 and FACTOR3 are just example situations
As part of the work piece. This is FA
Includes confirmation or troubleshooting of CTOR operation
I have. More specifically, this example involves three supply values.
Includes tracing FACTORIAL behavior
You. To do this, pass the parameter NUMBER to the function FACTORIAL.
And execute the IF statement on statement number 10 using BOOLEANIN
Items such as summing with sentence number 12
You. To state these matters, the relevant part of the trace is
To consider with the Gic State Analyzer
So during this important part of FACTORIAL
Because you can observe what is happening. In short, this
The idea is that the input, the output, and some important points in between
Is to observe. Page i of Appendix C (PAGE i OF APPENDIX C) is MAIN
Satisfies the referenced "external" and satisfies the storage requirements of the integer array.
Annotated assembly language program DATA BLOCK to give
It is. The operation part of the DATA BLOCK is line number 21. here
Has 21 words under the "BSS21" directive, the first of which
Is related to the symbol DATA BLOCK. Program DATA BLO
CK should not generate executable code
Is also a text file that can be assembled
Program by taste. The important thing in the current example it does
Is the name of all assembly language labels in the program.
To create a symbol table. One of them is DATA BLO
CK. This becomes important for words. Important incidental matters
"BSS21" directive is still a program size value
Is to increase. This will later be
An easy way to make BLOCK look 21 words long
Therefore, those words are generated by the assembler
Has the effect of retaining 21 words even if it does not contain
You. To run the workpiece program, run the program
Compile MAIN2 and FACTOR3 with appropriate PASCAL compiler
And insert DATA BLOCK4 into the appropriate assembler (i.e.
Process in the system under test that executes the
Must be assembled in one of the
No. Then you have to rearrange and load all the work
Absent. Then the work piece program becomes executable
You. During this run, the logic analyzer
The specified condition (defined by the trace condition) has occurred
To select all events or only selected events.
It can be traced selectively. (All here
Event will be selected). The format format is "A
Dress, Data, and State logic configurations
Characteristics of the electrical signals monitored by the
Match to special groupings. The trace obtained is a trace
Record of system operation near the conditions specified in the
You. In the trace in each appendix, the trigger event is
It is traced third and traced from a large number of traces.
You can see what happened following the Riga event. But first
First, compile and load programs MAIN2 and FACTOR3.
Must be done. Appendix C uses DATA-BLOCK4
The results have already been shown. With this in mind, programs MAIN2 and FACTOR3
Compiled extension compiler for Appendix D and E
Think of a table. The ultimate goal of the example follows the trace condition
Is to get a good trace. Where INDEX is an integer
Ready to start tracing when assigned the value 3
And the address is equal to FACTORIAL and the status is opcode
Indicates when to trigger when is equal to (ie,
The first object code directive for FACTORIAL is
Fetched for execution). Such traces
In order for the matter to be effective,
Syntax features of each logic state analyzer
According to the appropriate switch settings and key movement union
Not only have to translate
Special (ie absolute) for things like NDEX
You must give an address and a number. Also FACTOR
If the user calls another routine, the user
The addresses in those parts of the
Not ready to translate to a meaningful place
I have to. To do this, the user must use a linker or
Using the roadmap provided by the relocation loader
Knowing which routine contains such an address
Check the compiler table for that routine and
Trace what actions are represented by the trace
become. Duplications in the lists of Appendixes D and E in connection with these operations
Note that several important items appear. each
In the leftmost column of the list, the compiler will write
The relocatable address for each word of the generated code is written.
There is. Enter SOURCE LINE
Column shows the original PASCAL source that issued the relevant machine directive.
The line number of the list is listed. I got this source line
The machine code is shown below and entered. Appendix
On line 26 of page i of page D (PAGE i OF APPENDIX D)
INDEX (this is related to line 18 of the MAIN PASCAL source list)
User defined in the source program.
The resulting symbol becomes a code that uses the symbol INDEX. However
To use this INDEX, you now have an executable machine language
Execution definitions are needed during the gram shunt. This is Appendix D
In row 42 of page i, the relocatable hexadecimal address is 0010
This is performed using "BSS1" which is H. Logic stay
INDEX to run the example
For 0010H assigned to AIN compiled code
Must be replaced with the final relocatable number
No. What is the absolute address of the first command executed by FACTOR
Is actually specified by the conventional trace specification.
You need to do something like that. Utility programs PARAMETER5, MULTIPLY6,
And call BOOLEANIN7 again. The compiler uses
Generate code that uses the routine. Page of Appendix E
Lines 14, 22, and 38 of PAGE i OF APPENDIX E
See JSM Directive. In the trace in this example
Includes such a JSM and its related operations. This
Is not unreasonable, if something is wrong
If these utilities are used to understand the nature of the failure,
The behavior of a utility routine or other utility routine
You have to check the work. Now, when does the utility of a runtime library actually mean
Even a mysterious relocatable machine cord
There are some devices that are only programs. More progress
Methods can be relocated to the runtime library for each application
Not only functional code, but also the source itself or extensions
Include a text file containing the edited content
It is. If this latter method is available, a complete tray
The work in each of the following stages depends on the
There is no practical element of such a library to run
It is at least less complicated than it is. Appendix F, G, and
And H are three practical routines PARAMETER5 and MULTIPL, respectively.
Assembler list for Y6 and BOOLEANIN7
You. Page i of Appendix I (PAGE i OF APPENDIX I)
Gram MAIN to DATA BLOCK and library program
Where for each of up to MULTIPLY is run from the BOOLEANIN
It is a road map indicating whether or not the data is loaded. "PROG
Each block of code starts in the column labeled `` RAM''1
Hexadecimal value is described. Roadmaps such as those in Appendix I are included in Appendixes J, K, and
Relocatable list, as shown in the following example for
When tracing the flow of the program written with
It is what you need. APPENDIX J
Which probe is the address (Addr
ess) tracks, which are data tracks,
To let you know which is the status line, etc.
This is an expression specification. Each track name has a data label (data labe
l) It is described under. Data labels such as Status
Related to multiple numbers. That is, two or more states
Exists. These various numerical values can also be represented symbolically.
Can be arranged in a symbol map. Format
By design, the electrical logic pole that the signal is to follow
Gender and threshold level. Appendix K (APPENDIX K)
Logic State Analyzer works on workpiece
Information that is to be recorded while monitoring the execution of the ram
These are trace conditions that define the nature of the report. Evaluate the example
To investigate the properties of BPC (Binary Processor Chip)
It is not necessary, but the command sequence, bus structure and
See U.S. Pat. No. 4,180,854 for the internal configuration. By the way, the trace specification in Appendix K indicates that INDEX
Start tracing when assigned, address is FACTOR
When equals to IAL and state equals to opcode
It is a condition to trigger. To have this meaning
To create a race, enable "After address = ???
A constant and clear numerical value like "Yo"Don't give as
I have to. In other words, the user is in the second line of Appendix K
You have to reach a certain "8012H". This feature
In another example, "8012H" starts at MAIN and loads at 8002H,
Note that INDEX is at 10H (relocatable) of MAIN
Can be found. 8002H plus 10H equal 8012H. Also,
This is not a formidable task by itself, but
Arithmetic is needed in so many places when tracing is interrupted
become. Furthermore, the user memorizes 8002H, in hexadecimal notation
It is very complicated to adjust. Because it is a program
When the program changes (how many times this
May immediately be involved in completely different relocation criteria.
A new relocatable address appears to be involved
Because. So, this is a general statement about APPENDIX L
This is the situation, which is the program from Appendix A to H
Appendixes J and K to
This is an abbreviation of the tracking obtained. Page of Appendix L
"08013 LDA 8030" is displayed in the line of trigger (TRIGGER)
Note that there is. According to the roadmap in Appendix I
Address 8013H is the starting point of program FACTOR. line
+004 has "JSM 806D" and the line +006 is added to 806DH.
Les changes continue. Just looking at the trace in Appendix L,
The meaning of 806DH is unknown. To find out the meaning of 806DH
By first examining the roadmap (Appendix I)
806DH enters between 8069H and 808FH, so absolute
Need to recognize that Les 806DH points to something in PARAMETER
There is. The load-based hexadecimal value for PARAMETER is 806
9H. Subtract load-based hexadecimal value from referenced location
Subtract 0004H, which is relocatable in PARAMETER
Location. Well, the assembly list of PARAMETER (Appendix
Looking at line 49 on page ii) of F, location 0004H is labeled PARAM
Note that it is assigned to ETER ENTRY. But
So, "JSM 806D" is actually "JSM PAREMETER ENTRY"
It is. Similar analysis is related to other address changes (JMP, JSM, etc.).
Applies to RET and RET. Additional “macro” supplied by the user to the logic analyzer
In general, the specification specifies the style and trace specification.
And at the same time
Risers are relocated as required for symbolic trace specifications
And trace by symbol
The non-rearrangement necessary for the creation of the list can be performed. Attached
Record M (APPENDIX M) has two symbol maps
Such map specifications, each of which is a single value
Or in relation to various symbols for a range of numbers
I have. A single value can be specified independently in any radix.
You can also set irrelevant (don't care). these
Are absolute values, from the roadmap or absolute
Obtained from the list. In the general case, one or more of these
May contain a collection of unique symbol maps. Two or more
The reason why the above symbol map is necessary is that symbols are generally
Represent logically incoherent phenomena such as
It is. For example, the BPC microprocessing device described earlier
, The address of zero represents the A register,
Zero state (given certain control line grouping methods
Represents a store write cycle. Color
Need to separate different types of symbols into separate groups
Are thus separate and independent for the same value
Because you get it. These collections generally go to processing equipment.
Functionally represent the work represented by the various symbols that enter
This shows the split. However, the actual
It is absolutely necessary for the air signal itself to be incoherent
is not. What is needed is logical independence. For example, BP
In C, the address and data lines are one and the same.
However, different types of information occur at different times. Black
Qualify properties (see US Patent 4,338,677)
This makes the logic state analyzer
Are logically separated but electrically common
Components can be demultiplexed. This time, especially with reference to Appendix M,
The symbol FACTORIAL is specified on the line as a single unique absolute value 8013H
Have been. In the seventh line, the symbol Z is from absolute value 22H to 0C2H.
Defined as a range. All values that fall within this range
And may or may not fall within that range
Appears in the trace list in relation to the reference location. Standard
Start of range, end of range, or 0
It is convenient to select. However, other values are acceptable
May be executed. For example, the value in Z
Z plus or minus offset in source list
Appear as. However, the offset here is related to 42H.
Be involved. This feature indicates that if the index is zero, the symbol is compiled.
Useful for groups or arrays. In line 8 of Appendix M, the symbol MAIN relates to the beginning of the range
The absolute range is defined as 8002H to 8012H. 14th
Absolute range 0F9F0H where the symbol STACK on the line relates to the end of the range
To 0FA17H. Finally, on the 31st line, the symbol Error changes to 1 ××× B (×
Is irrelevant meaning). Binary 1000 to 2
Any value in the range up to 1111 hex in the trace list
Simply appears as the symbol Error. In this embodiment, the map specification is set in one of two ways.
Is determined. In the first method, the user can use various software.
Hardware tools (assembler, compiler, linker, etc.)
Some of them are located in various places other than the system to be measured.
(Some can be operated with different types of equipment).
A table of information corresponding to the desired map specification by collecting the information
Make up. The user then puts this information on a keyboard, etc.
Input to the logic analyzer. Turn on map use
The second method is to allow the user to copy files from a mass storage medium.
Start by preparing the information tables in the right format. Next
Insert a disk or tape into the logic analyzer
And load it into the logic analyzer
Command to read the file and get the map specification
Communication with the logic analyzer
become able to. File RS232 or IEEE488
It can be transmitted by any suitable data link. Changes to related style specifications in connection with the addition of map specifications
It is desirable to do. Appendix N (APPE
NDIX N), which is the previous style specification shown in Appendix J.
And somewhat different. Differences are at lines 15, 26, and 37
Appearing in a row. The meaning of line 15 is the data label address
The default symbol map for is the symbol map named Address-
That's what it means. Other suitable symbol maps of other names as well
It is possible, and if desired, one of them can be
Can be used instead. Same for the state map
The same general situation exists. The default map that applies on line 37
The map is identified as a map named Stat-Map.
Other state maps with different names can exist as well.
Wear. Line 26 denies the existence of the default data map.
Have been. The lack of such a map means that the data
Is simply represented by its absolute value in the trace list.
Means that In this example,
The absolute value base is reversed to hexadecimal when there is no specification.
Fault set. Finally, in the format specification
Therefore, even if such an omitted map is specified, the omitted state is actually
Choose which symbol map to use if achieved
It just does. Specifying some special symbol maps
And (somewhere else), in this case
The default state cannot be obtained. This "somewhere else" is a trace
In the list, which is also now in Appendix K, for example.
Somewhat different. Well, in Appendix O (APPENDIX O)
Indicates a modified trace specification. This is
Using the symbols for making the same measurements as specified in Record K
I have. However, although the symbol map is not described,
The short selection function is executed. Appendix O has another tray
The specification also shows that the measurement is completely different.
Become. It is the data given in the format specification
Ignore default choices specified for labels
This is because the number map is described. The important point is the symbol map
Actually executing the specification is a modified trace specification
Is to happen. Well, it is shown in pages i and ii in Appendix P (APPENDEX P).
The trace list shown is compared with the trace list shown in Appendix L.
Compare. In particular, the line +004 in Appendix L and the line +004 in Appendix P
Compare. The disassembled directive is listed as "JSM 806D"
On the other hand, the latter is "JSM PARAMETER + 000
4 ". "PARAMETER + 0004" is a parameter
Comes in source program for pass routine 5
PARAMETER corresponding to the symbol "PARAMETER-ENTRY"
Represents a relocatable location in a named file. This
In the case of the map specification in Appendix M, the symbol "PARAMETER-ENTR
Since "Y" is not included, it is in the range from 8069H to 808EH
All references to numeric values in the
Will be What is the absolute value 806DH and the symbol PARAMETER-ENTRY?
Both are the fourth places in the range. Refer again to the map specification in Appendix M. Symbol FACTORIA
L is specified as absolute value 8013H, and the symbol FACT
OR is specified to be in the range from 8013H to 8038H. FACT
ORIAL is thus a value in FACTOR. Well, in Appendix P
Look at the Trigger line on page i. FACTORIAL
Special values are written, for example, in lines +001 to 005
As the value related to the beginning of the range FACTOR
Is represented as FACTORIAL. In the page i of Appendix P, the lines +066 and +077 are opposite the reference position.
The range Z on the opposite side is demap-referenced. Line +075 is
Demap related to the end of its defined range 0F90FH to 0FA17H
Represents a reference to the STACK that was This time, from the Trigger line in Appendix P, +005, +066, +075,
And +077 to the same line in Appendix L. Appendix
It is clear that the trace list of P is quite easy to use.
It is obvious. In the trace list in Appendix L,
Itself is disassembled, but operands and addresses
Is unclear to the link to the symbol of the source program creation
There are many things that remain. Appendix P Training
Source list from line +065 to +074 trace is a professional
Program execution in Gram BOOLEANIN7
After program execution is in the range labeled FACTOR
And the FACTOR limits are used up to the range of executable code.
Support FACTOR3 for subprograms written by users
That it is clear that you know
In clear contrast. The trace list improved from Appendix P is partially described in Appendix M.
It is possible through the use of the map specification. However,
The special map specification is clearly improved, but what?
Excessive action needs to be added in the example of the user. You
In other words, the user can key the names of various symbols and their numerical values
I have to go in. This is the environment surrounding Appendix Q
Is in contrast. Returning briefly to Appendix I, tabular output from the linker
(I.e. a piece of information about the "roadmap")
Is line 18 "absolute & link-com file name = W
ORKPIECE: EXAMPL ". This
Its meaning is specified as "WORKPIECE: EXAMPL: link-sym"
In the relation file, among others, the name "user compartment"
Record of the range and its associated beginning and end in storage
Is included. User ward
The picture names are linked and loaded into various program sections
Is the same as the file name. Then, returning to Appendix Q, define ".... link-sym file WORKPIECE: EXAMPL"
I think ... This command is user-defined and part of the map specification.
Issue instead of keying in the name of the issue and its range.
The "... define ...." instruction itself is an appendix
Not shown as part of Q, but rather issued its order
The result. The results are shown in lines 25 to 34 of Appendix Q.
This is “linked-files” information. This is used in Appendix M
Some extra information compared to the map specification
Is to be part of. This extra information is in the range of the symbol
Is given a starting and ending value for.
This allows the address or operand to make it absolute
Any such range by simple means of expressing by value
Are within the range, while those within such range
Special notation as a unique symbol or related to its scope
Tray to be expressed as related to the issue
It will be possible later to show in the slist. Before examining the resulting trace list, it will be somewhat different
Trace specifications must also be considered. The user
Consider the trace specifications with the symbols INDEX and FACTORIAL.
Will be obtained. But with the new map specification in Appendix Q
Indicates that the information is implicit, but these symbols are
Not shown pleasantly. That is, the symbol INDEX is MAIN: EX
Overall in a file named AMPL (line 44 of Appendix D)
And the symbol FACTORIAL is FACTOR: EXAMPL
(See Appendix E, line 55)
Function is declared. This absolute connection
In the race specification, the file name MAIN: EXAMPL and the symbol INDEX,
File name FACTOR: EXAMPL and symbol FACTORIAL
It becomes clear by doing. Appendix R (Appendix R)
See lines 2 and 4. Next is shown on pages i and ii of Appendix S.
Consider the resulting trace list. First, the line
Observe the +004 example. This line of tracking now reads "FACTOR + 0
0002 JSM PARAMETER-ENTRY, PARAMETER .... ''
Have been. What is the difference between line +004 in Appendix S and line 004 in Appendix P?
Operand of JSM Directive is not just PARAMETER + 0004 but now
The degree is represented as PARAMETER-ENTRY. This
This is a file created when PARAMETER: EXAMPL is assembled.
Based on inspection. The actual complete specification of this file
Is PARAMETER: EXAMPL: asmb-sym. This is a file
Manages compilers, assemblers, and linkers, etc.
Operating system used to manage
Rules for `` file name: user id: file type ''
I do. "PARAMETR" following the operand of JSM is complete.
See full file specification. That is the operand of JSM
Identifies a file that is specified to symbolically represent
You. However, the display device is limited to 80 columns, and the user
Can recognize such "name: user id: type" rules.
It seems that it is only possible to give only the name part
In general, it is an appropriate compromise. For trace lists such as Appendixes P and S, the total value
(State analysis generated from logic state analyzer)
To the symbol (in the file used by the linker)
Looking. Using maps for the trace list in Appendix S
In the file WORKPIECE: EXAMPL
Finding the absolute value of a symbol with the more comprehensive nature of information
Operation for all addresses and operands.
You can do it. For example, refer to Appendix S, line +006
Teru. It is simply "... PARAMETER + 00004 STA PARAMETER
+0000 ..... ", not" .... PARAMETER-ENTRY, STA
DOPEVECTOR, PARAMETER .... " As mentioned in connection with Appendix S, once
Once you have the ability to inspect source files, trace
Source program that caused the runtime behavior to be caught by
Gram line numbers can be included in the trace list
become. For example, in Appendix T (APPENDIX T), Trigger
Lines to +004 relate to line # 8 of the source program
You can see that it is. Such associations are compiled
Source lines. The assembled source line is already
In general, word by word or byte by byte
Properties and object code that can execute the properties
Is similar to the
I'm coping. Appendix T contains the same trace list as before, such a source
Line numbers have been added. For example, line -00 in Appendix T
2, it is written as ".... # 18 MAIN00-L2, MAIN STM ..."
I have. This means that some source program in a file named MAIN
Compiler issues label MAIN00 L2 on gramming line 18
Issued a JSM command that was generated and executable.
You. The next executable directive is a file named FACTOR, etc.
Comes from sources that are Now consider Appendix U. Here
For tracing the examples used throughout the discussion of
There is a complete trace list of Contains line numbers
Not only one copy of each relevant primitive line
At the beginning of each block with a different source line number
ing. FIG. 2 is a block diagram of the logic analyzer of the present invention.
It is shown. Figure 2 shows the logic state analyzer.
Includes both riser and emulator. In FIG.
As shown, the logic state analyzer module
And the emulator module 9 are provided.
It works and is supported by the host system 10.
Emulation bus preprocessors are generally
Corresponds to the switching elements 13 and 14. As shown in Fig. 2, the logic state analysis
The module 8 connects the data to the system 50 to be measured.
Clock probe pod 11 and data probe
Received via the module 12 or the emulator module 9
Can be In any case, the present invention
With the data received by the state analyzer module 8,
Operate. To facilitate this, the logic state
The analyzer module 8 is a switching element,
Multiplexers 13 and 14 are incorporated. The host system 10 includes the emulator module 9 and
Both of the logic state analyzer module 8
Control behavior. An operation containing various instructions for this purpose
Rating system is coded in system ROM15
And is executed by the microprocessing device 17. With this control
Interacts with the user via the keyboard 18 and display 19
Operate and operate the “soft key”, “soft front panel”,
Concepts such as "proportion" are included. 22 is the I / O bus
Is. If a mass storage device 20 is present,
Recall instruction files to establish commonly used equipment
Stored in a labeled instruction file and executed at will
be able to. Similarly, the results of various measurements
It can be saved for analysis and comparison. Module of emulator and logic analyzer
8 includes preparing various tables of information
Some of this information is stored in the system RAM 16 area.
And some are in modules 8 and 9
Held in a callable location. These places are
Microprocessor address started by microprocessor 17
In response to a storage cycle on the data / data bus 21. to this
Therefore, the trigger recognition device 23 and the memory recognition device 24
Be able to program individually and selectively
Its proper recognition work on the measurement can be performed.
These operations ultimately cause the trace storage device 25 to
It produces status data on the remembered status bus 26. this
Is the raw data of the trace list and appendixes P, S, T and
U will be stylized as noted in any of the above. Such stylization is in part preferred as shown in FIG.
In the embodiment, the system ROM 15 of the host system 10 is copied.
Executed by the operating system
This is performed by various routines. This includes system RAM1
Various Finds In Any Of 6 And 20 Mass Storage
Examine various tables and files of information that can be
That is included. Much of this required information has been described earlier.
As you can see, users can use various software tools.
Various programs that can be traced using
Compile and assemble with RAM and data structures
And when loading. Now this information is exactly
What are the various trays drawn in Appendixes P, S, T, and U
Back to how it is used to make slists
I will do it. Appendix generates the example program for the workpiece in Fig. 1.
Files that are created on the way
The schematic layout of the files is shown. Attachments related to these files
The part of the record is also shown. Fig. 3 shows a table without appendixes P, S, T, and U.
Related to a particular type of data
Trace specifications, format specifications and map specifications
It is arranged in a diagram. In particular, captured data 27
The state analyzer module 8 stores the trace
This is to be stored in the device 25. This is used
As useful as possible and as easily as possible
Raw information that is supposed to work
You. This is, in turn, the software symbol 28 or the analysis symbol
Correct certain trace symbols 32 classified as any of 29
It is done by translating well. Software symbol 28
Are simply symbols that appear in various source programs.
Symbols passed by piles and assemblies
You. Analysis symbol 29 is the logic state analyzer module.
What the operator of the module has already specified in programming
Is required if the question is
You. In the present embodiment, each corresponding measured system
Related to the signal line and can take various values
Shows the case of a data label. For example, three tracks
State, or read, write, command fetch, etc.
It may have various absolute values to mean. This color
Various data labels have different values given symbolic names.
Map. Perform further analysis
The special program whose execution is being traced.
It is necessary to specify the corresponding symbol only for analyzing
Yes, you can add that symbol to the symbol map
If not, the symbol must be added to the source
Will be. Edit them again by adding them to the symbol map.
There is no need to edit, reassemble, reload, etc. Data label 30 is specified by format specification 34
However, the symbol map 31 is defined by a map specification 33.
Once these two specifications are made, the software symbol 28
The symbol which is one of the analysis symbols 29 to trace specification 35
Trace squirrel that can be used and then not rearranged
You can put it in 36. Therefore, analysis with software symbol 28
A symbol linked with the symbol 29 is called a trace symbol 32. Figure 4 shows the trace specification with the corresponding absolute address
Process flow to replace software symbol 28 in 35
It is a figure. Analysis symbol 29 can be included in the trace specification.
But its absolute value is obtained from the associated symbol map 31.
You. The flowchart for this has been omitted. Figure 5 is logic
・ In the trace list created by the state analyzer
The absolute value of
The process of replacing symbols with symbols according to race symbols
It is a figure. This flowchart illustrates the various specified
The procedure for searching for the type symbol is shown. If the user
In a symbol map whose absolute value has other signals associated with it
Is defined from a set of software symbols.
Indicates that the analysis symbol is the symbol used for the trace list.
You. This allows the user to source code during the debugging process.
Program without re-editing, re-assembling and re-editing
Software symbols can be renamed without loading
You. The following are described in Appendices T and U, respectively.
Source line numbers and trays containing source lines
Applied to source lists. That is, the line number is
And appear in the: asmb-sym file. The line is Taka
Are generally symbols in the list as if they were symbols.
Appears in the body column and is similar to the algorithm in the flowchart of FIG.
It can be extracted by an algorithm. In particular, judgment 37
Make small changes related to a positive path through
When needed line numbers can be provided so that process 38
And 39 must be adjusted. Also the source line itself
Process 38 also provides a source line if
You. The next note is that the present invention uses a storage device control unit (MMU).
When using in connection with the system under test
Apply. In such systems, the MMU is referred to as the processing unit.
Intercept the storage bus between storage devices. The logic analyzer
A dress probe is located between the processing unit and the MMU.
Special considerations must be taken when connected to addresses.
No need. The existence of MMU is indistinguishable. However, if the address probe is
If connected to a physical address between
Generally, some special actions are required. First, the MMU
Generally determined or selected by the operating system
Adjusting the address of the memory cycle according to the quantity
become. This amount is the contents of some callable registers
Sometimes. Logic analyzers are
Monitor the write operation to the
You have to do it. Then raw trace information
Mapping between the absolute value of the symbol and the available trace symbols
And used for various tracking, style, and map specifications.
In the other direction between the symbol used and its associated absolute value.
There is a change in the relationship of FIG. 3 for ping. The above
For the first mapping, the pre-subtraction is the physical location
make. As described above, the added amount is supplied to the MMU and
Will be monitored by the analyzer and will respond to previous commands. Another method of utilizing the present invention is in the mass storage device of FIG.
The file that was once in trace storage 25
It is related to the state including the image of the source. This
Trace files are logic state analysers
It is not necessary to even generate from the
No. The data in it is collected under completely different circumstances and collected.
Removable media and appropriate data links
Reach mass storage device 20 by a number of convenient means, including transmission
You can do it. Once in mass storage 20, this
Such a file is, according to the present invention, as if it were actually
It operates as if it came from the trace storage 25.

【図面の簡単な説明】 第1図は本発明のロジック・アナライザで使用するプロ
グラムの概略を示す図。 第2図は本発明のロジック・アナライザのブロック図。 第3図は本発明のロジック・アナライザのトレース仕
様、フォーマット仕様、マップ仕様と各記号の関係を示
す図。 第4図は本発明のロジック・アナライザの記号と絶対ア
ドレスを置換する場合の流れ図。 第5図は本発明のロジック・アナライザのトレース記号
と絶対値置換する場合の流れ図。 8:ロジック・ステート・アナライザモジュール 9:エミュレータモジュール, 10:ホストシステム,11:クロックプローブポッド,12:デ
ータプローブボッド,15:システムROM,16:システムRAM,1
7:マイクロ処理装置,18:キーボード,19:表示装置,20:大
容量記憶装置,23:トリガ認識装置,24:記憶認識装置,25:
トレース記憶装置。
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram showing an outline of a program used in a logic analyzer of the present invention. FIG. 2 is a block diagram of the logic analyzer of the present invention. FIG. 3 is a diagram showing the relationship between trace specifications, format specifications, map specifications and each symbol of the logic analyzer of the present invention. FIG. 4 is a flow chart in the case of replacing symbols and absolute addresses of the logic analyzer of the present invention. FIG. 5 is a flow chart in the case of replacing a trace symbol and an absolute value of the logic analyzer of the present invention. 8: Logic state analyzer module 9: Emulator module, 10: Host system, 11: Clock probe pod, 12: Data probe pod, 15: System ROM, 16: System RAM, 1
7: Microprocessor, 18: Keyboard, 19: Display, 20: Mass storage, 23: Trigger recognizer, 24: Memory recognizer, 25:
Trace storage.

Claims (1)

(57)【特許請求の範囲】 1.記号ラベルを組み入れたソースプログラムから発生
され、リンクおよびロードされ再配置された機械コード
・オブジェクト・プログラムによるターゲット・システ
ムの実行中に発生した選択されたロジックステートを記
号ラベルで表現したトレース・リストを発生するロジッ
ク・アナライザであって、 前記機械コード・オブジェクト・プログラムのリンクお
よびロードに関連したファイルに結合され、前記ソース
プログラムに使用された記号ラベルと、前記ターゲット
システムにおけるロジックステートとして発生される、
前記再配置された機械コード・オブジェクト・プログラ
ム内の対応する絶対アドレスとの間の対応テーブルを作
成する対応手段と、 前記対応手段に結合され、前記記号ラベルによってトレ
ース条件を設定して所定のロジックステート値が前記選
択されたトレースに含まれるようにするトレース仕様手
段と、 前記トレース仕様手段と前記ターゲット・システムとに
結合され、該ターゲット・システムから発生される、前
記トレース仕様手段によって設定された条件を満足する
ロジックステートの値を収集するロジックステート収集
手段と、 前記ロジックステート収集手段に結合され、該ロジック
ステート収集手段によって収集されたロジックステート
値を記憶する記憶手段と、 前記対応手段と前記記憶手段とに結合され、前記記憶さ
れたロジックステート値を関連する記号ラベルに変換す
る変換手段と、 前記変換手段に結合され、前記トレースに含まれるロジ
ックステートを数値および記号ラベルで表示する出力手
段と、 を備えて成るロジック・アナライザ。 2.前記対応テーブルにはユーザによって定義された対
応が含まれていることを特徴とする特許請求の範囲第
(1)項記載のロジック・アナライザ。 3.前記変換手段が、記号ラベルに関連付けられた絶対
アドレスの範囲内に入るロジックステートの数値を、該
範囲内の所定の数値に対するオフセットに変換し、該オ
フセットと記号ラベルの表示を前記出力手段によって発
生することを特徴とする特許請求の範囲第(1)項記載
のロジック・アナライザ。
(57) [Claims] A trace list generated from a source program that incorporates symbolic labels and representing symbolic labels of selected logic states that occurred during execution of the target system by linked and loaded and relocated machine code object programs. Generating a logic analyzer coupled to a file associated with linking and loading of the machine code object program, generated as a symbol label used in the source program, and a logic state in the target system.
Correspondence means for creating a correspondence table between corresponding rearranged absolute addresses in the rearranged machine code object program; and predetermined logic which is coupled to the correspondence means and sets a trace condition by the symbol label. A trace specification means for causing a state value to be included in the selected trace; a trace specification means coupled to the trace specification means and the target system, and generated by the target system and set by the trace specification means. Logic state collection means for collecting a value of a logic state satisfying a condition; storage means coupled to the logic state collection means for storing the logic state value collected by the logic state collection means; Storage means coupled to the storage means; A logic analyzer comprising: conversion means for converting a lock state value into an associated symbol label; and output means coupled to the conversion means for displaying a logic state included in the trace with a numerical value and a symbol label. 2. 2. The logic analyzer according to claim 1, wherein the correspondence table includes a correspondence defined by a user. 3. The converting means converts a value of a logic state falling within a range of an absolute address associated with a symbol label into an offset with respect to a predetermined number in the range, and displays the offset and the symbol label by the output means. The logic analyzer according to claim 1, wherein
JP59063135A 1983-03-31 1984-03-30 Logic analyzer Expired - Fee Related JP2662533B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US481010 1974-06-20
US48101083A 1983-03-31 1983-03-31

Publications (2)

Publication Number Publication Date
JPS6035273A JPS6035273A (en) 1985-02-23
JP2662533B2 true JP2662533B2 (en) 1997-10-15

Family

ID=23910225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59063135A Expired - Fee Related JP2662533B2 (en) 1983-03-31 1984-03-30 Logic analyzer

Country Status (1)

Country Link
JP (1) JP2662533B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1593128A (en) * 1977-08-29 1981-07-15 Hewlett Packard Co Logic state analyzer
JPS5561867A (en) * 1978-10-31 1980-05-09 Mitsubishi Electric Corp Program analyzer

Also Published As

Publication number Publication date
JPS6035273A (en) 1985-02-23

Similar Documents

Publication Publication Date Title
US4636940A (en) Logic analyzer using source program or other user defined symbols in the trace specification and the trace listing
US5987250A (en) Transparent instrumentation for computer program behavior analysis
US6286132B1 (en) Debugging support apparatus, a parallel execution information generation device, a computer-readable recording medium storing a debugging support program, and a computer-readable recording medium storing a parallel execution information generation program
US5446900A (en) Method and apparatus for statement level debugging of a computer program
US5528753A (en) System and method for enabling stripped object software monitoring in a computer system
EP0785510B1 (en) Program debugging system for debugging a program having a graphical user interface
US5539907A (en) System for monitoring computer system performance
KR950006619B1 (en) Improved error reporting for translated code execution
US6091896A (en) Debugging optimized code using data change points
US6961924B2 (en) Displaying variable usage while debugging
US5987249A (en) IR code instrumentation
US7266809B2 (en) Software debugger and software development support system for microcomputer operable to execute conditional execution instruction
US6186677B1 (en) Byte code instrumentation
US20110271250A1 (en) Software Development Tool
JPH0689200A (en) Debug system and method
US7765535B2 (en) Software development tool program
JP2000122886A (en) Program production system of semiconductor testing device
US5987248A (en) Debugging information display device
US5812828A (en) Function simulation
US7412697B2 (en) High-level language, architecture-independent probe program compiler
US20030177471A1 (en) System and method for graphically developing a program
US6178547B1 (en) Method and apparatus for generating non-redundant symbolic debug information in computer programs
US6611924B1 (en) Reducing code size of debug output statements
JP2662533B2 (en) Logic analyzer
Hostetler et al. DLXsim {A Simulator for DLX

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees