JPH11110227A - Device and method for information processing and storage medium - Google Patents

Device and method for information processing and storage medium

Info

Publication number
JPH11110227A
JPH11110227A JP27077497A JP27077497A JPH11110227A JP H11110227 A JPH11110227 A JP H11110227A JP 27077497 A JP27077497 A JP 27077497A JP 27077497 A JP27077497 A JP 27077497A JP H11110227 A JPH11110227 A JP H11110227A
Authority
JP
Japan
Prior art keywords
instruction
program
data
screen
line
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.)
Withdrawn
Application number
JP27077497A
Other languages
Japanese (ja)
Inventor
Yuichiro Ikenaga
祐一郎 池永
Minoru Suzuki
穣 鈴木
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP27077497A priority Critical patent/JPH11110227A/en
Publication of JPH11110227A publication Critical patent/JPH11110227A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a supporting tool for improving development efficiency of a program. SOLUTION: A jump/call type command that has a possibility not to sequentially change a program counter contained in an application program is retrieved (S75). Then, with regard to the retrieved jump/call type command, when a user specifies whether it is branched or not or how many times a loop jump should be performed, a simulation is executed according to that specification (S86), monitoring results of monitoring sequence of execution of the application program or a change in address of a memory are displayed (S87).

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、情報処理装置およ
び情報処理方法、並びに記録媒体に関し、特に、例え
ば、DSP(Digital Signal Processor)のアプリケー
ションプログラム開発などに用いて好適な情報処理装置
および情報処理方法、並びに記録媒体に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus, an information processing method, and a recording medium, and more particularly to an information processing apparatus and an information processing method suitable for use in, for example, development of an application program of a DSP (Digital Signal Processor). The present invention relates to a method and a recording medium.

【0002】[0002]

【従来の技術】最近の電子機器は、DSPやCPU(Ce
ntral Processing Unit)などを内蔵し、そのDSPや
CPUが所定のアプリケーションプログラムを実行する
ことで、各種の高度な処理を行うことができるようにな
されている。
2. Description of the Related Art Recent electronic devices include a DSP and a CPU (CeC).
ntral Processing Unit) and the like, and its DSP and CPU execute a predetermined application program so that various advanced processes can be performed.

【0003】[0003]

【発明が解決しようとする課題】ところで、最近の技術
の進歩、発展に伴い、高速で高機能のDSPやCPUが
開発、実現されているが、上述の高度な処理は、DSP
やCPUなどのハードウェアの他に、それらに実行させ
るアプリケーションプログラム(ソフトウェア)が揃っ
て、初めて実現される。
With the recent advance and development of technology, high-speed and high-performance DSPs and CPUs have been developed and realized.
In addition to hardware such as a CPU and a CPU, application programs (software) to be executed by them are realized only when they are provided.

【0004】従って、ハードウェアの機能を充分に発揮
させ得るアプリケーションプログラムの開発が不可欠で
あり、その効率的な開発のための支援ツールの登場が望
まれている。
[0004] Therefore, it is essential to develop an application program capable of sufficiently exhibiting the functions of hardware, and there is a demand for a support tool for efficient development of the application program.

【0005】本発明は、このような状況に鑑みてなされ
たものであり、プログラムの開発を効率的に行うことが
できるようにするものである。
[0005] The present invention has been made in view of such a situation, and aims to efficiently develop a program.

【0006】[0006]

【課題を解決するための手段】請求項1に記載の情報処
理装置は、プロセッサに実行させるプログラムであるプ
ロセッサプログラムから、その実行順序を変化させる可
能性のあるインストラクションを検索する検索手段と、
検索手段により検索されたインストラクションによっ
て、プロセッサプログラムの実行順序を変化させるかど
うかの指定を行うための指定手段と、指定手段によって
行われた指定に基づいて、プロセッサプログラムを仮想
的に実行する実行手段と、実行手段によるプロセッサプ
ログラムの実行順序を表示する表示手段とを備えること
を特徴とする。
An information processing apparatus according to claim 1, wherein a search means for searching a processor program, which is a program to be executed by a processor, for instructions that may change the execution order,
Specifying means for specifying whether to change the execution order of the processor program according to the instruction searched by the searching means, and executing means for virtually executing the processor program based on the specification performed by the specifying means And display means for displaying the execution order of the processor program by the execution means.

【0007】請求項4に記載の情報処理方法は、プロセ
ッサに実行させるプログラムであるプロセッサプログラ
ムから、その実行順序を変化させる可能性のあるインス
トラクションを検索し、そのインストラクションによっ
て、プロセッサプログラムの実行順序を変化させるかど
うかの指定が行われた場合に、その指定に基づいて、プ
ロセッサプログラムを仮想的に実行し、その実行順序を
表示することを特徴とする。
According to a fourth aspect of the present invention, in the information processing method, an instruction which may change the execution order is searched from a processor program which is a program to be executed by a processor, and the execution order of the processor program is changed by the instruction. When designation of whether or not to change is performed, the processor program is virtually executed based on the designation, and the execution order is displayed.

【0008】請求項5に記載の記録媒体は、プロセッサ
に実行させるプログラムであるプロセッサプログラムか
ら、その実行順序を変化させる可能性のあるインストラ
クションを検索し、そのインストラクションによって、
プロセッサプログラムの実行順序を変化させるかどうか
の指定が行われた場合に、その指定に基づいて、プロセ
ッサプログラムを仮想的に実行し、その実行順序を表示
する処理を、コンピュータに行わせるためのコンピュー
タプログラムが記録されていることを特徴とする。
According to a fifth aspect of the present invention, there is provided a recording medium which retrieves, from a processor program which is a program to be executed by a processor, instructions having a possibility of changing the execution order.
A computer for causing a computer to virtually execute a processor program based on the designation when the execution order of the processor program is to be changed and to display the execution order based on the designation. The program is recorded.

【0009】請求項1に記載の情報処理装置において
は、検索手段は、プロセッサに実行させるプログラムで
あるプロセッサプログラムから、その実行順序を変化さ
せる可能性のあるインストラクションを検索するように
なされている。指定手段では、検索手段により検索され
たインストラクションによって、プロセッサプログラム
の実行順序を変化させるかどうかの指定が行われるよう
になされている。実行手段は、指定手段によって行われ
た指定に基づいて、プロセッサプログラムを仮想的に実
行し、表示手段は、実行手段によるプロセッサプログラ
ムの実行順序を表示するようになされている。
[0009] In the information processing apparatus according to the first aspect, the search means is configured to search a processor program, which is a program executed by the processor, for an instruction that may change the execution order. The designation means designates whether or not to change the execution order of the processor program according to the instruction retrieved by the retrieval means. The execution means virtually executes the processor program based on the designation made by the designation means, and the display means displays the execution order of the processor program by the execution means.

【0010】請求項4に記載の情報処理方法において
は、プロセッサに実行させるプログラムであるプロセッ
サプログラムから、その実行順序を変化させる可能性の
あるインストラクションを検索し、そのインストラクシ
ョンによって、プロセッサプログラムの実行順序を変化
させるかどうかの指定が行われた場合に、その指定に基
づいて、プロセッサプログラムを仮想的に実行し、その
実行順序を表示するようになされている。
In the information processing method according to the fourth aspect, an instruction which may change the execution order is searched from a processor program which is a program to be executed by the processor, and the execution order of the processor program is determined by the instruction. Is specified, the processor program is virtually executed based on the specification, and the execution order is displayed.

【0011】請求項5に記載の記録媒体には、プロセッ
サに実行させるプログラムであるプロセッサプログラム
から、その実行順序を変化させる可能性のあるインスト
ラクションを検索し、そのインストラクションによっ
て、プロセッサプログラムの実行順序を変化させるかど
うかの指定が行われた場合に、その指定に基づいて、プ
ロセッサプログラムを仮想的に実行し、その実行順序を
表示する処理を、コンピュータに行わせるためのコンピ
ュータプログラムが記録されている。
According to a fifth aspect of the present invention, in the recording medium, an instruction that may change the execution order is searched for from a processor program that is a program to be executed by the processor, and the execution order of the processor program is determined by the instruction. A computer program for causing a computer to virtually execute a processor program based on the designation when the designation is made or not and to display the execution order is recorded. .

【0012】[0012]

【発明の実施の形態】以下に、本発明の実施の形態を説
明するが、その前に、特許請求の範囲に記載の発明の各
手段と以下の実施の形態との対応関係を明らかにするた
めに、各手段の後の括弧内に、対応する実施の形態(但
し、一例)を付加して、本発明の特徴を記述すると、次
のようになる。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be described below, but before that, the correspondence between each means of the invention described in the claims and the following embodiments will be clarified. For this reason, the features of the present invention are described as follows by adding the corresponding embodiment (however, an example) in parentheses after each means.

【0013】即ち、請求項1に記載の情報処理装置は、
所定のプロセッサと仮想的に同一の処理を行う情報処理
装置であって、プロセッサに実行させるプログラムであ
るプロセッサプログラムから、その実行順序を変化させ
る可能性のあるインストラクションを検索する検索手段
(例えば、図22に示すプログラムの処理ステップS7
5など)と、検索手段により検索されたインストラクシ
ョンによって、プロセッサプログラムの実行順序を変化
させるかどうかの指定を行うための指定手段(例えば、
図18に示す第2画面など)と、指定手段によって行わ
れた指定に基づいて、プロセッサプログラムを仮想的に
実行する実行手段(例えば、図22に示すプログラムの
処理ステップS86など)と、実行手段によるプロセッ
サプログラムの実行順序を表示する表示手段(例えば、
図19に示す第3画面など)とを備えることを特徴とす
る。
That is, the information processing apparatus according to claim 1 is
An information processing apparatus that performs virtually the same processing as a predetermined processor, and searches for a processor program that is a program to be executed by the processor for instructions that may change the execution order. Processing step S7 of the program shown in FIG.
5) and designation means for designating whether to change the execution order of the processor program according to the instructions retrieved by the retrieval means (for example,
An execution unit (for example, processing step S86 of the program shown in FIG. 22) for virtually executing the processor program based on the designation made by the designation unit; Display means for displaying the execution order of the processor program by (for example,
And the like (third screen shown in FIG. 19).

【0014】なお、勿論この記載は、各手段を上記した
ものに限定することを意味するものではない。
Of course, this description does not mean that each means is limited to those described above.

【0015】図1は、本発明を適用したプログラム開発
支援システム(システムとは、複数の装置が論理的に集
合した物をいい、各構成の装置が同一筐体中にあるか否
かは問わない)の一実施の形態の構成例を示している。
FIG. 1 shows a program development support system to which the present invention is applied (a system refers to a system in which a plurality of devices are logically aggregated, and it does not matter whether the devices of each configuration are in the same housing or not. 2) shows a configuration example of an embodiment.

【0016】このプログラム開発支援システムは、例え
ば、DSPのアプリケーションプログラム(プロセッサ
プログラム)の開発を効率的に行うためのプログラム開
発支援ツールで、コンピュータをベースに構成されてい
る。
This program development support system is, for example, a program development support tool for efficiently developing a DSP application program (processor program), and is configured on a computer basis.

【0017】即ち、プログラム開発システムは、大きく
分けて、コンピュータ1とDSPボード21とで構成さ
れている。そして、コンピュータ1は、ROM(Read O
nlyMemory)2,CPU3,RAM(Random Access Mem
ory)4、入力制御部5、表示制御部8、ハードディス
ク制御部10,CD(Compact Disc)制御部12、プリ
ンタ制御部14、および通信I/F(Interface)15
が、バス16を介して相互に接続されて構成されてい
る。さらに、コンピュータ1は、ハードディスク(H
D)11を内蔵しており、ハードディスク制御部10に
接続されている。
That is, the program development system is roughly composed of the computer 1 and the DSP board 21. Then, the computer 1 reads the ROM (Read O
nlyMemory) 2, CPU 3, RAM (Random Access Mem)
ory) 4, input control unit 5, display control unit 8, hard disk control unit 10, CD (Compact Disc) control unit 12, printer control unit 14, and communication I / F (Interface) 15.
Are connected to each other via a bus 16. Further, the computer 1 has a hard disk (H
D) 11 is built in and connected to the hard disk control unit 10.

【0018】ROM2は、IPL(Initial Program Lo
ading)のプログラム(IPLプログラム)を記憶して
いる。CPU3は、例えば、166MHzのペンティア
ムプロセッサ(Pentium 166MHz)(商標)などで、RO
M2に記憶されているIPLプログラムを実行すること
により、ハードディスク11に記憶されているOS(Op
erating System)(プログラム)を、ハードディスク制
御部10を介して読み出し、RAM4に展開して実行す
ることで、各ブロックを制御するようになされている。
さらに、CPU3は、そのOSの制御の下、ハードディ
スク11に記憶されている、DSPのアプリケーション
プログラムの開発支援用のアプリケーションプログラム
(コンピュータプログラム)(以下、適宜、開発支援プ
ログラムという)を、ハードディスク制御部10を介し
て読み出し、RAM4に展開して実行することにより、
後述するような、DSPのアプリケーションプログラム
の開発のための各種の処理を行うようにもなされてい
る。
The ROM 2 stores an IPL (Initial Program Lo
ading) (IPL program). The CPU 3 is, for example, a 166 MHz Pentium processor (Pentium 166 MHz) (trademark).
By executing the IPL program stored in the M2, the OS (Op
Each block is controlled by reading an erating system (program) via the hard disk control unit 10 and developing and executing the program in the RAM 4.
Further, under control of the OS, the CPU 3 stores an application program (computer program) (hereinafter, appropriately referred to as a development support program) for supporting development of a DSP application program stored in the hard disk 11 into a hard disk control unit. 10 and read out through the RAM 4 and executed,
Various processes for developing a DSP application program, which will be described later, are also performed.

【0019】RAM5は、上述したように、OSや、開
発支援プログラムを記憶する他、CPU3の動作上必要
なデータ(プログラムを含む)を、適宜記憶するように
なされている。
As described above, the RAM 5 stores an OS and a development support program, as well as data (including programs) necessary for the operation of the CPU 3 as appropriate.

【0020】入力制御部5には、ここでは、マウス6と
キーボード7が接続されており、入力制御部5は、それ
らの操作に対応した操作信号を、バス16上に出力する
ようになされている。マウス6は、例えば、ディスプレ
イ9上の所定の位置を指示したりするときなどに操作さ
れる。キーボード7は、例えば、所定のコマンドやデー
タ、さらには、後述するエディット画面(図4)におい
て、DSPのアプリケーションプログラム(のソースコ
ード)を入力するときなどに操作される。
Here, a mouse 6 and a keyboard 7 are connected to the input control unit 5, and the input control unit 5 is configured to output operation signals corresponding to these operations to the bus 16. I have. The mouse 6 is operated, for example, when indicating a predetermined position on the display 9. The keyboard 7 is operated, for example, when inputting (a source code of) a DSP application program on a predetermined command or data, or an edit screen (FIG. 4) described later.

【0021】表示制御部8には、ディスプレイ9が接続
されており、表示制御部8は、CPU3の制御にしたが
って、ディスプレイ9における表示を制御するようにな
されている。ディスプレイ9は、表示制御部8の制御に
したがって、各種の情報(画面)を表示するようになさ
れている。
A display 9 is connected to the display controller 8, and the display controller 8 controls the display on the display 9 under the control of the CPU 3. The display 9 displays various kinds of information (screen) under the control of the display control unit 8.

【0022】ハードディスク制御部10には、上述した
ように、ハードディスク11が接続されており、ハード
ディスク制御部10は、ハードディスク11に対する読
み書きを制御するようになされている。ハードディスク
11には、例えば、ウインドウズ95(Windows95)
(商標)などのOSや、開発支援プログラムなどが記憶
(記録)されている。さらに、ハードディスク11は、
CPU3の動作上必要なデータなども記憶するようにな
されている。なお、本実施の形態では、開発支援プログ
ラムは、例えば、基本的には、Basic言語で記述さ
れているが、I/O関係に関する部分についてだけは、
C言語で記述されている。
As described above, the hard disk control unit 10 is connected to the hard disk 11, and the hard disk control unit 10 controls reading from and writing to the hard disk 11. The hard disk 11 has, for example, Windows 95
OS (trademark) and a development support program are stored (recorded). Further, the hard disk 11
Data necessary for the operation of the CPU 3 is also stored. In the present embodiment, for example, the development support program is basically described in Basic language, but only the part related to I / O is described.
It is described in C language.

【0023】CD制御部12は、CD−ROM(Compac
t Disc - Read Only Memory)13が着脱可能になされ
ており、そこにセットされたCD−ROM13からのデ
ータの読み出しを制御するようになされている。CD−
ROM13には、例えば、開発支援プログラムが記録さ
れている。即ち、上述のハードディスク11には、この
CD−ROM13に記録されている開発支援プログラム
がインストールされている。
The CD control unit 12 has a CD-ROM (Compac
t Disc-Read Only Memory 13 is detachable, and controls reading of data from the CD-ROM 13 set therein. CD-
In the ROM 13, for example, a development support program is recorded. That is, the development support program recorded on the CD-ROM 13 is installed in the hard disk 11 described above.

【0024】プリンタ制御部14には、通常は、図1に
おいて点線で示すように、プリンタ17が、例えば、セ
ントロニクスに準拠したプリンタケーブルを介して接続
されるが、ここでは、同図に実線で示すように、プリン
タケーブルを介して、DSPボード21が接続されてい
る。プリンタ制御部14は、そこに接続されるプリンタ
17やDSPボード21との間のシリアル通信を制御す
るようになされている。プリンタ17は、プリンタ制御
部14からのデータにしたがって印刷を行うようになさ
れている。
As shown by a dotted line in FIG. 1, a printer 17 is normally connected to the printer control unit 14 via a printer cable conforming to, for example, Centronics. As shown, the DSP board 21 is connected via a printer cable. The printer control unit 14 controls serial communication with the printer 17 and the DSP board 21 connected thereto. The printer 17 performs printing in accordance with data from the printer control unit 14.

【0025】通信I/F15は、例えば、モデムなどを
内蔵し、インターネットその他の通信ネットワークとの
間の通信を制御するようになされている。ここで、上述
の場合においては、ハードディスク11に記憶されてい
る開発支援プログラムは、CD−ROM13からインス
トールされたものとしたが、その他、例えば、ハードデ
ィスク11には、開発支援プログラムを、通信I/F1
5を介して、インターネットなどからダウンロードして
記憶させるようにすることなども可能である(本明細書
中における記録媒体には、ハードディスク11や、CD
−ROM13、さらには光磁気ディスクなどの他、イン
ターネットや、衛星回線、地上波、CATV(Cable Te
levision)網などの伝送媒体も含まれるものとする)。
The communication I / F 15 has a built-in modem, for example, and controls communication with the Internet and other communication networks. Here, in the above-described case, the development support program stored in the hard disk 11 is assumed to be installed from the CD-ROM 13. However, for example, the development support program is stored in the hard disk 11 by the communication I / O. F1
It is also possible to download the program from the Internet or the like via the Internet 5 and store it (the recording medium in this specification includes a hard disk 11 and a CD).
-In addition to the ROM 13, the magneto-optical disk, etc., the Internet, satellite lines, terrestrial waves, CATV (Cable Te
levision) transmission media such as networks).

【0026】DSPボード21には、開発支援プログラ
ムが開発を支援するアプリケーションプログラムを実行
するDSP(図2)や、プリンタ制御部14とのシリア
ル通信を制御するためのCPU(図示せず)などが搭載
されている。なお、ここでは、コンピュータ1とDSP
ボード21との間において、シリアル通信を行うように
したが、パラレル通信を行うようにすることも可能であ
る(データの転送時間の面からはパラレル通信が好まし
く、通信に必要な回路規模の面からはシリアル通信が好
ましい)。
The DSP board 21 includes a DSP (FIG. 2) for executing an application program for supporting development by the development support program, and a CPU (not shown) for controlling serial communication with the printer control unit 14. It is installed. Here, the computer 1 and the DSP
Although serial communication is performed with the board 21, parallel communication may be performed (parallel communication is preferable in terms of data transfer time, and circuit scale required for communication is reduced). From the serial communication is preferred).

【0027】以上のように構成されるプログラム開発支
援システムでは、CPU3において、ハードディスク1
1に記憶されているOSの制御の下、同じくハードディ
スク11に記憶されている開発支援プログラムが実行さ
れることで、DSPボード21に搭載されたDSPのア
プリケーションプログラムを効率的に開発するための各
種の処理が行われる。
In the program development support system configured as described above, the hard disk 1
1 is executed under the control of the OS stored in the hard disk 11 to execute various programs for efficiently developing the DSP application programs mounted on the DSP board 21. Is performed.

【0028】即ち、例えば、DSPのアプリケーション
プログラム(のソースコード)を、効率的にエディット
するためのメイン画面(エディット画面)(図4)が、
ディスプレイ9に表示される(エディット機能)。さら
に、例えば、CPU3において、そのエディット画面に
入力されたアプリケーションプログラムのソースコード
がアセンブルされ、DSPボード21に搭載されている
DSPが実行可能な実行コード(マシンコード)に変換
される(アセンブル機能)。また、例えば、その実行コ
ードが、プリンタ制御部14を介して、DSPボード2
1に搭載されているDSPに転送される(データ転送機
能)。さらに、CPU3において、エディット画面にお
いてエディットされたアプリケーションプログラムのシ
ミュレーションが行われ(アプリケーションプログラム
が、DSPボード21に搭載されているDSPにおいて
実行された場合と仮想的に同一の処理が行われ)、その
アプリケーションプログラムの実行順序(いわゆるプロ
グラムカウンタが示すアドレス)などが、ディスプレイ
9において表示される(アドレスモニタ機能)。
That is, for example, a main screen (edit screen) (FIG. 4) for efficiently editing (source code of) a DSP application program is as follows.
It is displayed on the display 9 (edit function). Further, for example, the CPU 3 assembles the source code of the application program input to the edit screen and converts it into executable code (machine code) executable by the DSP mounted on the DSP board 21 (assembly function). . Further, for example, the execution code is transmitted to the DSP board 2 via the printer control unit 14.
1 (a data transfer function). Further, the CPU 3 simulates the application program edited on the edit screen (virtually the same processing as when the application program is executed on the DSP mounted on the DSP board 21). The execution order of the application programs (the address indicated by the program counter) is displayed on the display 9 (address monitor function).

【0029】次に、図2は、図1のDSPボード21に
搭載されているDSPの概略構成例を示している。
Next, FIG. 2 shows a schematic configuration example of a DSP mounted on the DSP board 21 of FIG.

【0030】制御部22は、図示せぬタイミングジェネ
レータ、インストラクションデコーダ、プログラムカウ
ンタなどを内蔵し、インストラクションアドレスジェネ
レータ23や、アドレスジェネレータ25乃至28、さ
らにはその他のブロックを制御するようになされてい
る。即ち、制御部22は、タイミングジェネレータが出
力するクロックに同期して、プログラムカウンタのカウ
ント値に基づき、インストラクションアドレスジェネレ
ータ23を制御する。インストラクションアドレスジェ
ネレータ23は、制御部22の制御にしたがったアドレ
スを、インストラクションROM/RAM24に出力
し、これにより、インストラクションROM/RAM2
4では、インストラクションアドレスジェネレータ23
からのアドレスに記憶された1ワードの実行コードが、
クロックに同期して読み出される。
The control unit 22 has a built-in timing generator, instruction decoder, program counter and the like (not shown), and controls the instruction address generator 23, the address generators 25 to 28, and other blocks. That is, the control unit 22 controls the instruction address generator 23 based on the count value of the program counter in synchronization with the clock output from the timing generator. The instruction address generator 23 outputs an address according to the control of the control unit 22 to the instruction ROM / RAM 24, whereby the instruction ROM / RAM 2
4, the instruction address generator 23
The one-word execution code stored at the address from
Read out in synchronization with the clock.

【0031】ここで、インストラクションROM/RA
M24は、読み書き可能な領域(RAM領域)と、読み
出しのみ可能な領域(ROM領域)とを有している。R
AM領域には、例えば、コンピュータ1のプリンタ制御
部14から供給されるアプリケーションプログラムの実
行コードが記憶される。即ち、RAM領域には、例え
ば、デモンストレーション用のアプリケーションプログ
ラムや、検証を行うためのアプリケーションプログラム
などが記憶される。一方、ROM領域には、例えば、検
証等の済んだ、製品化されたアプリケーションプログラ
ムが書き込まれる。
Here, the instruction ROM / RA
M24 has a readable / writable area (RAM area) and a readable only area (ROM area). R
In the AM area, for example, an execution code of an application program supplied from the printer control unit 14 of the computer 1 is stored. That is, the RAM area stores, for example, an application program for demonstration, an application program for verification, and the like. On the other hand, in the ROM area, for example, a commercialized application program that has been verified is written.

【0032】インストラクションROM/RAM24か
ら読み出された実行コードは、制御部22に供給され、
制御部22は、その実行コードを、インストラクション
デコーダによってデコードし、そのデコード結果に基づ
き、アドレスジェネレータ25乃至28や、その他のブ
ロックを制御する。
The execution code read from the instruction ROM / RAM 24 is supplied to the control unit 22.
The control unit 22 decodes the execution code by an instruction decoder, and controls the address generators 25 to 28 and other blocks based on the decoding result.

【0033】なお、制御部22には、ジャンプセットレ
ジスタ51やメインバス54からデータが供給されるよ
うになされており、制御部22は、必要に応じて、これ
らのデータにも基づいて、各ブロックを制御するように
なされている。また、本実施の形態では、1ワードは、
例えば、32ビットとされている。
The control unit 22 is supplied with data from the jump set register 51 and the main bus 54, and the control unit 22 performs various operations on the basis of these data as necessary. Blocks have been made to control. In this embodiment, one word is
For example, it is 32 bits.

【0034】アドレスジェネレータ25乃至28は、制
御部22の制御にしたがって、アドレスを発生し、RA
M29乃至32にそれぞれ出力する。
The address generators 25 to 28 generate an address under the control of the control unit 22, and
Output to M29 to M32 respectively.

【0035】RAM29は、主として、DSPをディジ
タルフィルタとして機能させる場合に、そのフィルタ係
数(以下、適宜、データKという)を記憶させるための
もので、KRAMと呼ばれる。KRAM29は、アドレ
スジェネレータ25からのアドレスに記憶されたデータ
Kを読み出し、Kレジスタ36またはメインバス54に
出力するようになされている。また、KRAM29は、
アドレスジェネレータ25からのアドレスに、メインバ
ス54上に出力されたデータKを記憶するようにもなさ
れている。
The RAM 29 is mainly for storing filter coefficients (hereinafter referred to as data K as appropriate) when the DSP functions as a digital filter, and is called a KRAM. The KRAM 29 reads data K stored at an address from the address generator 25 and outputs the data K to the K register 36 or the main bus 54. Also, the KRAM 29
The data K output on the main bus 54 is stored in the address from the address generator 25.

【0036】RAM30は、主として、DSPで各種の
演算が行われる際に、いわゆるワークとして使用され
る。RAM30に記憶されるデータは、データDと呼ば
れ、また、RAM30は、データDを記憶することか
ら、DRAMと呼ばれる。DRAM30は、アドレスジ
ェネレータ26からのアドレスに記憶されたデータDを
読み出し、Dレジスタ37またはメインバス54に出力
するようになされている。また、DRAM30は、アド
レスジェネレータ26からのアドレスに、メインバス5
4上に出力されたデータDを記憶するようにもなされて
いる。
The RAM 30 is mainly used as a so-called work when various operations are performed by the DSP. The data stored in the RAM 30 is called data D, and the RAM 30 is called DRAM because it stores the data D. The DRAM 30 reads data D stored at an address from the address generator 26 and outputs the data D to the D register 37 or the main bus 54. Also, the DRAM 30 stores the address from the address generator 26 on the main bus 5
4 is also stored.

【0037】RAM31または32は、主として、DS
Pをディジタルフィルタとして機能させる場合におい
て、そのための最初または2番目の演算が行われる際
に、それぞれワークとして使用される。RAM31また
は32に記憶されるデータは、データDfまたはDsと
それぞれ呼ばれ、また、RAM31または32は、デー
タDfまたはDsを記憶することから、それぞれDfR
AMまたはDsRAMと呼ばれる。DfRAM31は、
アドレスジェネレータ27からのアドレスに記憶された
データDfを読み出し、R1レジスタ33またはメイン
バス54に出力するようになされている。また、DfR
AM31は、アドレスジェネレータ27からのアドレス
に、メインバス54上に出力されたデータDfを記憶す
るようにもなされている。同様に、DsRAM32も、
アドレスジェネレータ28からのアドレスに記憶された
データDsを読み出して、R2レジスタ34またはメイ
ンバス54に出力し、また、アドレスジェネレータ27
からのアドレスに、メインバス54上に出力されたデー
タDsを記憶するようになされている。なお、DfRA
M31またはDsRAM32におけるfまたはsは、そ
れぞれ、firstまたはsecondの略で、上述したように、
DfRAM31またはDsRAM32は、主として、D
SPをディジタルフィルタとして機能させるための1番
目または2番目の演算が行われる際に、それぞれ使用さ
れる。
The RAM 31 or 32 mainly stores the DS
When P functions as a digital filter, it is used as a work when the first or second operation for that is performed. The data stored in the RAM 31 or 32 is called data Df or Ds, respectively. Since the RAM 31 or 32 stores the data Df or Ds, the data DfR or Ds is stored in the RAM 31 or 32, respectively.
It is called AM or DsRAM. DfRAM31,
The data Df stored at the address from the address generator 27 is read and output to the R1 register 33 or the main bus 54. Also, DfR
The AM 31 also stores the data Df output on the main bus 54 at the address from the address generator 27. Similarly, the DsRAM 32 also
The data Ds stored at the address from the address generator 28 is read and output to the R2 register 34 or the main bus 54.
The data Ds output on the main bus 54 is stored at the address from. Note that DfRA
F or s in M31 or DsRAM 32 is an abbreviation of first or second, respectively, and as described above,
The DfRAM 31 or the DsRAM 32 mainly stores the D
It is used when the first or second operation for making the SP function as a digital filter is performed.

【0038】R1レジスタ33は、DfRAM31から
のデータDfをラッチし、加算器35に出力する。R2
レジスタ34は、DsRAM32からのデータDsをラ
ッチし、加算器35に出力する。加算器35は、R1レ
ジスタ33のラッチ出力と、R2レジスタ34のラッチ
出力とを加算し、その加算値を、メインバス54上に出
力する。
The R1 register 33 latches the data Df from the DfRAM 31 and outputs it to the adder 35. R2
The register 34 latches the data Ds from the DsRAM 32 and outputs the data Ds to the adder 35. The adder 35 adds the latch output of the R1 register 33 and the latch output of the R2 register 34, and outputs the added value to the main bus 54.

【0039】Kレジスタ36は、KRAM29からのデ
ータKまたはメインバス54上のデータをラッチし、乗
算器38に出力する。Dレジスタ37は、DRAM30
からのデータDまたはメインバス54上のデータをラッ
チし、乗算器38に出力する。乗算器38は、Kレジス
タ36のラッチ出力と、Dレジスタ37のラッチ出力と
を乗算し、その乗算値を出力する。シフタ39は、乗算
器38が出力する乗算値のビットシフトを行って出力す
るようになされている。Pレジスタ40は、乗算器38
が出力する乗算値を、シフタ39を介してラッチし、加
算器41に出力されるようになされている。
The K register 36 latches the data K from the KRAM 29 or the data on the main bus 54 and outputs it to the multiplier 38. The D register 37 stores the DRAM 30
, Or the data on the main bus 54 is latched and output to the multiplier 38. The multiplier 38 multiplies the latch output of the K register 36 by the latch output of the D register 37, and outputs the multiplied value. The shifter 39 performs a bit shift on the multiplied value output from the multiplier 38 and outputs the result. The P register 40 includes a multiplier 38
Are latched via the shifter 39 and output to the adder 41.

【0040】加算器41は、Pレジスタ40のラッチ出
力と、アキュームレータ44の出力とを加算し、その加
算値を、リミッタ42、B(Buffer)レジスタ43、ま
たはアキュームレータ44に出力する。リミッタ42
は、加算器41からの加算値のビット数を制限し、アキ
ュームレータ45またはメインバス54上に出力する。
Bレジスタ43は、加算器41からの加算値を一時保持
し、アキュームレータ44に出力する。アキュームレー
タ44は、加算器41からの加算値を保持し、またはB
レジスタ43のラッチ出力に対して、自身が保持してい
る値に加算するなどの所定の演算を必要に応じて施し
て、新たに保持し、加算器41に出力する。
The adder 41 adds the latch output of the P register 40 and the output of the accumulator 44, and outputs the added value to the limiter 42, the B (Buffer) register 43, or the accumulator 44. Limiter 42
Restricts the number of bits of the addition value from the adder 41 and outputs the result to the accumulator 45 or the main bus 54.
The B register 43 temporarily holds the added value from the adder 41 and outputs it to the accumulator 44. The accumulator 44 holds the added value from the adder 41, or
The latch output of the register 43 is subjected to a predetermined operation such as addition to a value held by the register 43 as needed, newly held, and output to the adder 41.

【0041】アキュームレータ45は、リミッタ42,
AND/ORゲート47、シーケンサ48、またはバレ
ルシフタ49の出力に対して、自身が保持している値を
加算するなどの所定の演算を必要に応じて施して、新た
に保持し、AND/ORゲート47およびバレルシフタ
49に出力する。B(Buffer)レジスタ46は、メイン
バス54上に出力されたデータをラッチし、AND/O
Rゲート47、シーケンサ48、およびバレルシフタ4
9に出力する。
The accumulator 45 includes a limiter 42,
The output of the AND / OR gate 47, the sequencer 48, or the barrel shifter 49 is subjected to a predetermined operation such as addition of a value held by itself, if necessary, and newly held, and the AND / OR gate is newly stored. 47 and the barrel shifter 49. A B (Buffer) register 46 latches the data output on the main bus 54 and performs an AND / O operation.
R gate 47, sequencer 48, and barrel shifter 4
9 is output.

【0042】AND/ORゲート47は、アキュームレ
ータ45およびBレジスタ46の出力どうしの論理積ま
たは論理和を演算し、アキュームレータ45またはリミ
ッタ50に出力する。シーケンサ48は、例えば、Bレ
ジスタ46のラッチ出力を初期値として、M系列(Maxi
mum-length-shift-register-sequence)を発生し、アキ
ュームレータ45またはリミッタ50に出力する。即
ち、図2のDSPは、例えば、オーディオ用(音声処理
用)のもので、例えば、白色雑音などを出力するため
に、シーケンサ48においてM系列が発生されるように
なされている。バレルシフタ49は、アキュームレータ
45やBレジスタ46の出力をビットシフトし、アキュ
ームレータ45またはリミッタ50に出力する。リミッ
タ50は、AND/ORゲート47、シーケンサ48、
またはバレルシフタ49の出力のビット数を制限し、メ
インバス54上に出力する。
The AND / OR gate 47 calculates the logical product or the logical sum of the outputs of the accumulator 45 and the B register 46, and outputs the result to the accumulator 45 or the limiter 50. The sequencer 48 uses the latch output of the B register 46 as an initial value,
mum-length-shift-register-sequence) and outputs it to the accumulator 45 or the limiter 50. That is, the DSP shown in FIG. 2 is, for example, for audio (for audio processing). For example, in order to output, for example, white noise, the sequencer 48 generates an M sequence. The barrel shifter 49 bit-shifts the output of the accumulator 45 or the B register 46 and outputs the result to the accumulator 45 or the limiter 50. The limiter 50 includes an AND / OR gate 47, a sequencer 48,
Alternatively, the number of bits of the output of the barrel shifter 49 is limited and output to the main bus 54.

【0043】ジャンプセットレジスタ51は、メインバ
ス54上に出力されたデータを記憶するようになされて
いる。即ち、ジャンプセットレジスタ51は、後述する
Yレジスタによって指定されるブロックの1つで、例え
ば、後述するビットj4などを記憶するようになされて
いる。ADレジスタ52は、外部からのデータをラッチ
し、メインバス54上に出力するようになされている。
なお、ADレジスタ52は、後述するXレジスタによっ
て指定されるブロックの1つである。
The jump set register 51 stores the data output on the main bus 54. That is, the jump set register 51 is one of the blocks specified by a Y register described later, and stores, for example, a bit j4 described later. The AD register 52 latches external data and outputs the data to the main bus 54.
The AD register 52 is one of the blocks specified by an X register described later.

【0044】セットアップレジスタ53は、ここでは、
例えば、図示せぬA乃至D面の4つのレジスタからな
り、DSPの内部状態に関する情報を保持するようにな
されている。
The setup register 53 here is
For example, it comprises four registers A to D (not shown) and holds information on the internal state of the DSP.

【0045】以上のように構成されるDSPでは、複数
のインストラクションに対応する処理が並列に行われる
ようになされている。即ち、1クロックで、データの乗
算、加算、転送、アドレスの指定、データの読み出し、
書き込み、無条件あるいは所定の条件に対応したプログ
ラムカウンタの変更(無条件あるいは条件分枝)、その
他のうちの複数の処理を同時に行うことができるように
なされている。
In the DSP configured as described above, processes corresponding to a plurality of instructions are performed in parallel. That is, in one clock, data multiplication, addition, transfer, address designation, data reading,
A plurality of processes such as writing, unconditional or changing the program counter corresponding to a predetermined condition (unconditional or conditional branching), and others can be simultaneously performed.

【0046】次に、図3は、図2のインストラクション
ROM/RAM24に記憶される、DSPの実行コード
(マシンコード)のフォーマットを示している。
Next, FIG. 3 shows a format of a DSP execution code (machine code) stored in the instruction ROM / RAM 24 of FIG.

【0047】実行コードは、ここでは、上述したよう
に、32ビットを1ワードとして構成され、図3に示す
ように、1ワードのLSB(Least Significant Bit)
を第0ビットとし、LSBから2ビット目を第1ビット
とし、以下同様にして、MSB(Most Significant Bi
t)を第31ビットとすると、第0乃至第17ビットの
18ビットは、ロウワーコード(lower code)と呼ばれ
る。
As described above, the execution code is composed of 32 bits as one word, and as shown in FIG. 3, one word LSB (Least Significant Bit).
Is the 0th bit, the second bit from the LSB is the first bit, and so on.
If t) is the 31st bit, the 18th bit from the 0th to the 17th bit is called a lower code.

【0048】そして、第0乃至第17ビットには、例え
ば、処理対象(例えば、乗算や加算の対象)のデータが
記憶されているRAM29乃至32のアドレスや、その
アドレスの指定方法などを表すフラグが配置される。こ
こで、アドレスの指定方法には、絶対指定と相対指定と
がある。絶対指定では、処理対象のデータが記憶されて
いるアドレスそのものが指定され、相対指定では、アド
レスジェネレータ25乃至28がいま出力しているアド
レスに対する、処理対象のデータが記憶されているアド
レスのオフセット値が指定される。
The 0th to 17th bits include, for example, an address of the RAM 29 to 32 in which data to be processed (for example, a target of multiplication or addition) is stored, and a flag indicating a method of designating the address. Is arranged. Here, there are two types of address specification methods: absolute specification and relative specification. In the absolute specification, the address at which the data to be processed is stored is specified. In the relative specification, the offset value of the address at which the data to be processed is stored with respect to the address currently output by the address generators 25 to 28. Is specified.

【0049】また、第0乃至第17ビットには、例え
ば、XレジスタやYレジスタを指定する情報も配置され
る。ここで、Xレジスタとは、仮想的なレジスタで、メ
インバス54上にデータを出力するブロックのいずれか
を指す。即ち、図2の実施の形態では、メインバス54
上にデータを出力するブロックとして、例えば、RAM
29乃至32、加算器35、リミッタ42,50,AD
レジスタ52などがあるが、Xレジスタは、これらのう
ちのいずれかを指す。具体的には、メインバス54にデ
ータを出力するブロックには、ユニークな番号が割り当
てられており、Xレジスタとするブロックは、その番号
で指定される。また、Yレジスタも、仮想的なレジスタ
で、メインバス54上のデータを受け取るブロックのい
ずれかを指す。即ち、図2の実施の形態では、メインバ
ス54上のデータを受け取るブロックとして、例えば、
RAM29乃至32,R1レジスタ33,R2レジスタ
34,Kレジスタ35,Dレジスタ36,Bレジスタ4
6、ジャンプセットレジスタ51などがあるが、Yレジ
スタは、これらのうちのいずれかを指す。具体的には、
メインバス54上のデータを受け取るブロックにも、ユ
ニークな番号が割り当てられており、Yレジスタとする
ブロックは、その番号で指定される。
In the 0th to 17th bits, for example, information designating an X register or a Y register is also arranged. Here, the X register is a virtual register and refers to any of the blocks that output data on the main bus 54. That is, in the embodiment of FIG.
As a block for outputting data, for example, a RAM
29 to 32, adder 35, limiters 42, 50, AD
Although there is a register 52 or the like, the X register indicates any of these. Specifically, a unique number is assigned to a block that outputs data to the main bus 54, and a block serving as an X register is designated by that number. The Y register is also a virtual register and indicates one of the blocks that receives data on the main bus 54. That is, in the embodiment of FIG. 2, for example, a block for receiving data on the main bus 54 includes, for example,
RAMs 29 to 32, R1 register 33, R2 register 34, K register 35, D register 36, B register 4
6, the jump set register 51, etc., and the Y register indicates any of these. In particular,
A unique number is also assigned to a block that receives data on the main bus 54, and a block to be a Y register is designated by that number.

【0050】さらに、第0乃至第17ビットには、アプ
リケーションプログラムの実行順序を変化させる可能性
のあるインストラクション(プログラムカウンタをシー
ケンシャルに変化させない可能性のあるインストラクシ
ョン)であるジャンプ命令やサブルーチンのコール命
令、サブルーチンの終了を指示するリターン命令、ルー
プ処理の開始を指示するループ開始命令、ループ処理の
最初の処理に戻るためのジャンプを指示するループジャ
ンプ命令、その他これらに類する命令(このような命令
を総称して、以下、適宜、ジャンプ/コール系命令とい
う)のうち、あらかじめ定義された命令(このような命
令を総称して、以下、適宜、特別ジャンプ/コール系命
令という)も配置される。
Further, the 0th to 17th bits include a jump instruction or a subroutine call instruction which is an instruction which may change the execution order of the application program (an instruction which may not change the program counter sequentially). , A return instruction for instructing the end of a subroutine, a loop start instruction for instructing the start of loop processing, a loop jump instruction for instructing a jump to return to the first processing of loop processing, and other similar instructions (such instructions Preliminarily defined instructions (collectively, hereinafter, referred to as jump / call instructions) are also arranged (hereinafter, such instructions are collectively referred to as special jump / call instructions, as appropriate).

【0051】また、第0乃至第17ビットには、乗算に
関する処理を指示する命令(そのような命令を総称し
て、以下、適宜、乗算系命令という)、データ転送に関
する処理を指示する命令(そのような命令を総称して、
以下、適宜、転送系命令という)なども配置される。
In the 0th to 17th bits, an instruction instructing a process related to multiplication (such an instruction is collectively referred to as a multiplication instruction as appropriate hereinafter), and an instruction instructing a process related to data transfer (hereinafter referred to as a multiplication instruction). Collectively, such instructions
In the following, transfer instructions are appropriately arranged).

【0052】以上のように、第0乃至第17ビット、即
ち、ロウワーコードには、基本的には、乗算系命令、転
送系命令、特別ジャンプ/コール系命令に関する情報
(乗算や転送の対象となるデータが記憶されているアド
レスなどを含む)が配置される。
As described above, the 0th to 17th bits, that is, the lower code, basically include information related to multiplication instructions, transfer instructions, and special jump / call instructions (objects to be multiplied or transferred). (Including an address at which such data is stored).

【0053】第18および第19ビットには、ジャンプ
/コール系命令のうちの、例えば、リターン命令、ルー
プ開始命令、またはループジャンプ命令の3つの命令
(これらの命令を総称して、以下、適宜、リターン系命
令という)のうちのいずれかが配置される。
The eighteenth and nineteenth bits include, for example, three instructions of a jump / call type instruction, such as a return instruction, a loop start instruction, and a loop jump instruction (these instructions will be collectively referred to as , Return-related instructions).

【0054】第20ビットには、Bレジスタ43に対す
るリード/ライト命令が配置される。例えば、第20ビ
ットがリードを意味しているとき、Bレジスタ43のラ
ッチ出力が読み出され、アキュームレータ44に供給さ
れて記憶される。さらに、アキュームレータ44の記憶
値が加算器41に供給される。また、第20ビットがラ
イトを意味しているとき、加算器41の出力が、Bレジ
スタ43に書き込まれる。
In the 20th bit, a read / write instruction for the B register 43 is arranged. For example, when the 20th bit indicates read, the latch output of the B register 43 is read, supplied to the accumulator 44, and stored. Further, the value stored in the accumulator 44 is supplied to the adder 41. When the twentieth bit indicates a write, the output of the adder 41 is written to the B register 43.

【0055】第21乃至第24ビットには、加算器41
における加算に関する処理を指示する命令(そのような
命令を総称して、以下、適宜、加算系命令という)が配
置される。
The adders 41 are added to the 21st to 24th bits.
(Hereinafter, such instructions will be referred to as addition instructions as appropriate).

【0056】第25乃至第30ビットには、Tが配置さ
れる。即ち、ここでは、図2のDSPにおいて同時に
(並列に)行うことのできる複数の処理に対応する乗算
系命令、転送系命令、特別ジャンプ/コール系命令など
の命令の組合せのうち、例えば、比較的頻繁に用いられ
ると予想される64の組合せが定義され、各組合わせに
対して、ユニークな番号が付されている。第21乃至第
24ビットには、その1ワードの実行コードにしたがっ
て同時に行われる複数の処理に対応する乗算系命令、転
送系命令、特別ジャンプ/コール系命令の組合せに割り
当てられている6ビットの番号(以下、適宜、組合せ番
号という)Tが配置される。従って、Tは、ロウワーコ
ードにおける乗算系命令、転送系命令、特別ジャンプ/
コール系命令の組合せに対応して一意に決まる。ここ
で、Tは、例えば、00H乃至3FH(Hは、その前の
数字が16進数であることを表す)の64の値のうちの
いずれかの値をとるようになっている。
T is placed in the 25th to 30th bits. That is, here, among combinations of instructions such as a multiplication instruction, a transfer instruction, and a special jump / call instruction corresponding to a plurality of processes that can be performed simultaneously (in parallel) in the DSP of FIG. Sixty-four combinations that are expected to be used frequently are defined, and each combination is given a unique number. The twenty-first to twenty-fourth bits are 6-bits assigned to a combination of a multiplication instruction, a transfer instruction, and a special jump / call instruction corresponding to a plurality of processes simultaneously performed according to the one-word execution code. A number (hereinafter, appropriately referred to as a combination number) T is arranged. Therefore, T is a multiplication instruction, a transfer instruction, a special jump /
It is uniquely determined according to the combination of the call instructions. Here, T takes, for example, any one of 64 values from 00H to 3FH (H indicates that the preceding digit is a hexadecimal number).

【0057】第31ビットには、Pレジスタ40がラッ
チするデータの符号が配置される。
In the 31st bit, the sign of the data latched by P register 40 is arranged.

【0058】ここで、図2のDSPにおいては、1クロ
ックで実行可能な命令が、32ビットでは表すことがで
きない多くの数に拡張されている。即ち、本実施の形態
では、例えば、特別ジャンプ/コール系命令として、3
2のインストラクション(命令)が用意されており、従
って、その32のインストラクションを特定するために
は、5(=log232)ビット必要となる。さらに、
本実施の形態では、特別ジャンプ/コール系命令をロウ
ワーコードに配置する場合において、第0乃至第15ビ
ットに配置するデータが既に割り当てられている。従っ
て、特別ジャンプ/コール系命令をロウワーコードに配
置する場合に、ロウワーコードの中で、空いてるビット
は、第16および第17ビットしかない。そこで、特別
ジャンプ/コール系命令については、ロウワーコード
が、本来は、リターン系命令が配置される第18および
第19ビットまで拡張され、第0乃至第19ビットの2
0ビットがロウワーコードとされるようになされてい
る。
Here, in the DSP of FIG. 2, instructions executable by one clock are expanded to a large number that cannot be represented by 32 bits. That is, in the present embodiment, for example, as a special jump / call type instruction, 3
Two instructions (instructions) are prepared, and therefore, 5 (= log 2 32) bits are required to specify the 32 instructions. further,
In the present embodiment, when a special jump / call type instruction is arranged in a lower code, data to be arranged in the 0th to 15th bits has already been allocated. Therefore, when the special jump / call type instruction is arranged in the lower code, only the 16th and 17th bits are vacant in the lower code. Therefore, for the special jump / call type instruction, the lower code is originally extended to the 18th and 19th bits in which the return type instruction is arranged, and 2 bits of the 0th to 19th bits are used.
The 0 bit is set as a lower code.

【0059】しかしながら、それでも、ロウワーコード
の中の第0乃至第15ビットに配置するデータが既に割
り当てられているから、第0乃至第19ビットの20ビ
ットで構成されるロウワーコードの中で、空いているビ
ットは、第16乃至第19ビットの4ビットしかなく、
5ビットで表される特別ジャンプ/コール系命令を配置
するには、1ビット足りない。
However, since the data to be allocated to the 0th to 15th bits in the lower code has already been allocated, an empty portion of the lower code composed of 20 bits from the 0th to 19th bits has been allocated. There are only 4 bits of the 16th to 19th bits,
To place a special jump / call type instruction represented by 5 bits, 1 bit is insufficient.

【0060】そこで、いま、5ビットで表される特別ジ
ャンプ/コール系命令の各ビットを、そのMSBから、
順次、j4,j3,j2,j1,j0と表すとき、本実
施の形態では、実行コードの第16乃至第19ビット
に、ビットj0乃至j3がそれぞれ配置され、ビットj
4は、ジャンプセットレジスタ51に配置されるように
なされている。従って、制御部22では、特別ジャンプ
/コール系命令を含む実行コードについては、その実行
コードの他に、ジャンプセットレジスタ51の記憶値も
参照して、そのデコードが行われるようになされてい
る。
Therefore, each bit of the special jump / call type instruction represented by 5 bits is converted from its MSB into
In this embodiment, when sequentially expressed as j4, j3, j2, j1, and j0, bits j0 to j3 are respectively arranged in the 16th to 19th bits of the execution code, and the bit j
4 is arranged in the jump set register 51. Therefore, the control unit 22 decodes the execution code including the special jump / call type instruction by referring to the stored value of the jump set register 51 in addition to the execution code.

【0061】ここで、以下、ロウワーコードというとき
は、特に断らない限り、特別ジャンプ/コール系命令を
含まない実行コードについては、実行コードの第0乃至
第17ビットを、特別ジャンプ/コール系命令を含む実
行コードについては、第0乃至第19ビットを、それぞ
れ意味するものとする。
Hereafter, when the lower code is referred to, the 0th to 17th bits of the execution code of the execution code which does not include the special jump / call instruction are replaced with the special jump / call instruction unless otherwise specified. , The 0th to 19th bits mean the respective execution codes.

【0062】次に、図1のプログラム開発支援システム
において行われる各種の処理について、さらに説明す
る。
Next, various processes performed in the program development support system of FIG. 1 will be further described.

【0063】ハードディスク11に記憶された開発支援
プログラムが起動されると、ディスプレイ9には、ウイ
ンドウがオープンされ、そのウインドウの中に、例え
ば、図4に示すようなメイン画面(エディット画面)が
表示される。
When the development support program stored in the hard disk 11 is started, a window is opened on the display 9 and a main screen (edit screen) as shown in FIG. 4, for example, is displayed in the window. Is done.

【0064】メイン画面は、メニューバー61、入力欄
62、スクロールバー63、ブロック切替部64、状態
表示部65、実行コード表示部66、ファイル表示部6
7などで構成され、そこからは、アプリケーションプロ
グラムのプログラミングに必要なすべての機能(本実施
の形態における開発支援プログラムが提供するすべての
機能)を呼び出すことができるようになされている。
The main screen includes a menu bar 61, an input field 62, a scroll bar 63, a block switching unit 64, a status display unit 65, an execution code display unit 66, and a file display unit 6.
7 and the like, from which all functions necessary for programming of the application program (all functions provided by the development support program in the present embodiment) can be called.

【0065】メニューバー61は、エトセトラ(etc)
ボタン61A、プリント(print)ボタン61B、ブロ
ック(block)ボタン61C、クイット(quit)ボタン
61D、ガイド(guide)ボタン61E、トランス(tra
ns)ボタン61F、ファイル(file)ボタン61G,K
エディト(K_edit)ボタン61H,Dエディト(D_edi
t)ボタン61I,Dfエディト(Df_edit)ボタン61
J,Dsエディット(Ds_edit)ボタン61K,Sエデ
ィット(S_edit)ボタン61L、アドレスモニタ(Amon
itor)ボタン61M、およびヘルプ(help)ボタン61
Nで構成されている。
The menu bar 61 is a menu bar, etc.
Button 61A, print button 61B, block button 61C, quit button 61D, guide button 61E, transformer
ns) button 61F, file buttons 61G, K
Edit (K_edit) button 61H, D edit (D_edi)
t) button 61I, Df edit (Df_edit) button 61
J, Ds edit (Ds_edit) button 61K, S edit (S_edit) button 61L, address monitor (Amon
itor) button 61M and help button 61
N.

【0066】エトセトラボタン61Aは、入力欄62に
表示されたアプリケーションプログラムやデータを、C
言語や、アセンブラ(機械語)、ROMへの書き込み用
のフォーマット(PRMフォーマット)などでセーブす
るためのエトセトラメニュー画面を表示させるときに操
作される(マウス6でクリックされる)。
The etseter button 61A is used to transfer the application program or data displayed in the input field 62 to C
This operation is performed when the etheter menu screen for saving in a language, an assembler (machine language), a format for writing to the ROM (PRM format), or the like is displayed (clicked with the mouse 6).

【0067】プリントボタン61Bは、入力欄62に表
示されたアプリケーションプログラムやデータを、所定
のフォーマットで、プリンタ17によって印刷させるた
めの印刷メニュー画面を表示させるときに操作される。
The print button 61B is operated to display a print menu screen for causing the printer 17 to print the application program or data displayed in the input field 62 in a predetermined format.

【0068】ブロックボタン61Cは、後述するブロッ
ク間において、アプリケーションプログラムやデータの
コピーその他の編集作業を行うためのブロックメニュー
画面を表示させるときに操作される。
The block button 61C is operated to display a block menu screen for copying an application program, data, and other editing work between blocks described later.

【0069】クイットボタン61Dは、開発支援プログ
ラムを終了するための終了メニュー画面を表示させると
きに操作される。
The quit button 61D is operated when displaying an end menu screen for ending the development support program.

【0070】ガイドボタン61Eは、アプリケーション
プログラムのプログラミングを支援するための、後述す
るガイド画面(図7)を表示させるときに操作される。
The guide button 61E is operated to display a guide screen (FIG. 7) described later for supporting the programming of the application program.

【0071】トランスボタン61Fは、アプリケーショ
ンプログラムの実行コードなどを、プリンタ制御部1
4、即ち、プリンタインターフェイスの一部のビットを
利用して、DSPボード21に送信し、また、同様にし
て、DSPボード21からのデータを受信するための、
後述するトランス画面(図13)を表示させるときに操
作される。
The trans button 61F is used to transfer the execution code of the application program and the like to the printer
4, that is, for transmitting data to the DSP board 21 using a part of bits of the printer interface, and for receiving data from the DSP board 21 in the same manner,
It is operated when displaying a transformer screen (FIG. 13) described later.

【0072】ファイルボタン61Gは、入力欄62に入
力されたアプリケーションプログラムや、メイン画面に
おける設定環境を、ハードディスク11に記憶させた
り、また、そのようにしてハードディスク11に記憶さ
せたものを読み出すためのファイルメニュー画面を表示
させるときに操作される。
The file button 61G is used to store the application program input in the input field 62 and the setting environment on the main screen on the hard disk 11, and to read out the information stored on the hard disk 11 in this manner. Operated when displaying the file menu screen.

【0073】Kエディトボタン61H,Dエディトボタ
ン61I,Dfエディトボタン61J,Dsエディット
ボタン61Kは、図2のDSPのRAM29乃至32に
記憶させるデータK,D,Df,Dsを作成、編集する
ためのデータ編集画面を表示させるときにそれぞれ操作
される。
The K edit button 61H, D edit button 61I, Df edit button 61J, and Ds edit button 61K are used to create and edit data K, D, Df, and Ds to be stored in the RAMs 29 to 32 of the DSP of FIG. It is operated when the data edit screen is displayed.

【0074】Sエディットボタン61Lは、図2のDS
Pのセットアップレジスタ53を構成する4つのA乃至
D面のレジスタの記憶値を設定するための設定画面を表
示させるときに操作される。
The S edit button 61L is connected to the DS edit button shown in FIG.
It is operated when a setting screen for setting the stored values of the four A to D plane registers constituting the P setup register 53 is displayed.

【0075】アドレスモニタボタン61Mは、図2のD
SPのインストラクションアドレスジェネレータ23が
出力するアドレスや、アドレスジェネレータ25乃至2
8が出力するアドレスの変化をモニタするための後述す
る画面(図17乃至図19)を表示させるときに操作さ
れる。
The address monitor button 61M is the D button in FIG.
The address output by the SP instruction address generator 23, the address generators 25 to 2
It is operated to display a screen (FIGS. 17 to 19), which will be described later, for monitoring a change in the address output by the address 8.

【0076】ヘルプボタン61Nは、開発支援プログラ
ムについての説明のためのヘルプメニュー画面を表示さ
せるときに操作される。
The help button 61N is operated to display a help menu screen for explaining the development support program.

【0077】入力欄62は、アプリケーションプログラ
ムなどの入力、編集を行うためのもの(入力画面)で、
各行が、異なる種類の命令(インストラクション)を入
力するための複数の欄に分割されている。ここで、入力
欄62は、開発支援プログラムの起動時においては、所
定のデフォルトのデータで埋められている。また、入力
欄62は、例えば、第000H乃至第3FFH行の10
24行を有しており、開発支援プログラムの起動時にお
いては、デフォルトで、第000H乃至第01BH行の
28行が表示されるようになされている。なお、開発支
援プログラムの起動時における表示行数は、28行以外
の行数に設定することも可能である。また、いま、入力
欄62において表示されていない行は、スクロールバー
63をマウス6でドラッグして移動することなどによ
り、画面をスクロールさせて表示させることができるよ
うになされている。
The input field 62 is for inputting and editing application programs and the like (input screen).
Each line is divided into a plurality of columns for inputting different types of instructions. Here, the input field 62 is filled with predetermined default data when the development support program is started. In addition, the input field 62 is, for example, the 10th of the 000H to 3rd FFH rows.
There are 24 lines, and when the development support program is started, 28 lines from the 000H to the 01BH lines are displayed by default. The number of display lines at the time of starting the development support program can be set to a number other than 28. Also, the lines not currently displayed in the input field 62 can be displayed by scrolling the screen by dragging the scroll bar 63 with the mouse 6 and moving.

【0078】ブロック切替部64は、ブロックを切り替
えるときに操作されるようになされている。即ち、入力
欄62や、状態表示部65、実行コード表示部66、フ
ァイル表示部67における表示内容は、RAM4上にあ
らかじめ確保された記憶領域に展開(記憶)されるが、
ここでは、この1つの記憶領域をブロックと呼んでい
る。本実施の形態では、RAM4上に、例えば、第00
H乃至第0FHの16のブロックが確保されるようにな
されており、ブロック切替部64における、所望のブロ
ックに対応する番号の表示部分を、マウス6でクリック
すると、メイン画面の表示内容が、そのブロックに対応
するものに変更されるようになされている。
The block switching section 64 is operated when switching blocks. That is, display contents in the input field 62, the status display section 65, the execution code display section 66, and the file display section 67 are developed (stored) in a storage area secured in advance in the RAM 4.
Here, this one storage area is called a block. In the present embodiment, for example, the 00th
The 16th block from the Hth to the 0th FH is secured, and when the display part of the number corresponding to the desired block in the block switching unit 64 is clicked with the mouse 6, the display content of the main screen is changed to that. It is adapted to be changed to the one corresponding to the block.

【0079】状態表示部65には、セットアップレジス
タ53におけるA乃至D面のレジスタの記憶値(DSP
の内部状態)が、16進数で表示されるようになされて
いる。
The status display section 65 displays the values stored in the registers A to D in the setup register 53 (DSP).
) Is displayed in hexadecimal.

【0080】実行コード表示部66には、実行コードが
表示されるようになされている。即ち、入力欄62に
は、カーソル69が表示されるが、そのカーソル69が
位置している行を、注目している行として、カーソル6
9が、マウス6やキーボード7が操作されることにより
移動され、これにより、注目している行が移動すると、
その注目していた行、即ち、カーソル69が位置してい
た行に入力されたアプリケーションプログラムのソース
コードが、ラインアセンブル(1行分のアセンブル)さ
れ、その結果得られる図3で説明したような32ビット
の実行コード(マシンコード)が、実行コード表示部6
6において、16進数で表示される。
An execution code is displayed on the execution code display section 66. That is, although the cursor 69 is displayed in the input field 62, the line where the cursor 69 is located is set as the line of interest and the cursor 6 is displayed.
9 is moved by operating the mouse 6 or the keyboard 7, whereby the line of interest moves,
The source code of the application program input to the line of interest, that is, the line where the cursor 69 is located, is line-assembled (assembled for one line), and the resulting as shown in FIG. The 32-bit execution code (machine code) is displayed in the execution code display unit 6
At 6, it is displayed in hexadecimal.

【0081】ファイル表示部67には、ハードディスク
11に記憶させたアプリケーションプログラムや、メイ
ン画面における設定環境を読み出したときに、そのファ
イル名が表示される。ここで、本実施の形態では、ファ
イル名の拡張子として、例えば、A24,I24,K24,D24,
Df24,Ds24,S24,B24などが用意されている。拡張子A2
4は、ブロック切替部64を操作することによって選択
されているブロックの内容すべてをセーブしたときのフ
ァイルに付される。拡張子I24は、インストラクション
(命令)だけをセーブしたときのファイルに付される。
拡張子K24,D24,Df24,Ds24は、データK,D,Df,
Dsだけをセーブしたときのファイルにそれぞれ付され
る。拡張子S24は、セットアップレジスタ53の記憶値
だけをセーブしたときのファイルに付される。拡張子B2
4は、ブロック切替部64を操作することによって選択
されているブロックの環境(例えば、ファイル表示部6
7に表示されているファイル名など)だけをセーブした
ときのファイルに付される。
The file name is displayed on the file display section 67 when the application program stored in the hard disk 11 and the setting environment on the main screen are read. Here, in the present embodiment, for example, A24, I24, K24, D24,
Df24, Ds24, S24, B24, etc. are prepared. Extension A2
4 is added to the file when all the contents of the block selected by operating the block switching unit 64 are saved. The extension I24 is added to the file when only instructions (instructions) are saved.
Extensions K24, D24, Df24, and Ds24 are data K, D, Df,
It is added to each file when only Ds is saved. The extension S24 is added to the file when only the stored value of the setup register 53 is saved. Extension B2
4 is the environment of the block selected by operating the block switching unit 64 (for example, the file display unit 6).
7) is added to the file when only the file was saved.

【0082】次に、図5は、図4のメイン画面における
入力欄62の構成例を示している。
FIG. 5 shows an example of the configuration of the input field 62 on the main screen of FIG.

【0083】入力欄62は、上述したように、各行が、
異なる種類の命令(インストラクション)を入力するた
めの複数の欄に分割されている。
As described above, in the input column 62, each line is
It is divided into a plurality of fields for inputting different types of instructions.

【0084】即ち、入力欄62における各行は、その先
頭から、行番号(NO)欄71、符号(+)欄72、乗算
(mpy)欄73、加算(add)欄74、リードライト(m
r)欄75、転送欄(move)76、ジャンプ(jump)欄
77、データ(k,d,df,ds,x,y)欄78、エンド(ed)
欄79、コメント(comment)欄80が順次配置されて
構成されている。
That is, each line in the input column 62 is, from the top, a line number (NO) column 71, a sign (+) column 72, a multiplication (mpy) column 73, an addition (add) column 74, and a read / write (m).
r) column 75, transfer column (move) 76, jump (jump) column 77, data (k, d, df, ds, x, y) column 78, end (ed)
A column 79 and a comment column 80 are sequentially arranged.

【0085】行番号欄71には、行番号が、先頭行から
最終行に向かって、000Hからシリーズに配置され
る。
In the line number column 71, line numbers are arranged in series from 000H from the first line to the last line.

【0086】符号欄72には、乗算器38の乗算結果
を、シフタ39を介してPレジスタ40に記憶させると
きの、その乗算結果の符号としての+または-が入力され
る。本実施の形態では、デフォルトで、+が表示される
ようになっている。
In the sign field 72, + or-is input as a sign of the multiplication result when the multiplication result of the multiplier 38 is stored in the P register 40 via the shifter 39. In the present embodiment, + is displayed by default.

【0087】乗算欄73には、乗算系命令が入力され
る。本実施の形態では、デフォルトで、_*_(これは、
乗算器38において、k*dを実行すること(現在のKレ
ジスタ36とDレジスタ37の内容を乗算し、出力を不
変とすること)を意味する)が表示されるようになって
いる。
The multiplication column 73 receives a multiplication command. In this embodiment, by default, _ * _ (this is
In the multiplier 38, the execution of k * d (meaning that the current contents of the K register 36 and the contents of the D register 37 are multiplied to make the output unchanged) is displayed.

【0088】加算欄74には、加算系命令が入力され
る。本実施の形態では、デフォルトで、_+___(これ
は、加算器41において、ゼロを加算することを意味す
る)が表示されるようになっている。
An addition command is input to the addition field 74. In the present embodiment, by default, _ + ___ (this means that zero is added in the adder 41) is displayed.

【0089】リードライト欄75には、リード命令rdま
たはライト命令wrが入力される。本実施の形態では、デ
フォルトで、__(これは、Bレジスタ43からデータを
読み出す読み出しモードとすることを意味する)が表示
されるようになっている。
The read / write command 75 is input to the read / write field 75. In the present embodiment, by default, __ (this means a read mode for reading data from the B register 43) is displayed.

【0090】転送欄76には、転送系命令が入力され
る。本実施の形態では、デフォルトで、_>__(これは、
データの転送を行わないことを意味する)が表示される
ようになっている。
A transfer command is input to the transfer column 76. In this embodiment, by default, _> __ (this is
(Meaning that data transfer is not performed) is displayed.

【0091】ジャンプ欄77には、ジャンプ/コール系
命令が入力される。本実施の形態では、デフォルト
で、....(これは、ジャンプを行わないことを意味す
る)が表示されるようになっている。
The jump column 77 is used to input a jump / call command. In the present embodiment, by default,... (This means that no jump is performed) is displayed.

【0092】データ欄78は、データK,D,Df,D
sそれぞれのアドレスを入力する欄78K,78D,7
8Df,78Ds、XレジスタまたはYレジスタそれぞ
れを指定する情報などを入力する欄78Xまたは78Y
が順次配置されて構成されている。
The data column 78 contains data K, D, Df, D
s fields 78K, 78D, 7 for inputting respective addresses
8Df, 78Ds, a field 78X or 78Y for inputting information for designating an X register or a Y register, respectively.
Are sequentially arranged.

【0093】エンド欄79には、アプリケーションプロ
グラムの終了を指示する終了命令edが入力される。
[0093] In the end column 79, an end command ed for instructing the end of the application program is input.

【0094】コメント欄80には、必要なコメントが入
力される。なお、コメント欄80に入力されたコメント
は、主として、アプリケーションプログラムを見る者の
理解の助けとなるもので、アセンブル時には無視され
る。
The comment field 80 is used to enter a necessary comment. The comment entered in the comment field 80 is mainly for helping the viewer of the application program to understand it, and is ignored during assembly.

【0095】上述したように、図2のDSPは、複数の
命令(インストラクション)に対応する処理を、1クロ
ックで並列(同時に)に行うことができるアーキテクチ
ャとなっている。入力欄62は、これに対応して、各行
が、異なる種類の命令を入力するための複数の欄に分割
されている。即ち、入力欄62においては、DSPが同
時に行うことのできる複数の処理に対応する複数の命令
を1行に記述することができるようになされており、従
って、アプリケーションプログラム(のソースコード)
の効率的な記述が可能となる。
As described above, the DSP of FIG. 2 has an architecture in which processing corresponding to a plurality of instructions (instructions) can be performed in parallel (simultaneously) with one clock. In the input column 62, each line is correspondingly divided into a plurality of columns for inputting different types of instructions. That is, in the input field 62, a plurality of instructions corresponding to a plurality of processes that can be performed simultaneously by the DSP can be described in one line. Therefore, (the source code of the application program)
Can be described efficiently.

【0096】次に、図6は、入力欄62へのアプリケー
ションプログラムの記述例を示している。なお、図6に
おいては、コメント欄80の図示を省略してある。
Next, FIG. 6 shows an example of description of an application program in the input field 62. In FIG. 6, the illustration of the comment column 80 is omitted.

【0097】第000H行における乗算欄73の「_*
x」は、乗算器38において、データ欄78におけるX
レジスタの欄78Xにおいて指定されているADに対応
するレジスタの記憶値に、乗算を施さずに、Pレジスタ
に格納することを意味している。ここで、Xレジスタの
欄78Xにおいて指定されているADは、本実施の形態
では、例えば、図2におけるADレジスタ52を表して
おり、従って、ADレジスタ52の記憶値は、Kレジス
タまたはDレジスタ37を経由して、乗算器38に入力
され、何の処理も施されずに、シフタ39を介して、P
レジスタ40に供給されて記憶される。また、第000
H行における符号欄72の「+」は、Pレジスタ40の
記憶値の符号を正にすることを意味しており、従って、
上述したようにして、Pレジスタ40に記憶された、A
Dレジスタ52の記憶値の符号ビットは正にセットされ
る。
"_ *" In the multiplication column 73 in the 000H line
x ”is the value of X in the data column 78 in the multiplier 38.
This means that the stored value of the register corresponding to AD specified in the register column 78X is stored in the P register without multiplication. Here, the AD specified in the X register column 78X represents, for example, the AD register 52 in FIG. 2 in the present embodiment. Therefore, the stored value of the AD register 52 is the K register or the D register. 37, the signal is input to a multiplier 38, and no processing is performed.
The data is supplied to the register 40 and stored. Also, 000
“+” In the sign column 72 in the H-th row means that the sign of the storage value of the P register 40 is positive, and therefore,
As described above, A stored in the P register 40
The sign bit of the value stored in the D register 52 is set positive.

【0098】第000H行における加算欄74の「m+_0
0」は、アキュームレータ44の記憶値mを加算器41に
供給し、加算器41において、その記憶値mと0とを加
算することを意味している。
"M + _0" in the addition column 74 in the 000H line
"0" means that the stored value m of the accumulator 44 is supplied to the adder 41, and the adder 41 adds the stored value m and 0.

【0099】第000H行におけるリードライト欄75
の「rd」は、Bレジスタ43のラッチ出力を読み出し、
アキュームレータ44に供給して記憶させることを意味
している。
Read / write column 75 in line 000H
“Rd” reads the latch output of the B register 43,
This means that the data is supplied to the accumulator 44 and stored.

【0100】第000H行における転送欄76の「x>
s」は、Xレジスタの設定値を、データDsとして、D
sRAM32にメインバス54を介して転送することを
意味している。
"X>" in the transfer column 76 in the 000H line
s "indicates that the set value of the X register is Ds
This means that the data is transferred to the sRAM 32 via the main bus 54.

【0101】第000H行におけるデータ欄78の中の
データDsの欄78Dsの「d31」は、アドレスジェネ
レータ28が、DsRAM32に対して出力するアドレ
スを、31Hとさせることを意味している。ここで、
「d31」の「d」は、アドレスの絶対指定を意味する。こ
れにより、転送欄76における命令「x>s」によって、
Xレジスタから転送されてくる設定値は、DsRAM3
2のアドレス31Hに記憶される。
“D31” in the column 78Ds of the data Ds in the data column 78 in the 000H line means that the address output from the address generator 28 to the DsRAM 32 is 31H. here,
“D” in “d31” means the absolute designation of the address. Thereby, by the instruction “x> s” in the transfer field 76,
The set value transferred from the X register is the DsRAM3
2 is stored at address 31H.

【0102】第000H行におけるデータ欄78の中の
Xレジスタの欄78Xの「AD」は、ADレジスタ52を
Xレジスタとすることを意味している。
"AD" in the column 78X of the X register in the data column 78 on the 000H line means that the AD register 52 is an X register.

【0103】第000H行におけるデータ欄78の中の
Yレジスタの欄78Yの「j4=0」は、上述したジャンプ
セットレジスタ51におけるビットj4を0とすること
を意味している。
“J4 = 0” in the column 78Y of the Y register in the data column 78 in the 000H line means that the bit j4 in the jump set register 51 is set to 0.

【0104】第000H行においては、以上の処理が、
同時に行われる。
In line 000H, the above processing is
Done at the same time.

【0105】第001H行における符号欄72、加算欄
74、リードライト欄75は、第000H行における場
合と同様の処理を意味している。
The code column 72, the addition column 74, and the read / write column 75 in the 001H line indicate the same processing as in the 000H line.

【0106】第001H行における乗算欄73の「0*
0」は、乗算器38において、0×0を演算し、その演
算結果を、シフタ39を介して、Pレジスタ40に供給
して記憶させることを意味している。即ち、これによ
り、Pレジスタ40は、0にクリアされる。
In the multiplication column 73 in the 001H line, “0 *
"0" means that the multiplier 38 calculates 0x0 and supplies the calculation result to the P register 40 via the shifter 39 and stores the result. That is, this causes the P register 40 to be cleared to zero.

【0107】第001H行におけるデータ欄78の中の
データDfの欄78Dfの「d3d」は、アドレスジェネ
レータ27がDfRAM31に対して出力するアドレス
を、3DHとさせることを意味している。
“D3d” in the column 78Df of the data Df in the data column 78 in the 001H line means that the address output from the address generator 27 to the DfRAM 31 is 3DH.

【0108】第001H行におけるデータ欄78の中の
データDsの欄78Dsの「r00」は、アドレスジェネ
レータ28がDsRAM32に対して出力するアドレス
を、いま出力しているアドレスから00Hだけインクリ
メントしたアドレスとさせることを意味している。ここ
で、「r00」の「r」は、アドレスの相対指定を意味す
る。従って、この場合、アドレスジェネレータ28が出
力するアドレスは変化しない。
"R00" in the data Ds column 78Ds in the data column 78 in the 001H line indicates the address output from the address generator 28 to the DsRAM 32 by incrementing the address currently output by 00H. It means to let. Here, “r” of “r00” means relative designation of an address. Therefore, in this case, the address output from the address generator 28 does not change.

【0109】第001H行においては、以上の処理が行
われる。
In the line 001H, the above processing is performed.

【0110】第002H行における符号欄72、リード
ライト欄75は、第000H行における場合と同様の処
理を意味している。
The code column 72 and the read / write column 75 in the 002H line mean the same processing as in the 000H line.

【0111】第002H行における乗算欄73の「k*
a」は、乗算器38において、KRAM29に記憶され
たデータKと、加算器35における加算結果aとの乗算
を行い、その乗算結果を、シフタ39を介して、Pレジ
スタ40に供給して記憶させることを意味している。即
ち、データ欄78の中のデータKの欄78Kにおいて指
定されている、KRAM29のアドレスからデータKが
読み出され、Kレジスタ36にラッチされる。また、加
算器35では、R1レジスタ33の記憶値と、R2レジ
スタ34の記憶値とが加算され、その加算結果aが、メ
インバス54を経由して、Dレジスタ37に供給されて
ラッチされる。そして、乗算器38において、Kレジス
タ36の記憶値と、Dレジスタ37の記憶値とが乗算さ
れる。なお、R1レジスタ33またはR2レジスタ34
には、アドレスジェネレータ27または28が出力して
いる、DfRAM31またはDsRAM32のアドレス
に記憶されたデータDfまたはDsがそれぞれラッチさ
れており、加算器35では、それらのラッチ出力が加算
される。
In the multiplication column 73 of the 002H-th line, “k *
"a" indicates that the multiplier 38 multiplies the data K stored in the KRAM 29 by the addition result a in the adder 35, and supplies the multiplication result to the P register 40 via the shifter 39 for storage. It means to let. That is, the data K is read from the address of the KRAM 29 specified in the data K column 78K in the data column 78 and latched in the K register 36. In the adder 35, the stored value of the R1 register 33 and the stored value of the R2 register 34 are added, and the addition result a is supplied to the D register 37 via the main bus 54 and latched. . Then, the multiplier 38 multiplies the value stored in the K register 36 by the value stored in the D register 37. The R1 register 33 or the R2 register 34
The data Df or Ds stored at the address of the DfRAM 31 or the DsRAM 32 output from the address generator 27 or 28 is latched, respectively, and the adder 35 adds the latched outputs.

【0112】第002H行における加算欄74の「z+2
p」は、Pレジスタ40の記憶値pを2倍して、それ
に、加算器41において、0(zは0を意味する)を加
算し、その加算結果を、アキュームレータ44に記憶さ
せることを意味している。即ち、いまの場合、上述の乗
算器38による乗算結果は、シフタ39を介して、Pレ
ジスタ40に記憶されるが、シフタ39を介するとき
に、そこで、乗算器38の乗算結果が1ビット左シフト
されることにより、2倍にされる。この乗算器38の乗
算結果を2倍にしたものが、Pレジスタ40を経由し
て、加算器41に供給され、さらに、そこで、0との加
算が行われて、アキュームレータ44に格納される。
"Z + 2" in the addition column 74 in the line 002H
"p" means that the storage value p of the P register 40 is doubled, and 0 (z means 0) is added thereto in the adder 41, and the addition result is stored in the accumulator 44. doing. That is, in this case, the result of the multiplication by the multiplier 38 is stored in the P register 40 via the shifter 39. When the result of the multiplication by the multiplier 38 is shifted through the shifter 39 by one bit to the left. The shift is doubled. The result of doubling the result of the multiplication by the multiplier 38 is supplied to an adder 41 via a P register 40, where it is added to 0 and stored in an accumulator 44.

【0113】第002H行におけるデータ欄78の中の
データKの欄78Kの「r02」は、アドレスジェネレー
タ25がKRAM29に対して出力するアドレスを、い
ま出力しているアドレスから02Hだけインクリメント
したアドレスとさせることを意味している(「r02」の
「r」は、上述したように、アドレスの相対指定を意味
する)。
"R02" in the column 78K of the data K in the data column 78 in the 002H-th row indicates the address output from the address generator 25 to the KRAM 29 by the address which is incremented by 02H from the address currently output. ("R02" in "r02" means relative address designation, as described above).

【0114】第002H行におけるデータ欄78の中の
データDfの欄78Dfの「51f」は、アドレスジェネ
レータ27がDfRAM31に対して出力するアドレス
を、いま出力しているアドレスから1fHだけインクリ
メントしたアドレスとさせることを意味している。ここ
で、データ欄78における値の3桁目が、アドレスの絶
対指定を表す「d」およびアドレスの相対指定を表す
「r」のいずれでもない場合は、その値は、ここでは、
アドレスの相対指定を行うためのものとされる。なお、
その3桁目は、それに続く値のビット数を表す。従っ
て、「51f」は、アドレスジェネレータ27がDfRA
M31に対して出力するアドレスを、いま出力している
アドレスから、5ビットの値である1fHだけインクリ
メントしたアドレスとすることを意味している。
"51f" in the column 78Df of the data Df in the data column 78 in the 002H-th line is the address which the address generator 27 outputs to the DfRAM 31 as the address which is incremented by 1fH from the address currently output. It means to let. Here, if the third digit of the value in the data column 78 is neither “d” indicating the absolute designation of the address nor “r” indicating the relative designation of the address, the value is represented as:
It is used to specify the relative address. In addition,
The third digit indicates the number of bits of the value that follows. Therefore, “51f” indicates that the address generator 27
This means that the address to be output to M31 is an address that is incremented by 1fH, which is a 5-bit value, from the address currently being output.

【0115】第002H行におけるデータ欄78の中の
データDsの欄78Dsの「401」は、アドレスジェネ
レータ28がDsRAM32に対して出力するアドレス
を、いま出力しているアドレスから01Hだけインクリ
メントしたアドレスとさせることを意味している。な
お、「401」の3桁目「4」は、「d」および「r」のいず
れでもないから、上述したように、それに続く値「01」
が4ビットの値であることを表している。
"401" in the data Ds column 78Ds in the data column 78 in the 002H-th row is the address which the address generator 28 outputs to the DsRAM 32, which is an address which is incremented by 01H from the address currently output. It means to let. Since the third digit “4” of “401” is neither “d” nor “r”, as described above, the subsequent value “01”
Is a 4-bit value.

【0116】第002H行においては、以上の処理が行
われる。
In the line 002H, the above processing is performed.

【0117】第003H行における符号欄72、リード
ライト欄75は、第000H行における場合と同様の処
理を意味している。また、第003H行における加算欄
74は、第001H行における場合と同様の処理を意味
している。
The code column 72 and the read / write column 75 in the 003H line mean the same processing as in the 000H line. The addition column 74 in the 003H-th line indicates the same processing as that in the 001H-th line.

【0118】第003H行における乗算欄73の「k*
d」は、乗算器38において、KRAM29に記憶され
たデータKと、DRAM30に記憶されたデータDとの
乗算を行い、その乗算結果を、シフタ39を介して、P
レジスタ40に供給して記憶させることを意味してい
る。即ち、データ欄78の中のデータKの欄78Kにお
いて指定されている、KRAM29のアドレスからデー
タKが読み出され、Kレジスタ36にラッチされるのと
同時に、データ欄78の中のデータDの欄78Dにおい
て指定されている、DRAM30のアドレスからデータ
Dが読み出され、Dレジスタ37にラッチされる。そし
て、乗算器38において、Kレジスタ36の記憶値と、
Dレジスタ37の記憶値とが乗算され、その乗算結果
は、シフタ39を介して、Pレジスタ40に供給されて
記憶される。なお、この乗算は1クロック遅れて行われ
る。
In the multiplication column 73 on line 003H, “k *
"d" is obtained by multiplying the data K stored in the KRAM 29 and the data D stored in the DRAM 30 by the multiplier 38, and outputting the multiplication result via the shifter 39 to P
This means that the data is supplied to the register 40 and stored. That is, the data K is read from the address of the KRAM 29 specified in the data K column 78K in the data column 78 and latched by the K register 36, and at the same time, the data D in the data column 78 is read. The data D is read from the address of the DRAM 30 specified in the column 78D and latched in the D register 37. Then, in the multiplier 38, the value stored in the K register 36 and
The result is multiplied by the value stored in the D register 37, and the multiplication result is supplied to the P register 40 via the shifter 39 and stored. This multiplication is performed with a delay of one clock.

【0119】第003H行におけるジャンプ欄77の
「j13s07a」は、セットアップレジスタ53を構成する
A面のレジスタの第13ビットが1である場合には、第
07aH行にジャンプすることを意味している。なお、
「j13s07a」における「j」と「s」との間の「13」が、
A面のレジスタの第13ビットを意味し、また、「s」
の後の「07a」が、ジャンプ先のアドレス(インストラ
クションアドレス)07aHを意味している。
"J13s07a" in the jump column 77 in the 003H-th line indicates that when the 13th bit of the register on the A-side constituting the setup register 53 is 1, the jump is to the 07th Hth line. . In addition,
"13" between "j" and "s" in "j13s07a" is
Means the 13th bit of the register on the A side, and "s"
“07a” after the address means the jump destination address (instruction address) 07aH.

【0120】第003H行におけるデータ欄78の中の
データKの欄78Kの「300」またはデータDの欄78
Dの「400」は、アドレスジェネレータ25または26
がKRAM29またはDRAM30に対して出力するア
ドレスを、いま出力しているアドレスから3ビットの0
0Hまたは4ビットの00Hだけインクリメントしたア
ドレスとさせることを意味している。
"300" in the data K column 78K or the data D column 78 in the data column 78 on line 003H.
"400" of D is the address generator 25 or 26
Changes the address to be output to the KRAM 29 or the DRAM 30 from the address currently being output by three bits of 0s.
This means that the address is incremented by 0H or 4-bit 00H.

【0121】第003H行においては、以上の処理が行
われる。但し、図2のDSPでは、ジャンプ/コール系
命令により、いわゆるジャンプが行われるとき(プログ
ラムカウンタの値が変化するとき)は、そのジャンプ
は、2クロック遅れて行われるようになされている(図
2のDSPは、そのようなアーキテクチャになってい
る)。即ち、例えば、図6に示した第003H行目にお
いて、セットアップレジスタ53を構成するA面のレジ
スタの第13ビットが1である場合に行われる第07a
H行へのジャンプは、本来、その2クロック後に実行さ
れる第005行目(図示せず)が実行されるタイミング
で行われる。
In line 003H, the above processing is performed. However, in the DSP of FIG. 2, when a so-called jump is performed by a jump / call type instruction (when the value of the program counter changes), the jump is performed with a delay of two clocks (see FIG. 2). DSP 2 has such an architecture). That is, for example, in the 003H-th row shown in FIG. 6, the 07th bit performed when the 13th bit of the register on the A-side constituting the setup register 53 is 1
The jump to the H-row is performed at the timing at which the 005th row (not shown) executed two clocks after that is executed.

【0122】以上のように、図2のDSPが、複数の命
令(インストラクション)を1クロックで同時に処理す
ることができることに対応して、入力欄62の各行が、
そのような複数の命令を入力することができるように、
複数の欄に分割されているので、DSPが同時に行うこ
とのできる複数の処理に対応する複数の命令を1行に記
述することができ、アプリケーションプログラムを効率
的に記述することが可能となる。
As described above, in response to the fact that the DSP of FIG. 2 can simultaneously process a plurality of instructions in one clock, each row of the input column 62
To be able to enter multiple such instructions,
Since it is divided into a plurality of columns, a plurality of instructions corresponding to a plurality of processes that can be performed simultaneously by the DSP can be described in one line, and an application program can be described efficiently.

【0123】ところで、上述のメイン画面(図4)にお
いて、アプリケーションプログラムを入力(記述)する
場合に、例えば、プログラミングに慣れていないユーザ
(プログラマ)は、どのような組合せの複数の命令を1
行に記述することができるのがわからないことがある。
By the way, when an application program is input (described) on the above-mentioned main screen (FIG. 4), for example, a user (programmer) who is not accustomed to programming may input a plurality of instructions of any combination into one.
Sometimes I don't know what can be written on a line.

【0124】そこで、開発支援プログラムでは、1行に
記述することができる命令(命令が入力されていない欄
に入力可能な命令)をガイドするためのガイド画面が用
意されている。
Therefore, in the development support program, a guide screen for guiding an instruction that can be described in one line (an instruction that can be input in a column where no instruction is input) is prepared.

【0125】即ち、図7は、ガイド画面を示している。That is, FIG. 7 shows a guide screen.

【0126】ガイド画面のウインドウは、上述したよう
に、ガイドボタン61E(図4)を操作(クリック)す
ることによりオープンされる他、入力欄62の任意の位
置をダブルクリックすることによってもオープンされる
ようになされている。
As described above, the window of the guide screen is opened by operating (clicking) the guide button 61E (FIG. 4) or by double-clicking an arbitrary position in the input field 62. It has been made.

【0127】ガイド画面は、図7に示すように、ガイド
対象ライン欄91、インストラクション選択欄92、確
定ボタン101、アンドゥ(UNDO)ボタン102、
リセットボタン103、および閉じるボタン104など
から構成されている。
As shown in FIG. 7, the guide screen includes a guide line section 91, an instruction selection section 92, an enter button 101, an undo (UNDO) button 102,
It comprises a reset button 103, a close button 104 and the like.

【0128】ガイド対象ライン欄91は、入力欄62を
構成する各行と同様に構成され、そこには、ガイド対象
の行(以下、適宜、ガイド対象行という)が表示され
る。即ち、例えば、ガイドボタン61Eをクリックする
ことにより、ガイド画面が表示された場合には、ガイド
ボタン61Eのクリックが行われたときに、カーソル6
9が位置していた、入力欄62の行が、ガイド対象行と
して、ガイド対象ライン欄91に表示される。また、例
えば、入力欄62の所定の行がダブルクリックされるこ
とにより、ガイド画面が表示された場合には、そのダブ
ルクリックされた行が、ガイド対象行として、ガイド対
象ライン欄91に表示される。
The guide target line column 91 is configured in the same manner as each line constituting the input column 62, and displays a guide target line (hereinafter, appropriately referred to as a guide target line). That is, for example, when the guide screen is displayed by clicking the guide button 61E, when the guide button 61E is clicked, the cursor 6
The line in the input column 62 where 9 is located is displayed in the guide target line column 91 as a guide target line. Further, for example, when the guide screen is displayed by double-clicking a predetermined line in the input column 62, the double-clicked line is displayed in the guide target line column 91 as a guide target line. You.

【0129】インストラクション選択欄92は、符号選
択欄93、乗算選択欄94、加算選択欄95、リードラ
イト選択欄96、転送選択欄97、ジャンプ選択欄9
8、データ選択欄99、およびエンド選択欄100で構
成されている。これらの符号選択欄93、乗算選択欄9
4、加算選択欄95、リードライト選択欄96、転送選
択欄97、ジャンプ選択欄98、データ選択欄99、ま
たはエンド選択欄100には、メイン画面の各行におけ
る符号欄72、乗算欄73、加算欄74、リードライト
欄75、転送欄76、ジャンプ欄77、データ欄78、
またはエンド欄79に入力可能な命令群がそれぞれ表示
される。
The instruction selection field 92 includes a code selection field 93, a multiplication selection field 94, an addition selection field 95, a read / write selection field 96, a transfer selection field 97, and a jump selection field 9.
8, a data selection column 99, and an end selection column 100. These code selection field 93 and multiplication selection field 9
4, an addition selection field 95, a read / write selection field 96, a transfer selection field 97, a jump selection field 98, a data selection field 99, or an end selection field 100 include a code field 72, a multiplication field 73, and an addition in each row of the main screen. Column 74, read / write column 75, transfer column 76, jump column 77, data column 78,
Alternatively, a group of instructions that can be input is displayed in the end column 79.

【0130】ここで、インストラクション選択欄92に
表示されている命令は、マウス6でクリックすることに
より選択することができるようになされている。命令が
選択された場合、その選択された命令の左横に表示され
た○印の中に、・印が表示されるとともに、ガイド対象
ライン欄91の対応する欄に、選択された命令が表示
(入力)される。また、命令の選択の解除は、再度、そ
の命令をクリックすることで行うことができるようにな
されている。
Here, the instruction displayed in the instruction selection field 92 can be selected by clicking with the mouse 6. When an instruction is selected, a symbol is displayed in a circle displayed on the left side of the selected instruction, and the selected instruction is displayed in a corresponding column of the guide target line column 91. (Input). The instruction can be deselected by clicking on the instruction again.

【0131】確定ボタン101は、ガイド対象ライン欄
91の表示を確定するときに操作される。なお、確定ボ
タン101が操作された場合には、ガイド対象ライン欄
91の表示内容のアセンブルも行われるようになされて
いる。
[0131] The confirm button 101 is operated when the display of the guide target line column 91 is decided. When the confirm button 101 is operated, the display contents of the guide target line column 91 are also assembled.

【0132】アンドゥボタン102は、直前に行われた
操作を取り消し、ガイド画面の状態を、その直前の操作
が行われる前の状態に戻すときに操作される。リセット
ボタン103は、ガイド画面の状態を、何も入力されて
いない初期状態に戻すときに操作される。閉じるボタン
104は、ガイド画面(が表示されたウインドウ)をク
ローズするときに操作される。
The undo button 102 is operated to cancel the operation performed immediately before and return the state of the guide screen to the state before the operation immediately before the operation. The reset button 103 is operated to return the state of the guide screen to an initial state in which nothing has been input. The close button 104 is operated when closing the guide screen (the window in which is displayed).

【0133】以上のように構成されるガイド画面では、
上述したように、インストラクション選択欄92に表示
されている命令を、マウス6でクリックすることにより
選択し、入力することができる。即ち、キーボード7を
操作しなくても、アプリケーションプログラムの記述を
行うことができる。従って、ガイド画面によれば、プロ
グラミングを行うユーザに対して、快適な環境(プログ
ラミングし易いユーザインターフェイス(GUI(Grap
hical User Interface)))を提供することができる。
On the guide screen configured as described above,
As described above, a command displayed in the instruction selection field 92 can be selected and input by clicking with the mouse 6. That is, the application program can be described without operating the keyboard 7. Therefore, according to the guide screen, a comfortable environment (a user interface (GUI (Graph
hical User Interface))).

【0134】さらに、ガイド画面では、インストラクシ
ョン選択欄92において、ある種類の命令を選択する
と、他の種類の命令群について、選択された命令ととも
に1行に記述することができる命令(図2のDSPが、
選択された命令と同時に処理することのできる命令)が
認識され、そのような命令しか選択することができない
ようにされる。従って、ユーザは、1行に記述すること
ができる命令を、容易に認識することができる。
Further, on the guide screen, when a certain type of instruction is selected in the instruction selection field 92, the other types of instruction group can be described together with the selected instruction in a single line (the DSP shown in FIG. 2). But,
An instruction that can be processed simultaneously with the selected instruction) is recognized so that only such an instruction can be selected. Therefore, the user can easily recognize a command that can be described in one line.

【0135】次に、図8のフローチャートを参照して、
図1のプログラム開発支援システムにおいて行われる、
アプリケーションプログラムのエディット処理について
説明する。
Next, referring to the flowchart of FIG.
Performed in the program development support system of FIG.
The editing process of the application program will be described.

【0136】開発支援プログラムが起動されると、まず
最初に、ステップS1において、図4に示したメイン画
面(エディット画面)が表示される。そして、ステップ
S2に進み、入力欄62において、カーソル69が位置
している行が変化したかどうかが判定される。ステップ
S2において、カーソル69が位置している行が変化し
ていないと判定された場合、ステップS3に進み、図7
に示したガイド画面を表示するように、操作がなされた
かどうかが判定される。ステップS3において、ガイド
画面を表示するように、操作が行われていないと判定さ
れた場合、ステップS4をスキップして、ステップS2
に戻る。なお、ステップS2およびS3が繰り返し行わ
れている間に、入力欄62への命令の入力があった場合
には、その入力された命令が、入力欄62に表示され
る。
When the development support program is started, first, in step S1, the main screen (edit screen) shown in FIG. 4 is displayed. Then, the process proceeds to step S2, where it is determined whether or not the line in which the cursor 69 is located in the input field 62 has changed. If it is determined in step S2 that the line on which the cursor 69 is located has not changed, the process proceeds to step S3, and FIG.
It is determined whether or not an operation has been performed so as to display the guide screen shown in FIG. If it is determined in step S3 that an operation has not been performed to display the guide screen, step S4 is skipped and step S2 is performed.
Return to If a command is input to the input field 62 while steps S2 and S3 are repeatedly performed, the input command is displayed in the input field 62.

【0137】また、ステップS3において、ガイド画面
を表示するように、操作が行われたと判定された場合、
ステップS4に進み、ガイド処理が行われ、ステップS
2に戻る。なお、ステップS4におけるガイド処理の詳
細については、後述する。
When it is determined in step S3 that an operation has been performed to display a guide screen,
Proceeding to step S4, guide processing is performed, and step S4 is performed.
Return to 2. The details of the guide processing in step S4 will be described later.

【0138】一方、ステップS2において、カーソル6
9が位置している行が変化したと判定された場合、即
ち、マウス6や、キーボード7のカーソルキー、リター
ンキーなどが操作され、カーソル69が、異なる行に移
動された場合、ステップS5に進み、カーソル69が位
置していた、元の行について、アセンブル処理が行われ
る。即ち、ここでは、カーソル69の位置する行が移動
されると、その移動前にカーソル69が位置していた1
行のアセンブル(ラインアセンブル)が行われる。な
お、ステップS5におけるアセンブル処理の詳細につい
ては、後述する。
On the other hand, in step S2, the cursor 6
If it is determined that the line in which the line 9 is located has changed, that is, if the cursor 6 or the return key of the mouse 6 or the keyboard 7 is operated and the cursor 69 is moved to a different line, the process proceeds to step S5. Then, the assembling process is performed on the original line where the cursor 69 was located. That is, here, when the line on which the cursor 69 is located is moved, the cursor 69 is located before the movement.
Line assembling (line assembling) is performed. The details of the assembling process in step S5 will be described later.

【0139】アセンブル処理後は、ステップS6に進
み、そのアセンブル処理中に、エラーが生じたかどうか
が判定される。ステップS6において、エラーが生じた
と判定された場合、カーソル69が元の行に移動され、
ステップS2に戻る。
After the assembling process, the process proceeds to step S6, and it is determined whether an error has occurred during the assembling process. If it is determined in step S6 that an error has occurred, the cursor 69 is moved to the original line,
It returns to step S2.

【0140】また、ステップS6において、エラーが生
じていないと判定された場合、ステップS7に進み、ス
テップS5におけるアセンブル処理の結果得られる実行
コード(マシンコード)が、RAM4に記憶され、ステ
ップS8に進む。ステップS8では、エディット処理を
終了するように、操作が行われたかどうかが判定され
る。ステップS8において、エディット処理を終了する
ように、操作が行われていないと判定された場合、ステ
ップS2に戻る。また、ステップS8において、エディ
ット処理を終了するように、操作が行われたと判定され
た場合、エディット処理を終了する(メイン画面がクロ
ーズされる)。
When it is determined in step S6 that no error has occurred, the process proceeds to step S7, where the execution code (machine code) obtained as a result of the assembling process in step S5 is stored in the RAM 4, and the process proceeds to step S8. move on. In step S8, it is determined whether or not an operation has been performed so as to end the editing process. If it is determined in step S8 that no operation has been performed to end the editing process, the process returns to step S2. If it is determined in step S8 that an operation has been performed to end the editing process, the editing process ends (the main screen is closed).

【0141】次に、図9のフローチャートを参照して、
図8のステップ5におけるアセンブル処理について説明
する。
Next, referring to the flowchart of FIG.
The assembling process in step 5 of FIG. 8 will be described.

【0142】アセンブル処理では、まず最初に、ステッ
プS11において、アセンブル対象の1行(アセンブル
対象行)について、基本チェックが行われる。具体的に
は、例えば、アセンブル対象行に記述されている文字列
が、その左から右方向にサーチされ、文法エラー(シン
タックスエラー)がないかどうかがチェックされる。
In the assembling process, first, in step S11, a basic check is performed on one line to be assembled (a line to be assembled). Specifically, for example, a character string described in an assembly target line is searched from left to right to check whether there is a grammatical error (syntax error).

【0143】基本チェックの終了後は、ステップS12
に進み、その基本チェックにおいて、エラー(ここで
は、シンタックスエラー)があったかどうかが判定され
る。ステップS12において、エラーがあったと判定さ
れた場合、リターンする。なお、この場合、図8のフロ
ーチャートにおいて、ステップS6からステップS2に
戻ることとなるが、そのとき、カーソル69は、例え
ば、アセンブル対象行のシンタックスエラーがあった位
置に移動される。これにより、ユーザが、エラーが生じ
た位置を、容易に認識することができるようになされて
いる。
After completion of the basic check, the process proceeds to step S12.
And in the basic check, it is determined whether or not there is an error (here, a syntax error). If it is determined in step S12 that there is an error, the process returns. In this case, in the flowchart of FIG. 8, the process returns from step S6 to step S2. At that time, the cursor 69 is moved to, for example, a position where a syntax error has occurred in the assembling target line. Thus, the user can easily recognize the position where the error has occurred.

【0144】一方、ステップS12において、エラーが
なかったと判定された場合、ステップS13に進み、第
0乃至第17ビットのロウワーコードのチェックが行わ
れる。即ち、ステップS12では、まず最初に、アセン
ブル対象行のロウワーコードが求められる(ロウワーコ
ードについてのアセンブルが行われる)。そして、その
ロウワーコードが、上述の組合せ番号T(=00H乃至
3FH)で表される64の命令の組合せのうちのいずれ
かに該当するかどうか、つまり、図2のDSPにおい
て、アセンブル対象行に記述された複数の命令を同時に
実行することができるかどうかがチェックされる。
On the other hand, if it is determined in step S12 that there is no error, the flow advances to step S13 to check the lower code of the 0th to 17th bits. That is, in step S12, first, the lower code of the line to be assembled is obtained (the lower code is assembled). Then, whether the lower code corresponds to any of the combinations of the 64 instructions represented by the above-described combination numbers T (= 00H to 3FH), that is, in the DSP of FIG. It is checked whether the described instructions can be executed simultaneously.

【0145】ロウワーコードのチェック後は、ステップ
S14に進み、そのチェックの結果エラーが生じたかど
うかが判定される。ステップS14において、エラーが
生じたと判定された場合、即ち、アセンブル対象行のロ
ウワーコードが、組合せ番号Tで表される64の命令の
組合せのうちのいずれにも該当しない場合、リターンす
る。なお、この場合、図8のフローチャートにおいて、
ステップS6からステップS2に戻ることとなるが、こ
のとき、カーソル69は、上述したように、元の行(ア
センブル対象行)に移動される。
After checking the lower code, the flow advances to step S14 to determine whether or not an error has occurred as a result of the check. If it is determined in step S14 that an error has occurred, that is, if the lower code of the assembling target line does not correspond to any of the combinations of the 64 instructions represented by the combination number T, the process returns. In this case, in the flowchart of FIG.
The process returns from step S6 to step S2. At this time, the cursor 69 is moved to the original line (the line to be assembled) as described above.

【0146】一方、ステップS14において、エラーが
生じなかったと判定された場合、即ち、アセンブル対象
行のロウワーコードが、組合せ番号Tで表される64の
命令の組合せのうちのいずれかに該当する場合、ステッ
プS15に進み、ロウワーコードよりも上位のビットに
関するアセンブルが行われる。即ち、ステップS15で
は、アセンブル対象行に、特別ジャンプ/コール系命令
が含まれるか否かで、上述したように、ロウワーコード
のビット数が異なるため、アセンブル対象行に、特別ジ
ャンプ/コール系命令が含まれる場合と、含まれない場
合とで場合を分けて、ロウワーコードよりも上位のビッ
トに関するアセンブルが行われる。
On the other hand, when it is determined in step S14 that no error has occurred, that is, when the lower code of the assembling target line corresponds to any one of the combinations of 64 instructions represented by combination number T , The process proceeds to step S15, and assembling is performed on bits higher than the lower code. That is, in step S15, as described above, the number of bits of the lower code differs depending on whether or not the assembling target line includes the special jump / call system instruction. Are included, and the assembling of bits higher than the lower code is performed depending on the case where they are not included.

【0147】そして、ステップS16に進み、上位のビ
ットに関するアセンブルにおいて、エラーが生じたかど
うかが判定される。ステップS16において、エラーが
生じたと判定された場合、即ち、例えば、ロウワーコー
ドと、それより上位ビットのアセンブル結果との組合せ
が不適当な場合(例えば、特別ジャンプ/コール系命令
が、アセンブル対象行に記述され、実行コードの第0乃
至第19ビットがロウワーコードとされる場合に、その
第18および第19ビットに配置されるリターン系命令
も、アセンブル対象行に記述されているときなど)、リ
ターンする。なお、この場合も、図8のフローチャート
において、ステップS6からステップS2に戻ることと
なるが、このとき、カーソル69は、上述したように、
元の行(アセンブル対象行)に移動される。
Then, the process proceeds to a step S16, where it is determined whether or not an error has occurred in assembling the upper bits. In step S16, when it is determined that an error has occurred, that is, for example, when the combination of the lower code and the assembling result of the higher-order bit is inappropriate (for example, the special jump / call type instruction When the 0th to 19th bits of the execution code are described as lower codes, the return-related instructions arranged in the 18th and 19th bits are also described in the assembling target line. To return. In this case as well, in the flowchart of FIG. 8, the process returns from step S6 to step S2. At this time, as described above, the cursor 69
It is moved to the original line (the line to be assembled).

【0148】一方、ステップS16において、エラーが
生じていないと判定された場合、ステップS17に進
み、アセンブル対象行のラインアセンブル結果としての
2進数の実行コードが、16進数のコードに変換され、
ステップS18に進む。ステップS18では、16進数
に変換された実行コードが、メイン画面(図4)の実行
コード表示部66に表示され、リターンする。
On the other hand, if it is determined in step S16 that no error has occurred, the flow advances to step S17 to convert the binary execution code as a line assembly result of the line to be assembled into a hexadecimal code.
Proceed to step S18. In step S18, the execution code converted to hexadecimal is displayed on the execution code display section 66 of the main screen (FIG. 4), and the process returns.

【0149】以上のように、カーソル69が、行を移動
すると、その移動前の行のアセンブルが行われる。そし
て、アセンブルエラーが生じると、カーソル69が元の
行に移動される。従って、メイン画面において、アプリ
ケーションプログラムを順次記述していけば、最終的に
は、論理的なエラーのないプログラム(およびその実行
コード)を得られることになる。即ち、アセンブルが、
カーソル69の行移動をトリガとして行われるため、ユ
ーザは、プログラムを記述した後、そのプログラムのア
センブルを行う必要がない。さらに、アセンブルエラー
が生じた場合には、行の移動をすることが制限されるた
め、ユーザは、プログラムミスのある行の訂正を、即座
に行うことができる。
As described above, when the cursor 69 moves a line, the line before the movement is assembled. Then, when an assembly error occurs, the cursor 69 is moved to the original line. Therefore, if the application programs are sequentially described on the main screen, a program without logical errors (and its execution code) can be finally obtained. That is, assembling is
Since the movement is performed with the movement of the cursor 69 as a trigger, the user does not need to assemble the program after writing the program. Further, when an assembling error occurs, the movement of the line is restricted, so that the user can immediately correct the line having the program error.

【0150】なお、上述の場合においては、カーソル6
9が、行を移動したときに、移動前の行をアセンブルす
るようにしたが、アセンブルは、移動後の行を対象とし
て行うようにすることも可能である。但し、本件発明者
が、実際に、移動後の行を対象として、アセンブルを行
うようにしたところ、スクロールバー63を操作して、
入力欄62をスクロールさせた場合に、そのスクロール
のための処理と、アセンブル処理のタイミングがバッテ
ィングして、アセンブルが行われないことがあった。そ
こで、アセンブル処理は、カーソル69の移動前の行
を、対象として行うのが望ましい。
In the above case, the cursor 6
9 assembles the row before the movement when moving the row, but the assembling may be performed on the row after the movement. However, when the present inventor actually assembles the line after the movement, the scroll bar 63 is operated.
When the input field 62 is scrolled, the timing of the scrolling process and the timing of the assembling process are batted, and the assembling may not be performed. Therefore, it is desirable that the assembling process be performed on the line before the movement of the cursor 69.

【0151】また、上述のアセンブル処理が行われるの
は、カーソル69が、行を移動したときであり、従っ
て、例えば、スクロールバー63が操作され、入力欄6
2がスクロールされただけでは、アセンブル処理は行わ
れない。
The above-described assembling process is performed when the cursor 69 has moved a line. Therefore, for example, the scroll bar 63 is operated and the input field 6 is entered.
The assembling process is not performed only by scrolling 2.

【0152】さらに、上述の場合には、アセンブルエラ
ーが生じたときは、カーソル69を、元の行に移動させ
るようにしたが、それに加えて、その行(エラーの生じ
た行)をガイド対象行として、ガイド画面(図7)をオ
ープンし(次に説明する図10のフローチャートにした
がったガイド処理を行うようにし)、ユーザに、適切な
入力を促すようにすることも可能である。
Further, in the above case, when an assembling error occurs, the cursor 69 is moved to the original line. In addition to this, the line (the line where the error occurred) is guided. It is also possible to open the guide screen (FIG. 7) as a line (perform the guide processing according to the flowchart of FIG. 10 described below) to prompt the user for an appropriate input.

【0153】次に、図10のフローチャートを参照し
て、図8におけるステップS4のガイド処理について説
明する。
Next, the guide processing in step S4 in FIG. 8 will be described with reference to the flowchart in FIG.

【0154】ガイド処理においては、まず最初に、ステ
ップS21において、図7に示したガイド画面が表示さ
れる。この場合、ガイド対象ライン欄91には、例え
ば、メイン画面においてカーソル59が位置している行
が、ガイド対象行として表示される。そして、ステップ
S22に進み、インストラクション選択欄92における
いずれかの命令が、マウス6をクリックすることなどに
より選択されたかどうかが判定される。ステップS22
において、インストラクション選択欄92におけるいず
れかの命令が選択されたと判定された場合、ステップS
23に進み、その選択された命令が、ガイド対象ライン
欄91の、対応する位置に表示される。さらに、ステッ
プS23では、ガイド画面(図7)における、選択され
た命令の左横に表示された○印の中に、・印が表示され
る。
In the guide processing, first, in step S21, the guide screen shown in FIG. 7 is displayed. In this case, for example, the line where the cursor 59 is located on the main screen is displayed as a guide target line in the guide target line column 91. Then, the process proceeds to step S22, and it is determined whether any of the instructions in the instruction selection field 92 is selected by clicking the mouse 6 or the like. Step S22
If it is determined that any of the instructions in the instruction selection field 92 has been selected,
Proceeding to 23, the selected command is displayed at the corresponding position in the guide target line column 91. Further, in step S23, a mark is displayed in the circle displayed on the left side of the selected command on the guide screen (FIG. 7).

【0155】そして、ステップS24に進み、後述する
絞り込み処理が行われ、これにより、インストラクショ
ン選択欄92において、選択可能な命令が制限された
後、ステップS22に戻る。
Then, the flow advances to step S24 to perform a narrowing-down process, which will be described later. This limits the selectable commands in the instruction selection field 92, and then returns to step S22.

【0156】一方、ステップS22において、インスト
ラクション選択欄92におけるいずれの命令も選択され
ていないと判定された場合、ステップS25に進み、確
定ボタン101が操作されたかどうかが判定される。ス
テップS25において、確定ボタン25が操作されたと
判定された場合、ステップS26に進み、図9で説明し
たアセンブル処理が行われる。そして、そのアセンブル
結果、およびガイド対象ライン欄91における表示内容
が、メイン画面に反映され、ステップS27に進み、ガ
イド画面がクローズされて、リターンする。
On the other hand, if it is determined in step S22 that none of the instructions in the instruction selection field 92 has been selected, the flow advances to step S25 to determine whether or not the confirm button 101 has been operated. If it is determined in step S25 that the confirm button 25 has been operated, the process proceeds to step S26, and the assembling process described with reference to FIG. 9 is performed. Then, the assembling result and the display content in the guide target line column 91 are reflected on the main screen, the process proceeds to step S27, the guide screen is closed, and the process returns.

【0157】また、ステップS25において、確定ボタ
ン101が操作されていないと判定された場合、ステッ
プS28に進み、アンドゥボタン102が操作されたか
どうかが判定される。ステップS28において、アンド
ゥボタン102が操作されたと判定された場合、ステッ
プS29に進み、アンドゥ処理が行われ、即ち、ガイド
画面の状態が、直前の操作が行われる前の状態に戻さ
れ、ステップS22に戻る。
If it is determined in step S25 that the enter button 101 has not been operated, the flow advances to step S28 to determine whether the undo button 102 has been operated. If it is determined in step S28 that the undo button 102 has been operated, the process proceeds to step S29, where undo processing is performed, that is, the state of the guide screen is returned to the state before the immediately preceding operation was performed, and step S22 is performed. Return to

【0158】一方、ステップS28において、アンドゥ
ボタン102が操作されていないと判定された場合、ス
テップS30に進み、リセットボタン103が操作され
たかどうかが判定される。ステップS30において、リ
セットボタン103が操作されたと判定された場合、ス
テップS31に進み、リセット処理が行われ、即ち、ガ
イド画面が、何も入力されていない状態(デフォルトの
値が入力された状態)にされ、ステップS22に戻る。
On the other hand, if it is determined in step S28 that the undo button 102 has not been operated, the flow advances to step S30 to determine whether the reset button 103 has been operated. If it is determined in step S30 that the reset button 103 has been operated, the process proceeds to step S31, where a reset process is performed, that is, a state in which nothing has been input on the guide screen (a state in which a default value has been input). And the process returns to step S22.

【0159】また、ステップS30において、リセット
ボタン103が操作されていないと判定された場合、ス
テップS32に進み、閉じるボタン104が操作された
かどうかが判定される。ステップS32において、閉じ
るボタン104が操作されていないと判定された場合、
ステップS22に戻る。また、ステップS32におい
て、閉じるボタン104が操作されたと判定された場
合、ステップS27に進み、ガイド画面がクローズされ
て、リターンする。
If it is determined in step S30 that the reset button 103 has not been operated, the flow advances to step S32 to determine whether the close button 104 has been operated. If it is determined in step S32 that the close button 104 has not been operated,
It returns to step S22. If it is determined in step S32 that the close button 104 has been operated, the process proceeds to step S27, where the guide screen is closed, and the process returns.

【0160】なお、図10の実施の形態では、説明の都
合上、ステップS22,S25,S28,S30,S3
2の順番で、シーケンシャルに、各種のボタンが操作さ
れたか否かを判定し、操作された場合には、その操作に
対応した処理を行うようにしたが、実際には、各種のボ
タンが操作されたか否かは、いわば並列的に判定される
ようになされている。即ち、いずれかのボタンが操作さ
れるというイベントが発生すると、そのイベントに対応
した処理(イベント処理)が行われるようになされてい
る。
In the embodiment of FIG. 10, for convenience of explanation, steps S22, S25, S28, S30, S3
In the order of 2, it is determined whether or not various buttons have been operated sequentially, and when the buttons have been operated, processing corresponding to the operation is performed. It is determined in parallel whether or not the operation has been performed. That is, when an event that any one of the buttons is operated occurs, a process (event process) corresponding to the event is performed.

【0161】次に、図11のフローチャートを参照し
て、図10のステップS24における絞り込み処理につ
いて説明する。
Next, the narrowing-down process in step S24 in FIG. 10 will be described with reference to the flowchart in FIG.

【0162】絞り込み処理では、まず最初に、ステップ
S41において、図10のステップS22で選択された
と判定された命令(以下、適宜、選択命令という)が、
乗算系命令、転送系命令、またはジャンプ/コール系命
令のうちの1つであるかどうかが判定される。ステップ
S41において、選択命令が、乗算系命令、転送系命
令、およびジャンプ/コール系命令のうちのいずれでも
ないと判定された場合、ステップS42およびS43を
スキップして、ステップS44に進む。
In the narrowing-down process, first, in step S41, an instruction determined to be selected in step S22 of FIG. 10 (hereinafter, appropriately referred to as a selection instruction) is:
It is determined whether the instruction is one of a multiplication instruction, a transfer instruction, and a jump / call instruction. When it is determined in step S41 that the selected instruction is not any of the multiplication instruction, the transfer instruction, and the jump / call instruction, the process skips steps S42 and S43 and proceeds to step S44.

【0163】また、ステップS41において、選択命令
が、乗算系命令、転送系命令、またはジャンプ/コール
系命令のうちの1つであると判定された場合、ステップ
S42に進み、その選択命令に影響される命令の絞り込
みが行われる。即ち、ステップS42では、すべての命
令の中から、図2のDSPが、そのアーキテクチャ上、
選択命令とともに、同時に実行することのできるものだ
けが認識され、それが、選択命令に影響される命令の絞
り込み結果とされる。
If it is determined in step S41 that the selected instruction is one of a multiplication instruction, a transfer instruction, and a jump / call instruction, the flow advances to step S42 to affect the selected instruction. Commands to be executed are narrowed down. That is, in step S42, out of all the instructions, the DSP of FIG.
With the select instruction, only those that can be executed simultaneously are recognized, which is the result of narrowing down the instructions affected by the select instruction.

【0164】そして、ステップS43に進み、直前の絞
り込み結果(選択命令が選択される前に選択可能であっ
た命令)と、ステップS42の絞り込み結果とが組み合
わされ、例えば、その両方に共通の命令が、今回の命令
の絞り込み結果とされる。さらに、ステップS42で
は、インストラクション選択欄92において、今回の命
令の絞り込み結果以外の命令が選択できないようにされ
る(選択不可にされる)。
Then, the flow advances to step S43 to combine the immediately preceding narrowing result (the instruction that could be selected before the selection instruction was selected) with the narrowing result in step S42, for example, an instruction common to both. Is the result of the narrowing down of the current instruction. Further, in step S42, in the instruction selection field 92, it is made impossible to select an instruction other than the result of narrowing down the current instruction (disabled selection).

【0165】ここで、選択不可にされた命令は、例え
ば、図12に示すように、インストラクション選択欄9
2に表示されなくなり(あるいは、選択可能な命令に比
較して、淡く(輝度の低い状態で)表示され)、選択可
能な命令だけが表示される。
Here, the instruction which is made unselectable is, for example, as shown in FIG.
2 (or displayed dimmed (low brightness) compared to selectable instructions) and only selectable instructions are displayed.

【0166】その後、ステップS44に進み、ガイド対
象行が、通常系または特別ジャンプ/コール系のいずれ
であるかが判定される。
Thereafter, the flow advances to step S44 to determine whether the guide target line is the normal type or the special jump / call type.

【0167】ここで、上述したように、本実施の形態で
は、特別ジャンプ/コール系命令があるため、実行コー
ドにおいては、その第0乃至第17ビットがロウワーコ
ードとされる場合と、第0乃至第19ビットがロウワー
コードとされる場合とがあるが、ガイド対象行が、通常
系または特別ジャンプ/コール系というのは、その実行
コードの第0乃至第17ビットまたは第0乃至第19ビ
ットが、ロウワーコードとされる場合をそれぞれ意味し
ている。
Here, as described above, in this embodiment, since there is a special jump / call type instruction, in the execution code, the 0th to 17th bits are set to the lower code, The 19th to 19th bits may be a lower code, but the guide target line is a normal system or a special jump / call system when the 0th to 17th bits or the 0th to 19th bits of the execution code are used. Means the lower code.

【0168】ステップS44において、ガイド対象行
が、特別ジャンプ/コール系であると判定された場合、
ステップS45に進み、ガイド対象行が通常系である場
合にのみ選択可能な命令が選択不可とされ、ステップS
47に進む。また、ガイド対象行が、通常系であると判
定された場合、ステップS46に進み、ガイド対象行が
ジャンプ/コール系である場合にのみ選択可能な命令が
選択不可とされ、ステップS47に進む。
In step S44, when it is determined that the line to be guided is a special jump / call system,
Proceeding to step S45, it is determined that an instruction that can be selected only when the guide target line is the normal system cannot be selected.
Go to 47. If it is determined that the guide target line is of the normal type, the process proceeds to step S46, where the selectable command is disabled only when the guide target line is of the jump / call type, and the process proceeds to step S47.

【0169】一方、ステップS46において、ガイド対
象行が、通常系または特別ジャンプ/コール系のうちの
いずれであるかが、いま選択されている命令だけでは確
定することができないと判定された場合は、ステップS
45およびS46をスキップして、ステップS47に進
み、組合せ番号Tに基づく、命令の絞り込みが行われ
る。
On the other hand, if it is determined in step S46 whether the guide target line is the normal system or the special jump / call system, it cannot be determined only by the currently selected instruction. , Step S
Skipping to steps S45 and S46, the process proceeds to step S47, where instructions are narrowed down based on the combination number T.

【0170】即ち、ステップS47では、いままでに選
択されている命令と組み合わされた場合に、そのロウワ
ーコードが、組合せ番号T(=00H乃至3FH)で表
される64の命令の組合せのうちのいずれにも該当しな
くなる命令が選択不可にされる。このステップS47に
おける絞り込みにより、特に、データ選択欄99やエン
ド選択欄100において、選択可能な命令が絞り込まれ
る。
That is, in step S47, when the instruction is combined with the instruction selected so far, the lower code is selected from among 64 instruction combinations represented by the combination number T (= 00H to 3FH). An instruction that does not correspond to any of them is made unselectable. As a result of the narrowing down in step S47, selectable instructions are narrowed down particularly in the data selection column 99 and the end selection column 100.

【0171】そして、ステップS48に進み、インスト
ラクション選択欄92を構成する選択欄のうち、選択可
能な命令が1つになったものがあるかどうかが判定さ
れ、ないと判定された場合、ステップS49をスキップ
して、ステップS50に進む。また、ステップS48に
おいて、選択可能な命令が1つになった選択欄があると
判定された場合、ステップS49に進み、その選択欄に
おいて唯一選択可能な命令が選択状態にされ、ステップ
S50に進む。なお、ステップS49において、選択状
態にされた命令は、ガイド対象ライン欄91の、対応す
る位置に表示される。
Then, the process proceeds to a step S48, where it is determined whether or not there is a single selectable instruction among the selection columns constituting the instruction selection column 92, and when it is determined that there is no selectable instruction, a step S49 is performed. Skip to step S50. If it is determined in step S48 that there is a selection column in which the number of selectable instructions is one, the process proceeds to step S49, where only the selectable instruction is selected in the selection column, and the process proceeds to step S50. . In step S49, the selected command is displayed at a corresponding position in the guide target line column 91.

【0172】ステップS50では、インストラクション
選択欄92を構成する選択欄のうち、選択命令が属する
選択欄における、その選択命令以外の命令が選択不可に
され、ステップS51に進む。ステップS51では、イ
ンストラクション選択欄92を構成する選択欄のうち、
命令の選択が行われていない選択欄が検出され、その欄
に対応する、ガイド対象ライン欄91の表示が、デフォ
ルトの表示にされて、リターンする。
In step S50, among the selection fields constituting the instruction selection field 92, any command other than the selected command in the selection field to which the selected command belongs is made unselectable, and the flow advances to step S51. In step S51, of the selection fields constituting the instruction selection field 92,
A selection column in which no instruction has been selected is detected, the display of the guide target line column 91 corresponding to that column is set to the default display, and the routine returns.

【0173】以上のように、絞り込み処理によれば、イ
ンストラクション選択欄92を構成する各選択欄におい
て、命令が、選択可能なものに絞り込まれるので、初心
者のユーザであっても、ミスのない、効率的なプログラ
ミングが可能となる。
As described above, according to the narrowing-down process, the commands are narrowed down to selectable ones in each of the selection columns constituting the instruction selection column 92, so that even a novice user has no mistake. Efficient programming becomes possible.

【0174】また、命令を選択するごとに、絞り込み処
理が行われ、選択可能な命令が変化していくので、ユー
ザは、いわばインタラクティブに、プログラミングを行
うことができる。
Further, every time an instruction is selected, a narrowing-down process is performed, and the selectable instructions change, so that the user can perform, so to speak, interactive programming.

【0175】さらに、いま、ガイド対象行になっている
行よりも、後に実行される行において記述しようとして
いる命令であっても、ガイド対象行において実行可能な
ときがある。即ち、例えば、いま、ガイド対象行になっ
ている行では、加算しか必要でなく、後に実行される行
では、乗算が必要な場合において、図2のDSPで、そ
の乗算が、ガイド対象行において、加算とともに同時に
実行することができるときがある。この場合、ガイド画
面においては、ガイド対象行において、同時に実行可能
な命令だけが選択可能とされるから、加算を選択した状
態で、後で行う必要のある乗算が選択可能とされること
がある。従って、ユーザは、後で記述しようとしていた
乗算が、いま記述可能なことを認識することができ、そ
の乗算を、ガイド対象行に記述することによって、後で
記述する必要がなくなる。その結果、例えば、少ない行
数でのプログラミングが可能となる。
Furthermore, there are cases where an instruction to be described in a line to be executed later than the line to be guided is executable in the line to be guided. That is, for example, in the case of a row that is now a guide target row, only addition is required, and in a row that is executed later, multiplication is required. In the DSP of FIG. , Can be performed simultaneously with addition. In this case, on the guide screen, only instructions that can be executed simultaneously can be selected in the guide target row, so that multiplication that needs to be performed later may be selectable with addition selected. . Therefore, the user can recognize that the multiplication to be described later can be described now, and by describing the multiplication on the guide target line, it is not necessary to describe the multiplication later. As a result, for example, programming with a small number of rows becomes possible.

【0176】なお、ガイド画面におけるインストラクシ
ョン選択欄92には、図2のDSPが実行可能な命令が
すべて表示されるため、その表示領域として、ある程度
の大きさが必要となる。一方、プログラミング作業のし
やすさ等からすると、ガイド画面は、メイン画面ととも
に表示するのが好ましい。しかしながら、ディスプレイ
9の表示画面のサイズによっては、ガイド画面ととも
に、メイン画面の全体を表示することが困難な場合があ
る。
It should be noted that all instructions that can be executed by the DSP of FIG. 2 are displayed in the instruction selection field 92 on the guide screen, so that a certain size is required for the display area. On the other hand, the guide screen is preferably displayed together with the main screen in view of ease of programming work. However, depending on the size of the display screen of the display 9, it may be difficult to display the entire main screen together with the guide screen.

【0177】そこで、本実施の形態では、コンピュータ
1が、例えば、一般に、800×600ドット(横×
縦)程度の解像度で画面が構成される、いわゆるノート
型のものである場合を考慮して、メイン画面における入
力欄62の、例えば、先頭から3行目までが、少なくと
も表示されるように、ガイド画面がオープンされるよう
になっている。即ち、ガイド画面は、メイン画面におけ
る入力欄62の先頭から4行目以降にオーバラップして
表示されるようになっている。
Therefore, in the present embodiment, the computer 1 generally has, for example, 800 × 600 dots (horizontal ×
Considering the case of a so-called notebook-type screen in which the screen is configured with a resolution of about (vertical), at least the third line from the top of the input column 62 on the main screen is displayed at least, for example. A guide screen is opened. That is, the guide screen is displayed so as to overlap the fourth and subsequent lines from the top of the input field 62 on the main screen.

【0178】但し、これは、デフォルトの設定であり、
ガイド画面がオープンされたときの表示位置は、任意に
設定することができるようになされている。即ち、メイ
ン画面におけるエトセトラボタン61Aをクリックする
ことにより表示されるエトセトラメニュー画面には、
「カーソル固定位置」の項目があり、そこで、ガイド画
面がオープンされたときの表示位置を設定することがで
きるようになされており、これにより、ガイド画面がオ
ープンされたときの、メイン画面とのオーバーラップの
度合いを変化させることができるようになされている。
例えば、コンピュータ1が、いわゆるデスクトップ型の
ものである場合には、その表示画面の解像度は、一般に
高いから、ガイド画面がオープンされたときの、メイン
画面とのオーバーラップの度合いを少なくすることで、
メイン画面を見やすくすることができる。
However, this is the default setting,
The display position when the guide screen is opened can be arbitrarily set. That is, the etsetra menu screen displayed by clicking the etcetera button 61A on the main screen includes:
There is an item of "cursor fixed position", in which the display position when the guide screen is opened can be set, and thereby, the position of the main screen when the guide screen is opened can be set. The degree of overlap can be changed.
For example, when the computer 1 is of a so-called desktop type, the resolution of the display screen is generally high. Therefore, by reducing the degree of overlap with the main screen when the guide screen is opened. ,
The main screen can be easily viewed.

【0179】また、ガイド画面で作成された行には、絞
り込み処理によって、1行に記述可能な組合せの命令し
か入力されないから、図10に示したガイド処理のステ
ップS26におけるアセンブル処理において、アセンブ
ルエラーが生じることは、基本的にない。
Since only the combinations of instructions that can be described on one line are input to the line created on the guide screen by the narrowing-down process, the assembling error in the assembling process in step S26 of the guiding process shown in FIG. Basically does not occur.

【0180】次に、以上のようにして、メイン画面、さ
らには、必要に応じて、ガイド画面を用いてアプリケー
ションプログラムを作成した後は、そのアプリケーショ
ンプログラム(の実行コード)を、コンピュータ1から
DSPボード21に転送して、DSP(図2)に実行さ
せることができる。
Next, after the application program is created using the main screen and, if necessary, the guide screen as described above, the application program (executable code) is transferred from the computer 1 to the DSP. The data can be transferred to the board 21 and executed by the DSP (FIG. 2).

【0181】コンピュータ1からDSPボード21にア
プリケーションプログラムを転送する場合、メイン画面
(図4)のトランスボタン61Fを操作する。この場
合、例えば、図13に示すような、コンピュータ1とD
SPボード21との間で、データ転送を行うためのトラ
ンス画面が表示される。
When the application program is transferred from the computer 1 to the DSP board 21, the user operates the trans button 61F on the main screen (FIG. 4). In this case, for example, as shown in FIG.
A transformer screen for performing data transfer with the SP board 21 is displayed.

【0182】トランス画面において、第1選択欄111
には、データを、コンピュータ1からDSPボード21
に転送するのか、またはDSPボード21からコンピュ
ータ1に転送するのかが入力される。即ち、データを、
コンピュータ1からDSPボード21に転送する場合、
またはDSPボード21からコンピュータ1に転送す場
合、第1選択欄111の「トランスミット」または「レ
シーブ」がそれぞれ選択される。
In the transformer screen, the first selection column 111
Data from the computer 1 to the DSP board 21
, Or from the DSP board 21 to the computer 1 is input. That is, the data
When transferring from the computer 1 to the DSP board 21,
Alternatively, when transferring from the DSP board 21 to the computer 1, “Transmit” or “Receive” in the first selection field 111 is selected, respectively.

【0183】第2選択欄112には、転送するデータの
種別が入力される。即ち、あるブロックについてのすべ
てのデータ(アプリケーションプログラムを含む)を転
送する場合には、「1ブロック」が、アプリケーション
プログラムだけを転送する場合には、「インストラクシ
ョン」が、データKだけを転送する場合には、「係数」
が、データDだけを転送する場合には、「データ
(D)」が、セットアップレジスタの記憶値だけを転送
する場合には、「セットアップ」が、それぞれ選択され
る。
In the second selection field 112, the type of data to be transferred is input. That is, when transferring all data (including an application program) for a certain block, “one block” is used, when transferring only an application program, “instruction” is used when transferring only data K. Contains the "coefficient"
However, when only the data D is transferred, “data (D)” is selected, and when only the stored value of the setup register is transferred, “setup” is selected.

【0184】次へボタン113は、その他の選択事項を
選択する場合において、その選択のための画面を表示さ
せるときに操作される。閉じるボタン114は、トラン
ス画面をクローズ(消去)するときに操作される。
The next button 113 is operated to display a screen for selecting other items to be selected. The close button 114 is operated when closing (erasing) the transformer screen.

【0185】モード設定欄115には、転送モードが入
力される。ブロック変更時のトランス欄116には、メ
イン画面(図4)のブロック切替部64を操作して、入
力欄62に表示させるブロック(カレントブロック)を
変更したときに、その変更後のブロックを、即座に(ユ
ーザが、データの転送を、特に指示しなくても)、DS
Pボード21に転送するかどうかが入力される。トラン
ス後のベリファイ欄117には、データ転送ごとに、そ
のデータのベリファイを行うか否かが設定される。決定
ボタン118は、トランス画面における設定事項を確定
するときに操作される。
In the mode setting field 115, a transfer mode is input. When the block (current block) to be displayed in the input column 62 is changed by operating the block switching unit 64 of the main screen (FIG. 4), the changed block is displayed in the transformer column 116 when the block is changed. Immediately (even if the user does not instruct the data transfer)
Whether to transfer to P board 21 is input. In the post-transform verification field 117, whether or not to verify the data is set for each data transfer. The enter button 118 is operated when finalizing the setting items on the transformer screen.

【0186】次に、図14のフローチャートを参照し
て、データ転送が指示された場合に、コンピュータ1が
行う転送処理について説明する。
Next, with reference to the flowchart of FIG. 14, the transfer processing performed by the computer 1 when data transfer is instructed will be described.

【0187】転送処理では、まず最初に、ステップS6
1において、データを、コンピュータ1側からみて、送
信するのか、または受信するのかが判定される。この判
定は、トランス画面(図13)の第1選択欄111にお
ける設定を参照して行われる。
In the transfer process, first, in step S6
In 1, it is determined from the computer 1 side whether to transmit or receive data. This determination is made with reference to the settings in the first selection field 111 of the transformer screen (FIG. 13).

【0188】データを送信する場合、ステップS61か
らS62に進み、転送対象のデータに対して、図9にお
ける場合と同様のアセンブル処理が施され、ステップS
63に進む。なお、アセンブルは、トランス画面で転送
することが設定されているデータを対象に行われる。
If the data is to be transmitted, the process proceeds from step S61 to S62, where the data to be transferred is subjected to the same assembling processing as in FIG.
Go to 63. The assembling is performed for data set to be transferred on the transformer screen.

【0189】ステップS63では、ステップS62のア
センブル処理の結果、アセンブルエラーが生じたかどう
かが判定され、アセンブルエラーが生じたと判定された
場合、ステップS64乃至S67をスキップして、転送
処理を終了する。即ち、転送対象のデータに、アセンブ
ルエラーがある場合には、その転送は行われない。
In step S63, it is determined whether or not an assembling error has occurred as a result of the assembling process in step S62. If it is determined that an assembling error has occurred, steps S64 to S67 are skipped, and the transfer process ends. That is, if there is an assembly error in the data to be transferred, the transfer is not performed.

【0190】ここで、コンピュータ1からDSPボード
21に、データを転送する際に、そのアセンブルを行う
ようにしたのは、次のような理由による。即ち、例え
ば、転送対象としてのアプリケーションプログラムが、
メイン画面(必要に応じて、ガイド画面)上で作成され
たものであれば、上述したように、エラーは生じない。
しかしながら、他のエディタなどで作成したアプリケー
ションプログラムを、メイン画面上に読み込んで、それ
を転送するような場合には、そのプログラムにミスがあ
ることがある。そして、このようなミスがあるプログラ
ムを、DSPボード21に転送し、DSPを動作させた
のでは、暴走するおそれがある。そこで、コンピュータ
1からDSPボード21に、データを転送する際には、
そのようなミスのあるアプリケーションプログラムの転
送を防止するために、そのアセンブルを行うようにして
いる。
Here, when data is transferred from the computer 1 to the DSP board 21, the assembling is performed for the following reason. That is, for example, the application program to be transferred is
As described above, no error occurs as long as it is created on the main screen (guide screen, if necessary).
However, when an application program created by another editor or the like is read on the main screen and transferred, there may be a mistake in the program. If a program having such a mistake is transferred to the DSP board 21 and the DSP is operated, a runaway may occur. Therefore, when transferring data from the computer 1 to the DSP board 21,
In order to prevent the transfer of the application program having such a mistake, the assembly is performed.

【0191】ステップS63において、ステップS62
のアセンブル処理の結果、アセンブルエラーが生じなか
ったと判定された場合、ステップS64に進み、トラン
ス画面における設定にしたがって、送信するデータ(例
えば、1ブロックのデータやセットアップレジスタの記
憶内容など)が指定され、その指定されたデータが、例
えば、1ワードごとに、コンピュータ1からDSPボー
ド21に転送される。そして、指定されたデータの転送
が終了すると、ステップS65に進み、トランス画面に
おいて、ベリファイを行うことが指定されているかどう
かが判定され、指定されていないと判定された場合、ス
テップS66およびS67をスキップして、転送処理を
終了する。
In step S63, step S62
As a result of the assembling process, if it is determined that no assembling error has occurred, the process proceeds to step S64, and data to be transmitted (for example, one block of data or the stored contents of the setup register, etc.) is specified according to the setting on the transformer screen. The designated data is transferred from the computer 1 to the DSP board 21, for example, word by word. Then, when the transfer of the specified data is completed, the process proceeds to step S65, where it is determined whether or not the verification is specified on the transformer screen. If it is determined that the verification is not specified, steps S66 and S67 are performed. Skip and end the transfer process.

【0192】また、ステップS65において、ベリファ
イを行うことが指定されていると判定された場合、ステ
ップS66に進み、送信されたデータのベリファイが行
われる。即ち、ステップS66では、ステップS64で
DSPボード21に送信されたデータが、DSPボード
21から読み出され(転送され)、コンピュータ1にお
いて受信される。そして、その受信データと、ステップ
S64でDSPボード21に送信されたデータとが比較
される。
If it is determined in step S65 that the verification is specified, the flow advances to step S66 to verify the transmitted data. That is, in step S66, the data transmitted to the DSP board 21 in step S64 is read (transferred) from the DSP board 21 and received by the computer 1. Then, the received data is compared with the data transmitted to the DSP board 21 in step S64.

【0193】ベリファイが終了すると、ステップS67
に進み、ベリファイにおいてエラーが生じたかどうかが
判定される。ステップS67において、エラーが生じた
と判定された場合、即ち、上述の受信データと、DSP
ボード21に送信されたデータとが一致しない場合、ス
テップS64に戻り、DSPボード21に対し、データ
が再送される。
When the verification is completed, step S67
To determine whether an error has occurred in the verification. If it is determined in step S67 that an error has occurred, that is, if the received data and the DSP
If the data does not match the data transmitted to the board 21, the process returns to step S64, and the data is retransmitted to the DSP board 21.

【0194】また、ステップS67において、エラーが
生じていないと判定された場合、即ち、上述の受信デー
タと、DSPボード21に送信されたデータとが一致し
ている場合、転送処理を終了する。
If it is determined in step S67 that no error has occurred, that is, if the above-described received data and the data transmitted to the DSP board 21 match, the transfer process ends.

【0195】一方、データを、コンピュータ1側から見
て受信する場合、ステップS61からS68に進み、D
SPボード21から受信するデータが指定され、その指
定されたデータが、例えば、1ワードごとに、DSPボ
ード21からコンピュータ1に転送される。そして、指
定されたデータの転送が終了すると、ステップS69に
進み、そのデータ、即ち、DSPボード21から送信さ
れてきた実行コードが、逆アセンブルされ、ステップS
70に進む。ステップS70では、逆アセンブルの結果
にエラーがあるかどうかが判定され、エラーがあると判
定された場合、ステップS68に戻る。
On the other hand, when data is received as viewed from the computer 1, the process proceeds from step S61 to S68, where D
Data to be received from the SP board 21 is specified, and the specified data is transferred from the DSP board 21 to the computer 1 for each word, for example. When the transfer of the designated data is completed, the process proceeds to step S69, and the data, that is, the execution code transmitted from the DSP board 21 is disassembled, and the process proceeds to step S69.
Go to 70. In step S70, it is determined whether there is an error in the disassembly result. If it is determined that there is an error, the process returns to step S68.

【0196】一方、ステップS70において、エラーが
ないと判定された場合、ステップS69における逆アセ
ンブル結果が、例えば、メイン画面(入力欄62)に表
示されて、転送処理を終了する。
On the other hand, if it is determined in step S70 that there is no error, the disassembly result in step S69 is displayed on, for example, the main screen (input box 62), and the transfer process ends.

【0197】なお、トランス画面において、メイン画面
のブロック切替部64を操作して、入力欄62に表示さ
せるブロックを変更したときに、その変更後のブロック
を、DSPボード21に転送することが設定されている
場合には、ブロックが変更されると、ステップS62以
降の処理が、自動的に起動されるようになされている。
この場合、メイン画面のブロック切替部64を操作し
て、ブロックを変更するだけで、その変更後のアプリケ
ーションプログラムが、DSPボード21に転送される
ので、例えば、DSPについて、各種のデモンストレー
ションを、即座に行うことが可能となる。
In the transformer screen, when the block to be displayed in the input field 62 is changed by operating the block switching section 64 of the main screen, it is set that the changed block is transferred to the DSP board 21. If the block is changed, the processing after step S62 is automatically started when the block is changed.
In this case, by simply operating the block switching unit 64 on the main screen and changing the block, the changed application program is transferred to the DSP board 21. For example, various demonstrations of the DSP can be performed immediately. Can be performed.

【0198】次に、本実施の形態においては、プログラ
ミングの支援ツールとして、隠し画面が用意されてい
る。隠し画面は、例えば、メイン画面において、行番号
欄71をクリックすると、例えば、図15に示すよう
に、メイン画面の右下に表示されるようになされてい
る。
Next, in this embodiment, a hidden screen is prepared as a programming support tool. The hidden screen is displayed, for example, at the lower right of the main screen as shown in FIG. 15 when the user clicks on the line number column 71 on the main screen.

【0199】行番号入力欄121Sまたは121Eに
は、コピーを開始する行または終了する行の行番号がそ
れぞれ入力される。コピーボタン121は、行番号入力
欄121Sに入力された行番号の行から、行番行入力欄
121Eに入力された行番号の行までのコピーを行うと
きに操作される。
In the line number input field 121S or 121E, the line number of the line to start copying or the line to end is input, respectively. The copy button 121 is operated when copying from the line with the line number input to the line number input column 121S to the line with the line number input to the line number line input column 121E.

【0200】行番号入力欄122Sまたは122Eに
は、削除を開始する行または終了する行の行番号がそれ
ぞれ入力される。カットボタン122は、行番号入力欄
122Sに入力された行番号の行から、行番行入力欄1
22Eに入力された行番号の行までの削除(カット)を
行うときに操作される。
[0200] The row number of the row to start deletion or the row to end is input to the row number input field 122S or 122E. The cut button 122 is moved from the line with the line number input to the line number input column 122S to the line number line input column 1
It is operated when deleting (cutting) up to the line with the line number input to 22E.

【0201】行番号入力欄123Aには、コピーまたは
カットされた行を挿入する行の行番号が入力される。ペ
ーストボタン123は、コピーまたはカットされた行
を、行番号入力欄123Aに入力された行に挿入(ペー
スト)するときに操作される。
The line number of the line into which the copied or cut line is to be inserted is input to the line number input field 123A. Paste button 123 is operated to insert (paste) the copied or cut line into the line input in line number input field 123A.

【0202】行番号入力欄124Aには、カーソル69
をジャンプさせる行の行番号が入力される。ロングジャ
ンプボタン124は、カーソル69を、行番号入力欄1
24に入力された行番号の行にジャンプさせるときに操
作される。
The cursor 69 is displayed in the line number input field 124A.
Is entered. The long jump button 124 moves the cursor 69 to the line number input field 1
This is operated when jumping to the line of the line number input to 24.

【0203】一行挿入ボタン125または一行削除ボタ
ン126は、カーソル69が位置している行の、例えば
前に一行挿入する場合、またはその行を削除する場合
に、それぞれ操作される。
The one-row insertion button 125 or the one-row deletion button 126 is operated when, for example, inserting one row before the row where the cursor 69 is positioned or deleting the row.

【0204】エラーサーチ&アセンブルボタン127ま
たは128は、カーソル69が位置している行よりも上
の行すべてまたは下の行すべてを対象として、アセンブ
ルを行う場合に操作される。
The error search & assemble button 127 or 128 is operated when assembling is performed on all the lines above or below the line where the cursor 69 is located.

【0205】閉じるボタン129は、隠し画面をクロー
ズするときに操作される。
The close button 129 is operated when closing the hidden screen.

【0206】ここで、隠し画面に、エラーサーチ&アセ
ンブルボタン127や128を設け、それらが操作され
た場合に、アセンブルを行うようにしているのは、次の
ような理由による。
Here, the error search & assemble buttons 127 and 128 are provided on the hidden screen, and when these are operated, the assembling is performed for the following reason.

【0207】即ち、上述したように、メイン画面上にお
いて記述されたアプリケーションプログラムは、カーソ
ル69の行移動に伴い、アセンブルが行われるので、プ
ログラミングの終了時においては、ミスのないアプリケ
ーションプログラムが作成されていることになる。しか
しながら、例えば、メイン画面上に、外部で作成された
アプリケーションプログラムを読み込ませた場合や、ま
た、最終的に、DSP(図2)のインストラクションR
OM/RAM24に焼き付けるためのコードを得る場合
などにおいては、アセンブルエラーが生じないかどうか
をチェックしたいことがある。そこで、そのような場合
に対処するため、隠し画面において、アセンブルを行う
ためのエラーサーチ&アセンブルボタン127や128
を設けている。
That is, as described above, since the application program described on the main screen is assembled with the movement of the cursor 69, an application program free from mistakes is created at the end of programming. Will be. However, for example, when an externally created application program is read on the main screen, or finally, the instruction R of the DSP (FIG. 2) is executed.
For example, when obtaining a code for printing on the OM / RAM 24, it may be necessary to check whether or not an assembly error occurs. In order to cope with such a case, an error search & assemble button 127 or 128 for assembling on a hidden screen is used.
Is provided.

【0208】ここで、本実施の形態において、アセンブ
ルが行われる場合をまとめると、図16に示すようにな
る。
Here, the case where assembling is performed in the present embodiment is summarized as shown in FIG.

【0209】即ち、アセンブルは、メイン画面から、隠
し画面が呼び出され、エラーサーチ&アセンブルボタン
127や128が操作されたときの他、メイン画面か
ら、ガイド画面が呼び出され、そこで、確定ボタン10
1が操作されたときに行われる。また、アセンブルは、
メイン画面から、トランス画面(トランスメニュー画
面)が呼び出され、DSPボード21へのデータの送信
が指令されたときにも行われる。さらに、アセンブル
は、メイン画面において、カーソル69が行移動したと
きにも行われる。その他、アセンブルは、メイン画面か
ら、ファイルメニューまたはエトセトラメニューが呼び
出され、そこで、ファイルのセーブが指定されたときに
も行われる。
That is, the assembling is performed when the hidden screen is called from the main screen and the error search & assemble buttons 127 and 128 are operated, and also the guide screen is called from the main screen.
This is performed when 1 is operated. Also, assembling is
This is also performed when a transformer screen (trans menu screen) is called from the main screen and transmission of data to the DSP board 21 is instructed. Further, assembling is also performed when the cursor 69 moves on a line on the main screen. In addition, assembling is also performed when a file menu or an ethosetra menu is called from the main screen, and a file save is designated there.

【0210】次に、以上のように、メイン画面、さらに
は、必要に応じて、ガイド画面においてプログラミング
を行うことで、アプリケーションプログラムを、効率的
に、かつミスなく記述することができるが、実際に、図
2のDSPに、そのアプリケーションプログラムを実行
させる場合には、その処理ステップ数が制限されること
が多い。
Next, as described above, by performing programming on the main screen and, if necessary, the guide screen, the application program can be described efficiently and without errors. When the DSP of FIG. 2 executes the application program, the number of processing steps is often limited.

【0211】即ち、図2のDSPは、上述したように、
オーディオ用のものであるが、そのようなDSPにおい
て、音声のディジタル信号処理を行う場合においては、
通常、ある音声のサンプル値が入力されてから、次のサ
ンプル値が入力されるまでの間、つまり、サンプリング
クロックの1周期の間に、一定の処理を行う必要があ
る。なお、本実施の形態では、図2のDSPのクロック
およびサンプリングクロックなどの関係から、サンプリ
ングクロックの1周期の間に実行可能な処理ステップ数
は、例えば、512ステップに制限されている。
That is, as described above, the DSP of FIG.
It is for audio, but in such a DSP, when performing digital signal processing of audio,
Normally, it is necessary to perform a certain process between the input of a sample value of a certain sound and the input of the next sample value, that is, during one cycle of the sampling clock. In the present embodiment, the number of processing steps that can be executed during one cycle of the sampling clock is limited to, for example, 512 steps due to the relationship between the DSP clock and the sampling clock in FIG.

【0212】従って、ミスのないアプリケーションプロ
グラムを作成することができても、その処理ステップ数
が、サンプリングクロックの1周期の間に実行可能な処
理ステップ数を越えていては、アプリケーションプログ
ラムを、DSPに実行させても、正常な処理は行われな
いことになる。
Therefore, even if it is possible to create an error-free application program, if the number of processing steps exceeds the number of processing steps that can be executed during one cycle of the sampling clock, the application program is executed by the DSP. Will not perform normal processing.

【0213】そこで、アプリケーションプログラムの処
理ステップ数を確認する必要があるが、アプリケーショ
ンプログラムが、その実行順序を変化させる可能性のあ
る命令を含んでいなければ、即ち、そのアプリケーショ
ンプログラムが、プログラムカウンタをシーケンシャル
に変化させるものであれば、その確認は、アプリケーシ
ョンプログラムの行数を数えるだけで、容易に行うこと
ができる。
Therefore, it is necessary to check the number of processing steps of the application program. However, if the application program does not include an instruction that may change the execution order, that is, if the application program has a program counter Can be easily confirmed simply by counting the number of lines of the application program.

【0214】しかしながら、アプリケーションプログラ
ムが、その実行順序を変化させる可能性のある命令を含
んでいないのは、皆無に等しい。即ち、アプリケーショ
ンプログラムが、その実行順序を変化させる可能性のあ
る命令としては、上述したジャンプ命令(無条件分岐命
令、条件分岐命令の両方を含む)や、コール命令、リタ
ーン命令、ループ開始命令、ループジャンプ命令などの
ジャンプ/コール系命令(本実施の形態では、メイン画
面のジャンプ欄77に入力される命令で、具体的には、
ガイド画面のジャンプ選択欄98に表示される命令)が
あるが、ジャンプ/コール系命令を一切使用せずに、プ
ログラミングを行うのは困難である。
However, there is almost no case where the application program does not include an instruction that may change the execution order. That is, as instructions that the application program may change the execution order, the above-mentioned jump instruction (including both unconditional branch instructions and conditional branch instructions), a call instruction, a return instruction, a loop start instruction, A jump / call type command such as a loop jump command (in the present embodiment, a command input to the jump field 77 of the main screen, specifically,
There is a command displayed in the jump selection field 98 of the guide screen), but it is difficult to perform programming without using any jump / call commands.

【0215】従って、そのようなジャンプ/コール系命
令を含むアプリケーションプログラムについては、ジャ
ンプ/コール系命令による実行順序の変化を考慮して、
その処理ステップ数の確認を行う必要がある。
Therefore, with respect to an application program including such a jump / call type instruction, a change in the execution order due to the jump / call type instruction is taken into consideration.
It is necessary to confirm the number of processing steps.

【0216】しかしながら、これを目視で行うのは、非
効率的であり、また、アプリケーションプログラムが複
雑になれば、その作業量も、莫大なものとなる。
However, it is inefficient to perform this visually, and if the application program becomes complicated, the amount of work becomes enormous.

【0217】そこで、開発支援プログラムにおいて、ア
プリケーションプログラムに含まれるジャンプ/コール
系命令のすべてを検索し、それらのジャンプ/コール系
命令により実行順序が変化する場合のすべてについて、
その処理ステップ数のシミュレーション(ソフトウェア
シミュレーション)を行い(アプリケーションプログラ
ムを仮想的に実行し)、処理ステップ数の最大値を求め
る方法がある。
Therefore, in the development support program, all the jump / call instructions included in the application program are searched, and for all cases where the execution order is changed by the jump / call instructions,
There is a method of performing a simulation (software simulation) of the number of processing steps (virtually executing an application program) and obtaining the maximum value of the number of processing steps.

【0218】しかしながら、ジャンプ/コール系命令に
ついて、分岐するか、しないかだけを考えても、シミュ
レーションの回数は莫大なものとなる。即ち、ジャンプ
/コール系命令が、例えば、10あれば、それだけで、
シミュレーションの回数は、単純には、1024(=2
10)回になり、従って、シミュレーションに要する時間
は、莫大なものとなる。
However, the number of simulations is enormous even if only branching / not branching of jump / call type instructions is considered. That is, if there are 10 jump / call instructions, for example,
The number of simulations is simply 1024 (= 2
10 ) times, and thus the time required for the simulation is enormous.

【0219】さらに、現実には、ジャンプ/コール系命
令の中には、DSPのセットアップレジスタ53の記憶
値などに基づいて分岐するものがあり、そのような、処
理ステップごとに刻々と変化するセットアップレジスタ
53その他の記憶値を把握して、分岐するか、しないか
を決定しなければならず、面倒である。
Furthermore, in reality, some jump / call instructions branch based on the stored value of the setup register 53 of the DSP, and such a setup that changes every processing step. It is necessary to grasp the register 53 and other stored values to determine whether to branch or not, which is troublesome.

【0220】また、ジャンプ/コール系命令の中には、
ユーザから入力があった場合に、その入力に基づいて分
岐するものがあり、そのような命令については、シミュ
レーションを行うソフトウェア(シミュレータ)におい
て、分岐するか、しないかを決定するのは困難である。
Also, some jump / call instructions include
When there is an input from the user, there is a branch depending on the input, and it is difficult to determine whether such an instruction branches or not in a software (simulator) for performing simulation. .

【0221】さらに、DSPが実行可能なすべての機能
について、シミュレーションを厳密に行うとすれば、そ
の機能のすべてについて、シミュレーションを行うため
のモデルを構成しなければならず、その作業だけでも、
莫大な量となる。
Further, if the simulation is performed strictly for all functions that can be executed by the DSP, a model for performing the simulation must be constructed for all the functions.
It is a huge amount.

【0222】一方、実行時におけるエラー(実行エラ
ー)をなくす等のために、アドレスジェネレータ25乃
至28などが出力するアドレスや、RAM29乃至32
において、そのアドレスに記憶されているデータなどを
モニタする必要がある場合がある。さらに、本実施の形
態では、アドレス指定の方法として、上述したように、
絶対指定と相対指定があり、また、相対指定の場合に
は、nビットの幾つといった表記方法もあるため、アド
レスやデータのモニタができれば便利である。しかしな
がら、上述したような莫大な回数のシミュレーションを
行う場合において、各シミュレーションについて、アド
レスやデータを保持するのは、莫大な記憶領域が必要と
なる。
On the other hand, in order to eliminate errors (execution errors) at the time of execution, addresses output by the address generators 25 to 28 and RAMs 29 to 32 are used.
In some cases, it may be necessary to monitor data stored at the address. Furthermore, in the present embodiment, as described above,
There are an absolute specification and a relative specification, and in the case of a relative specification, there is a notation method such as n bits, so that it is convenient to monitor addresses and data. However, in the case where an enormous number of simulations are performed as described above, holding an address and data for each simulation requires an enormous storage area.

【0223】そこで、本実施の形態では、アプリケーシ
ョンプログラムに含まれるジャンプ/コール系命令につ
いて、ユーザに、分岐するか、しないかや、何回ループ
ジャンプを行うかなどを指定させ、その指定どおりに、
シミュレーションを行い、アプリケーションプログラム
の実行順序や、アドレス、データのモニタ結果などを表
示するようにしている。この処理は、アドレスモニタ処
理と呼ばれる。
Therefore, in the present embodiment, the user is allowed to specify whether to jump or not, and how many times the loop jump is to be performed for the jump / call system instruction included in the application program. ,
A simulation is performed to display the execution order of application programs, addresses, data monitoring results, and the like. This process is called an address monitor process.

【0224】アドレスモニタ処理は、メイン画面におい
て、入力欄62に、アドレスモニタ処理の対象とするア
プリケーションプログラムが表示されている状態で、ア
ドレスモニタボタン61M(図4)が操作された場合に
行われる。
The address monitor process is performed when the address monitor button 61M (FIG. 4) is operated in a state where an application program to be subjected to the address monitor process is displayed in the input field 62 on the main screen. .

【0225】即ち、この場合、例えば、図17に示すよ
うな第1画面が表示される。
That is, in this case, for example, a first screen as shown in FIG. 17 is displayed.

【0226】第1画面において、スタートアドレス(St
art Address)欄131には、シミュレーションを開始
するアプリケーションプログラムの行番号が入力され
る。なお、ここには、デフォルト値として、000Hが
設定されている。実行ボタン132は、アプリケーショ
ンプログラムの中に含まれるジャンプ/コール系命令の
検索を開始するときに操作(クリック)される。閉じる
ボタン133は、第1画面をクローズするときに操作さ
れる。
In the first screen, the start address (St
The line number of the application program for starting the simulation is input to the art address column 131. Here, 000H is set as a default value. The execute button 132 is operated (clicked) to start searching for a jump / call-related instruction included in the application program. The close button 133 is operated when closing the first screen.

【0227】以上のような第1画面が表示された状態に
おいて、スタートアドレス欄131に、シミュレーショ
ンを開始するアドレス(以下、適宜、スタートアドレス
という)を入力し、実行ボタン132を操作すると、ア
プリケーションプログラムのスタートアドレス以降の行
から、ジャンプ/コール系命令が検索される。そして、
その検索が終了すると、例えば、図18に示すような第
2画面が表示される。
In the state where the first screen as described above is displayed, an address for starting the simulation (hereinafter, appropriately referred to as a start address) is input to the start address column 131, and the execution button 132 is operated. Is searched for a jump / call instruction from the line after the start address. And
When the search ends, for example, a second screen as shown in FIG. 18 is displayed.

【0228】第2画面において、条件ロードボタン14
1は、この第2画面において、過去に設定された条件
を、ファイルからロードするときに操作される。条件セ
ーブボタン142は、第2画面において設定した条件
を、ファイルにセーブしておくときに操作される。ジャ
ンプ/コール系命令(条件分岐命令)表示欄143に
は、ジャンプ/コール系命令の検索結果としての、その
ジャンプ/コール系命令の個数が表示される。
In the second screen, the condition load button 14
1 is operated when the previously set conditions are loaded from a file on the second screen. The condition save button 142 is operated when the conditions set on the second screen are saved in a file. The jump / call-related instruction (conditional branch instruction) display field 143 displays the number of jump / call-related instructions as a search result of the jump / call-related instruction.

【0229】次頁ボタン144または前頁ボタン145
は、次頁または前頁の第2画面を表示させるときに操作
される。即ち、本実施の形態では、1ブロックのアプリ
ケーションプログラムの行数は、最大で1024行とな
っており、また、サンプリングクロックの1周期の間に
実行可能な処理ステップ数は、上述したように、512
ステップとなっている。そこで、これらを考慮して、ジ
ャンプ/コール系命令の最大検索数を、例えば、100
個に制限している。一方、第2画面では、1頁あたり、
最大で、例えば、20のジャンプ/コール系命令の検索
結果が表示されるようになされている。そこで、ジャン
プ/コール系命令が、最大検索数である100個得られ
た場合に、そのすべてを表示するために、第2画面は、
5(=100/20)頁用意されている。なお、ジャン
プ/コール系命令の最大検索数は、100個に限定され
るものではない。
Next page button 144 or previous page button 145
Is operated to display the second screen of the next page or the previous page. That is, in this embodiment, the number of lines of one block of the application program is 1024 at the maximum, and the number of processing steps that can be executed during one cycle of the sampling clock is, as described above, 512
Has become a step. Therefore, taking these factors into consideration, the maximum search number of jump / call type instructions is set to, for example,
Limited to On the other hand, on the second screen,
At most, for example, search results of 20 jump / call-related instructions are displayed. In order to display all the jump / call-related commands when the maximum number of search commands is 100, the second screen is displayed as follows.
5 (= 100/20) pages are prepared. It should be noted that the maximum search number of jump / call type instructions is not limited to 100.

【0230】以上のように5頁だけ用意されている第2
画面において、表示する頁を変更するときに、次頁ボタ
ン144や前頁ボタン145が操作される。
As described above, the second page prepared for only five pages
When changing the page to be displayed on the screen, the next page button 144 and the previous page button 145 are operated.

【0231】閉じるボタン146は、第2画面をクロー
ズするときに操作される。実行ボタン147は、第2画
面において設定された条件にしたがって、アプリケーシ
ョンプログラムのシミュレーションを行う(開始する)
ときに操作される。
The close button 146 is operated when closing the second screen. The execute button 147 simulates (starts) the application program according to the conditions set on the second screen.
Sometimes operated.

【0232】検索結果表示欄148には、ジャンプ/コ
ール系命令の検索結果が、20個(20行)単位で表示
されるとともに、分岐するか、しないかや、何回ループ
ジャンプを行うかといった条件を、ユーザに指定させる
ための欄が表示される。
In the search result display column 148, the search results of jump / call type instructions are displayed in units of 20 (20 lines), and whether to branch or not, and how many times the loop jump is performed. A field for allowing the user to specify conditions is displayed.

【0233】即ち、検索結果表示欄148においては、
その最も左の欄に、ジャンプ/コール系命令の検索結果
に対して付されたシーケンシャルな番号が表示される。
さらに、左から2番目と3番目の欄には、検索されたジ
ャンプ/コール系命令が記述されていた行番号と、その
ジャンプ/コール系命令が表示される。
That is, in the search result display column 148,
In the leftmost column, a sequential number assigned to a search result of a jump / call type instruction is displayed.
Further, in the second and third columns from the left, the line number in which the searched jump / call instruction is described and the jump / call instruction are displayed.

【0234】そして、左から4番目には、分岐するか、
しないかを指定するための欄(「分岐yes no」)が表示
され、最も右には、ループジャンプする回数を指定する
ための欄(「ループ数」)が表示される。
Then, at the fourth position from the left, branch or
A column ("branch yes no") for designating whether to perform the loop jump is displayed, and a column ("number of loops") for designating the number of loop jumps is displayed on the rightmost side.

【0235】第2画面が表示された状態において、ユー
ザは、各ジャンプ/コール系命令について、必要に応じ
て、分岐するか、しないかや、何回ループジャンプを行
うかといった条件を指定する。
In the state where the second screen is displayed, the user designates, for each jump / call-related instruction, conditions such as whether or not to branch and how many times the loop jump is performed, as required.

【0236】ここで、ユーザからの指定がなくても、対
処可能なジャンプ/コール系命令については、自動的に
条件が設定されるようになされている。即ち、例えば、
リターン命令や、無条件分岐命令については、自動的
に、分岐するという設定が行われるようになされてお
り、これにより、そのようなジャンプ/コール系命令に
ついて、ユーザが条件の指定を行わずに済むようになっ
ている。
Here, conditions are set automatically for jump / call-related instructions that can be dealt with without any designation from the user. That is, for example,
For a return instruction or an unconditional branch instruction, a setting for branching is automatically made, so that the user does not need to specify a condition for such a jump / call instruction. It is done.

【0237】また、指定した条件は、上述したように、
条件セーブボタン142を操作することによりファイル
にセーブし、さらに、そのようにしてセーブした条件
は、条件ロードボタン141を操作することにより、検
索結果表示欄148にロードすることができるようにな
されており、これにより、過去に指定した条件を、再度
指定しなくても済むようになされている。なお、指定し
た条件をファイルにセーブする場合、その拡張子は、上
述したファイルと区別するために、例えば、m24とされ
るようになされている。
Also, the specified condition is, as described above,
By operating the condition save button 142, the conditions are saved in a file. Further, by operating the condition load button 141, the saved conditions can be loaded into the search result display field 148. Thus, the condition specified in the past does not have to be specified again. When a designated condition is saved in a file, its extension is set to, for example, m24 in order to distinguish it from the above-mentioned file.

【0238】検索結果表示欄148において、必要な条
件の指定後に、実行ボタン147が操作されると、その
指定に基づいて(分岐するか、しないかや、ループジャ
ンプの回数の指定にしたがって)、アプリケーションプ
ログラムのシミュレーションが行われる。
In the search result display field 148, when the execute button 147 is operated after the necessary conditions are specified, based on the specification (in accordance with the specification of whether to branch or not, and the number of loop jumps), A simulation of the application program is performed.

【0239】そして、そのシミュレーションが終了する
と、例えば、図19に示すような第3画面が表示され
る。
Then, when the simulation is completed, for example, a third screen as shown in FIG. 19 is displayed.

【0240】第3画面において、モニター結果印刷ボタ
ン151は、シミュレーション結果表示欄153におけ
るシミュレーション結果を印刷する場合に操作される。
閉じるボタン152は、第3画面をクローズするときに
操作される。シミュレーション結果表示欄153には、
第2画面における指定どおりに行われたシミュレーショ
ン結果が表示される。
On the third screen, the monitor result print button 151 is operated when printing the simulation result in the simulation result display field 153.
The close button 152 is operated when closing the third screen. In the simulation result display column 153,
The result of the simulation performed as specified on the second screen is displayed.

【0241】即ち、その最も左の欄(「step」)には、
処理ステップ数が表示される。左から2番目の欄(「Ia
dd」)には、各ステップにおいて実行された命令が記述
された行番号が表示される。左から3乃至6番目の欄
(「Kadd」、「Dadd」、「DFadd」、「DSadd」)には、
各ステップにおいて、アドレスジェネレータ25乃至2
8が、KRAM29,DRAM30,DfRAM31,
DsRAM32に出力するアドレス(絶対アドレス)
が、それぞれ表示される。なお、このとき、それぞれの
アドレスに記憶されているデータを表示するようにする
ことも可能である。
That is, in the leftmost column (“step”),
The number of processing steps is displayed. The second column from the left ("Ia
dd ") indicates the line number in which the instruction executed in each step is described. The third to sixth columns from the left ("Kadd", "Dadd", "DFadd", "DSadd")
In each step, the address generators 25 to 2
8 are KRAM 29, DRAM 30, DfRAM 31,
Address output to DsRAM 32 (absolute address)
Are displayed respectively. At this time, it is also possible to display the data stored at each address.

【0242】そして、最も左の欄(「comment」)に
は、各ステップにおいて、入力画面のコメント欄80に
入力されているコメントが表示される。
In the leftmost column (“comment”), the comment entered in the comment column 80 of the input screen is displayed in each step.

【0243】ここで、図20に、図18の第2画面に示
したように条件を設定して、シミュレーションを行うこ
とにより、図19の第3画面に示したようなシミュレー
ション結果が得られるアプリケーションプログラム(の
ソースコード)の一部を示す。
In FIG. 20, by setting conditions as shown in the second screen of FIG. 18 and performing a simulation, an application which can obtain a simulation result as shown in the third screen of FIG. Here is a part of (the source code of) the program.

【0244】図20の実施の形態においては、例えば、
その第013行目に、ジャンプ/コール系命令の1つで
あるコール命令「call05d」がある。このコール命令「c
all05d」の下3桁が、ジャンプ(コール)先のプログラ
ムアドレス(行番号)を表しており(コール命令に限ら
ず、ジャンプ先のプログラムアドレスが指定されるジャ
ンプ/コール系命令は、すべて同様)、従って、コール
命令「call05d」によれば、プログラムアドレス05d
Hへの分岐(ジャンプ)が行われる。
In the embodiment shown in FIG. 20, for example,
On line 013, there is a call instruction “call05d” which is one of the jump / call instructions. This call instruction "c
The lower three digits of "all05d" represent the program address (line number) of the jump (call) destination (not only call instructions, but all jump / call-related instructions that specify the program address of the jump destination are the same) Therefore, according to the call instruction “call05d”, the program address 05d
A branch (jump) to H is performed.

【0245】ここで、図19の実施の形態では、コール
命令「call05d」が記述されている第013H行の次の
ステップではなく、さらに、その次のステップにおい
て、プログラムアドレスが、ジャンプ先である05dH
に変化しているが、これは、上述したように、図2のD
SPは、ジャンプ/コール系命令によるジャンプが2ク
ロック遅れて行われるようなアーキテクチャとなってい
るためである。
Here, in the embodiment of FIG. 19, the program address is not the next step of the 013H line where the call instruction “call05d” is described, but is the next step. 05dH
, Which is, as described above, the D in FIG.
This is because SP has an architecture in which a jump by a jump / call type instruction is performed with a delay of two clocks.

【0246】なお、図17乃至図19の実施の形態で
は、第1乃至第3画面を1つずつ示したが、第1乃至第
3画面は、実際には、例えば、図21に示すように、メ
イン画面にオーバラップされ、1画面で表示されるよう
になされている。即ち、第1乃至第3画面は、例えば、
ディスプレイ9が、800×600ドット程度の解像度
のものであれば、1画面で表示することのできるような
サイズに構成されている。
In the embodiments of FIGS. 17 to 19, the first to third screens are shown one by one. However, the first to third screens are actually, for example, as shown in FIG. , Are overlapped with the main screen and displayed on one screen. That is, the first to third screens are, for example,
If the display 9 has a resolution of about 800 × 600 dots, it is configured to have a size that can be displayed on one screen.

【0247】次に、図22のフローチャートを参照し
て、上述のアドレスモニタ処理について、さらに説明す
る。
Next, the address monitoring process will be further described with reference to the flowchart of FIG.

【0248】メイン画面において、入力欄62に、アド
レスモニタ処理の対象とするアプリケーションプログラ
ムが表示されている状態で、アドレスモニタボタン61
Mが操作されると、アドレスモニタ処理が行われる。
On the main screen, while the application program to be subjected to the address monitor processing is displayed in the input column 62, the address monitor button 61 is displayed.
When M is operated, an address monitor process is performed.

【0249】即ち、まず最初に、ステップS71におい
て、図17に示した第1画面が表示される。そして、ス
テップS72に進み、実行ボタン132が操作されたか
否かが判定され、操作されていないと判定された場合、
ステップS73に進み、閉じるボタン133が操作され
たか否かが判定される。ステップS73において、閉じ
るボタン133が操作されたと判定された場合、ステッ
プS74に進み、第1画面がクローズされ、アドレスモ
ニタ処理を終了する。
That is, first, in step S71, the first screen shown in FIG. 17 is displayed. Then, the process proceeds to step S72, where it is determined whether or not the execution button 132 has been operated, and if it is determined that the execution button 132 has not been operated,
Proceeding to step S73, it is determined whether the close button 133 has been operated. If it is determined in step S73 that the close button 133 has been operated, the process proceeds to step S74, where the first screen is closed, and the address monitoring process ends.

【0250】また、ステップS73において、閉じるボ
タン133が操作されていないと判定された場合、ステ
ップS72に戻る。そして、ステップS72において、
実行ボタン132が操作されたと判定された場合、ステ
ップS75に進み、アプリケーションプログラムの中に
あるジャンプ/コール系命令が検索され、ステップS7
6に進む。
If it is determined in step S73 that the close button 133 has not been operated, the process returns to step S72. Then, in step S72,
If it is determined that the execute button 132 has been operated, the process proceeds to step S75, where a jump / call-related command in the application program is searched for, and the process proceeds to step S7.
Proceed to 6.

【0251】ステップS76では、ステップS75にお
けるジャンプ/コール系命令の検索結果が、検索結果表
示欄148に配置された第2画面(図18)が表示され
る。
In step S76, the second screen (FIG. 18) in which the search result of the jump / call type command in step S75 is arranged in the search result display column 148 is displayed.

【0252】そして、ステップS77に進み、条件ロー
ドボタン141が操作されたかどうかが判定される。ス
テップS77において、条件ロードボタン141が操作
されたと判定された場合、ステップS78に進み、過去
にセーブされた条件を読み出し、その条件を、検索結果
表示欄148に反映させるための条件ロード処理が行わ
れ、ステップS77に戻る。また、ステップS77にお
いて、条件ロードボタン141が操作されていないと判
定された場合、ステップS79に進み、条件セーブボタ
ン142が操作されたかどうかが判定される。ステップ
S79において、条件セーブボタン142が操作された
と判定された場合、ステップS80に進み、検索結果表
示欄148に入力された条件が、ファイルにセーブさ
れ、ステップS77に戻る。また、ステップS79にお
いて、条件セーブボタン142が操作されていないと判
定された場合、ステップS81に進み、次頁ボタン14
4または前頁ボタン145が操作されたか否かが判定さ
れる。
The flow advances to step S77 to determine whether the condition load button 141 has been operated. If it is determined in step S77 that the condition load button 141 has been operated, the process proceeds to step S78, in which a condition saved in the past is read, and a condition load process for reflecting the condition in the search result display column 148 is performed. Then, the process returns to step S77. If it is determined in step S77 that the condition load button 141 has not been operated, the process proceeds to step S79, and it is determined whether the condition save button 142 has been operated. If it is determined in step S79 that the condition save button 142 has been operated, the process proceeds to step S80, in which the conditions input in the search result display field 148 are saved in a file, and the process returns to step S77. If it is determined in step S79 that the condition save button 142 has not been operated, the process proceeds to step S81, and the next page button 14
It is determined whether 4 or the previous page button 145 has been operated.

【0253】ステップS81において、次頁ボタン14
4または前頁ボタン145が操作されたと判定された場
合、ステップS82に進み、その操作に対応して、表示
する第2画面の頁が変更され(いま表示されている頁の
第2画面に代えて、その次頁または前頁の第2画面が表
示され)、ステップS77に戻る。また、ステップS8
1において、次頁ボタン144および前頁ボタン145
のいずれも操作されていないと判定された場合、ステッ
プS83に進み、閉じるボタン146が操作されたか否
かが判定される。ステップS83において、閉じるボタ
ン146が操作されたと判定された場合、ステップS8
4に進み、第2画面がクローズされ、ステップS72に
戻る。
In step S81, the next page button 14
If it is determined that the 4 or previous page button 145 has been operated, the process proceeds to step S82, and the page of the second screen to be displayed is changed in accordance with the operation (instead of the second screen of the currently displayed page). Then, the second screen of the next page or the previous page is displayed), and the process returns to step S77. Step S8
1, the next page button 144 and the previous page button 145
If it is determined that none of the above has been operated, the process proceeds to step S83, and it is determined whether or not the close button 146 has been operated. If it is determined in step S83 that the close button 146 has been operated, step S8
Proceeding to step S4, the second screen is closed, and the process returns to step S72.

【0254】また、ステップS83において、閉じるボ
タン146が操作されていないと判定された場合、ステ
ップS85に進み、実行ボタン147が操作されたか否
かが判定される。ステップS85において、実行ボタン
147が操作されていないと判定された場合、ステップ
S77に戻る。また、ステップS85において、実行ボ
タン147が操作されたと判定された場合、即ち、検索
結果表示欄148に条件が入力され、さらに、実行ボタ
ン147が操作された場合、ステップS86に進み、ア
プリケーションプログラムのシミュレーションが、第1
画面のスタートアドレス欄131に入力されたスタート
アドレスから、第2画面の検索結果表示欄148に入力
された条件にしたがって行われる。
If it is determined in step S83 that the close button 146 has not been operated, the flow advances to step S85 to determine whether the execute button 147 has been operated. If it is determined in step S85 that the execute button 147 has not been operated, the process returns to step S77. If it is determined in step S85 that the execution button 147 has been operated, that is, if a condition has been entered in the search result display field 148 and the execution button 147 has been operated, the process proceeds to step S86, where the application program Simulation is the first
The search is performed from the start address input in the start address column 131 of the screen according to the conditions input in the search result display column 148 of the second screen.

【0255】そして、そのシミュレーションが終了する
と、ステップS87に進み、そのシミュレーション結果
がシミュレーション結果表示欄153に表示された第3
画面(図19)が表示される。
Then, when the simulation is completed, the flow advances to step S87, and the simulation result is displayed in the third result displayed in the simulation result display column 153.
A screen (FIG. 19) is displayed.

【0256】第3画面が表示された後は、ステップS8
8に進み、モニター結果印刷ボタン151が操作された
かどうかが判定される。ステップS88において、モニ
ター結果印刷ボタン151が操作されたと判定された場
合、ステップS89に進み、シミュレーション結果表示
欄153に表示されているシミュレーション結果の印刷
が行われ、ステップS88に戻る。また、ステップS8
8において、モニター結果印刷ボタン151が操作され
ていないと判定された場合、ステップS90に進み、閉
じるボタン152が操作されたか否かが判定される。ス
テップS90において、閉じるボタン152が操作され
ていないと判定された場合、ステップS88に戻る。
After the third screen is displayed, step S8
Proceeding to 8, it is determined whether the monitor result print button 151 has been operated. If it is determined in step S88 that the monitor result print button 151 has been operated, the process proceeds to step S89, in which the simulation result displayed in the simulation result display column 153 is printed, and the process returns to step S88. Step S8
In step S8, when it is determined that the monitor result print button 151 has not been operated, the process proceeds to step S90, and it is determined whether the close button 152 has been operated. If it is determined in step S90 that the close button 152 has not been operated, the process returns to step S88.

【0257】また、ステップS90において、閉じるボ
タン152が操作されたと判定された場合、ステップS
91に進み、第3画面がクローズされ、ステップS77
に戻る。
If it is determined in step S90 that the close button 152 has been operated, the process proceeds to step S90.
Proceeding to 91, the third screen is closed, step S77
Return to

【0258】なお、第1乃至第3画面それぞれに設けら
れた各種のボタンが操作されたか否かは、実際には、図
10の実施の形態において説明した場合と同様に、並列
的に判定されるようになされている。
It should be noted that whether or not various buttons provided on each of the first to third screens has been operated is actually determined in parallel as in the case of the embodiment shown in FIG. It has been made.

【0259】ここで、本実施の形態では、上述したよう
に、1ブロックのアプリケーションプログラムの行数
は、最大で1024行に制限されるが、1ブロックにお
けるメインルーチンやサブルーチンの数は、特に制限さ
れない。但し、本実施の形態では、上述したように、処
理ステップ数が512を越えるアプリケーションプログ
ラムは、実際のDSP上で実行させることができないた
め、アドレスモニタ処理において、処理ステップ数が、
512を越える値である、例えば、1024となった場
合には、アドレスモニタ処理を強制的に終了するように
なっている。なお、基本的には、エンド命令(「ed」)
が実行されることによって、正常終了する。
Here, in the present embodiment, as described above, the number of lines of an application program in one block is limited to a maximum of 1024 lines, but the number of main routines and subroutines in one block is particularly limited. Not done. However, in the present embodiment, as described above, an application program having a processing step number exceeding 512 cannot be executed on an actual DSP.
If the value exceeds 512, for example, 1024, the address monitor process is forcibly terminated. Basically, the end instruction ("ed")
Is executed, the process ends normally.

【0260】以上のように、ジャンプ/コール系命令に
ついて、ユーザに、分岐するか否かや、ループする回数
を指定させ、その指定にしたがって、シミュレーション
を行うようにしたので、短時間で、シミュレーションを
終了することができる。
As described above, for the jump / call type instruction, the user is allowed to specify whether or not to branch and the number of loops, and the simulation is performed according to the specification. Can be terminated.

【0261】さらに、アプリケーションプログラムの処
理ステップ数やアドレスの確認を容易に行うことができ
る。また、アドレスの変化に着目した簡易的なデバック
機能、トレース機能を実現することができる。そして、
その結果、アプリケーションプログラムの設計効率を向
上させることが可能となる。
Further, the number of processing steps and the address of the application program can be easily confirmed. Further, it is possible to realize a simple debugging function and a tracing function focusing on a change in address. And
As a result, it is possible to improve the design efficiency of the application program.

【0262】なお、本実施の形態では、DSPとして、
オーディオ用のものを用いるようにしたが、本発明は、
画像処理その他に用いられるDSPにも適用可能であ
る。さらに、本発明は、DSPの他、複数の命令に対応
する処理を並列に行うCPUその他のプロセッサにも適
用可能である。
In the present embodiment, the DSP is
Although the thing for audio was used, the present invention
The present invention is also applicable to a DSP used for image processing and the like. Further, the present invention can be applied to a CPU and other processors that perform processes corresponding to a plurality of instructions in parallel, in addition to the DSP.

【0263】[0263]

【発明の効果】請求項1に記載の情報処理装置および請
求項4に記載の情報処理方法によれば、プロセッサに実
行させるプログラムであるプロセッサプログラムから、
その実行順序を変化させる可能性のあるインストラクシ
ョンが検索される。そして、そのインストラクションに
よって、プロセッサプログラムの実行順序を変化させる
かどうかの指定が行われると、その指定に基づいて、プ
ロセッサプログラムが仮想的に実行され、その実行順序
が表示される。また、請求項5に記載の記録媒体には、
プロセッサに実行させるプログラムであるプロセッサプ
ログラムから、その実行順序を変化させる可能性のある
インストラクションを検索し、そのインストラクション
によって、プロセッサプログラムの実行順序を変化させ
るかどうかの指定が行われた場合に、その指定に基づい
て、プロセッサプログラムを仮想的に実行し、その実行
順序を表示する処理を、コンピュータに行わせるための
コンピュータプログラムが記録されている。従って、プ
ログラムの実行順序等を、容易に知ることが可能とな
る。
According to the information processing apparatus according to the first aspect and the information processing method according to the fourth aspect, a processor program, which is a program to be executed by a processor, comprises:
Instructions that may change the execution order are searched. Then, when the instruction specifies whether to change the execution order of the processor program, the processor program is virtually executed based on the specification, and the execution order is displayed. The recording medium according to claim 5 includes:
The processor program, which is a program to be executed by the processor, is searched for an instruction that may change the execution order, and when the instruction specifies whether to change the execution order of the processor program, the search is performed. A computer program for causing a computer to virtually execute a processor program based on the designation and display the execution order is recorded. Therefore, it is possible to easily know the execution order of the program and the like.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明を適用したプログラム開発支援システム
の一実施の形態の構成例を示すブロック図である。
FIG. 1 is a block diagram illustrating a configuration example of an embodiment of a program development support system to which the present invention has been applied.

【図2】図1のDSPボード21に搭載されているDS
Pの構成例を示すブロック図である。
FIG. 2 shows a DS mounted on the DSP board 21 of FIG.
FIG. 4 is a block diagram illustrating a configuration example of P.

【図3】図2のDSPが実行するマシンコードのフォー
マットを示す図である。
FIG. 3 is a diagram showing a format of a machine code executed by the DSP of FIG. 2;

【図4】メイン画面を示す図である。FIG. 4 is a diagram showing a main screen.

【図5】メイン画面における入力欄62を示す図であ
る。
FIG. 5 is a diagram showing an input field 62 on the main screen.

【図6】入力欄62への入力例を示す図である。FIG. 6 is a diagram showing an example of input to an input field 62;

【図7】ガイド画面を示す図である。FIG. 7 is a diagram showing a guide screen.

【図8】エディット処理を説明するためのフローチャー
トである。
FIG. 8 is a flowchart illustrating an edit process.

【図9】図8のステップS5におけるアセンブル処理の
詳細を説明するためのフローチャートである。
FIG. 9 is a flowchart illustrating details of an assembling process in step S5 of FIG. 8;

【図10】図8のステップS4におけるガイド処理の詳
細を説明するためのフローチャートである。
FIG. 10 is a flowchart illustrating details of a guide process in step S4 of FIG. 8;

【図11】図10のステップS24における絞り込み処
理の詳細を説明するためのフローチャートである。
FIG. 11 is a flowchart illustrating details of a narrowing-down process in step S24 of FIG. 10;

【図12】ガイド画面の表示例を示す図である。FIG. 12 is a diagram showing a display example of a guide screen.

【図13】トランス画面を示す図である。FIG. 13 is a diagram showing a transformer screen.

【図14】転送処理を説明するためのフローチャートで
ある。
FIG. 14 is a flowchart illustrating a transfer process.

【図15】隠し画面を示す図である。FIG. 15 is a diagram showing a hidden screen.

【図16】アセンブルが行われる場合を説明するための
図である。
FIG. 16 is a diagram for explaining a case where assembling is performed.

【図17】第1画面を示す図である。FIG. 17 is a diagram showing a first screen.

【図18】第2画面を示す図である。FIG. 18 is a diagram showing a second screen.

【図19】第3画面を示す図である。FIG. 19 is a diagram showing a third screen.

【図20】アプリケーションプログラムのソースコード
を示す図である。
FIG. 20 is a diagram showing source codes of an application program.

【図21】第1乃至第3画面の表示例を示す図である。FIG. 21 is a diagram showing a display example of first to third screens.

【図22】アドレスモニタ処理を説明するためのフロー
チャートである。
FIG. 22 is a flowchart illustrating an address monitor process.

【符号の説明】[Explanation of symbols]

1 コンピュータ, 2 ROM, 3 CPU, 4
RAM, 5 入力制御部, 6 マウス, 7 キ
ーボード, 8 表示制御部, 9 ディスプレイ,
10 ハードディスク制御部, 11 ハードディス
ク, 12 CD制御部, 13 CD−ROM, 1
4 プリンタ制御部, 15 通信部,16 バス,
17 プリンタ, 21 DSPボード, 22 制御
部, 23 インストラクションアドレスジェネレー
タ, 24 インストラクションROM/RAM, 2
5乃至28 アドレスジェネレータ, 29乃至32
RAM, 33 R1レジスタ, 34 R2レジス
タ, 35 加算器, 36Kレジスタ, 37 Dレ
ジスタ, 38 乗算器, 39 シフタ, 40Pレ
ジスタ, 41 加算器, 42 リミッタ, 43
Bレジスタ, 44,45 アキュームレータ, 46
Bレジスタ, 47 AND/ORゲート, 48
シーケンサ, 49 バレルシフタ, 50 リミッ
タ, 51 ジャンプセットレジスタ, 52 ADレ
ジスタ, 53 セットアップレジスタ, 54 メイ
ンバス
1 computer, 2 ROM, 3 CPU, 4
RAM, 5 input control unit, 6 mouse, 7 keyboard, 8 display control unit, 9 display,
10 hard disk control unit, 11 hard disk, 12 CD control unit, 13 CD-ROM, 1
4 printer control unit, 15 communication unit, 16 bus,
17 printer, 21 DSP board, 22 control unit, 23 instruction address generator, 24 instruction ROM / RAM, 2
5 to 28 address generator, 29 to 32
RAM, 33R1 register, 34R2 register, 35 adder, 36K register, 37D register, 38 multiplier, 39 shifter, 40P register, 41 adder, 42 limiter, 43
B register, 44, 45 Accumulator, 46
B register, 47 AND / OR gate, 48
Sequencer, 49 barrel shifter, 50 limiter, 51 jump set register, 52 AD register, 53 setup register, 54 main bus

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 所定のプロセッサと仮想的に同一の処理
を行う情報処理装置であって、 前記プロセッサに実行させるプログラムであるプロセッ
サプログラムから、その実行順序を変化させる可能性の
あるインストラクションを検索する検索手段と、 前記検索手段により検索されたインストラクションによ
って、前記プロセッサプログラムの実行順序を変化させ
るかどうかの指定を行うための指定手段と、 前記指定手段によって行われた指定に基づいて、前記プ
ロセッサプログラムを仮想的に実行する実行手段と、 前記実行手段による前記プロセッサプログラムの実行順
序を表示する表示手段とを備えることを特徴とする情報
処理装置。
1. An information processing apparatus that performs virtually the same processing as a predetermined processor, and retrieves, from a processor program that is a program executed by the processor, instructions that may change the execution order. Searching means; specifying means for specifying whether to change the execution order of the processor program according to the instructions searched by the searching means; and the processor program based on the specification performed by the specifying means. An information processing apparatus, comprising: an execution unit that virtually executes the processing; and a display unit that displays an execution order of the processor program by the execution unit.
【請求項2】 前記検索手段により検索されたインスト
ラクションのうち、条件分岐に関するインストラクショ
ンについては、前記指定手段において、分岐するかどう
かの指定が可能なようになされていることを特徴とする
請求項1に記載の情報処理装置。
2. An instruction relating to a conditional branch among instructions retrieved by the retrieval unit, wherein the designation unit can designate whether to branch or not. An information processing apparatus according to claim 1.
【請求項3】 前記検索手段により検索されたインスト
ラクションのうち、ループに関するインストラクション
については、前記指定手段において、ループ回数の指定
が可能なようになされていることを特徴とする請求項1
に記載の情報処理装置。
3. An instruction relating to a loop among instructions retrieved by said retrieval unit, wherein the designation unit can designate the number of loops.
An information processing apparatus according to claim 1.
【請求項4】 所定のプロセッサと仮想的に同一の処理
を行う情報処理装置の情報処理方法であって、 前記プロセッサに実行させるプログラムであるプロセッ
サプログラムから、その実行順序を変化させる可能性の
あるインストラクションを検索し、 そのインストラクションによって、前記プロセッサプロ
グラムの実行順序を変化させるかどうかの指定が行われ
た場合に、その指定に基づいて、前記プロセッサプログ
ラムを仮想的に実行し、 その実行順序を表示することを特徴とする情報処理方
法。
4. An information processing method for an information processing apparatus that performs virtually the same processing as a predetermined processor, wherein the execution order may be changed from a processor program that is a program executed by the processor. When an instruction is searched and an instruction to change the execution order of the processor program is given by the instruction, the processor program is virtually executed based on the designation, and the execution order is displayed. An information processing method comprising:
【請求項5】 コンピュータに実行させるためのプログ
ラムであるコンピュータプログラムが記録されている記
録媒体において、 所定のプロセッサと仮想的に同一の処理を行わせるため
のコンピュータプログラムであって、 前記プロセッサに実行させるプログラムであるプロセッ
サプログラムから、その実行順序を変化させる可能性の
あるインストラクションを検索し、 そのインストラクションによって、前記プロセッサプロ
グラムの実行順序を変化させるかどうかの指定が行われ
た場合に、その指定に基づいて、前記プロセッサプログ
ラムを仮想的に実行し、 その実行順序を表示する処理を行わせるためのコンピュ
ータプログラムが記録されていることを特徴とする記録
媒体。
5. A computer program for causing a computer to execute virtually the same processing as a predetermined processor on a recording medium on which a computer program which is a program to be executed by a computer is recorded. A search is made for instructions that may change the execution order from a processor program that is a program to be executed, and if the instructions specify whether to change the execution order of the processor program, A computer-readable storage medium storing a computer program for virtually executing the processor program based on the computer program and performing a process of displaying the execution order.
JP27077497A 1997-10-03 1997-10-03 Device and method for information processing and storage medium Withdrawn JPH11110227A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27077497A JPH11110227A (en) 1997-10-03 1997-10-03 Device and method for information processing and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27077497A JPH11110227A (en) 1997-10-03 1997-10-03 Device and method for information processing and storage medium

Publications (1)

Publication Number Publication Date
JPH11110227A true JPH11110227A (en) 1999-04-23

Family

ID=17490818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27077497A Withdrawn JPH11110227A (en) 1997-10-03 1997-10-03 Device and method for information processing and storage medium

Country Status (1)

Country Link
JP (1) JPH11110227A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155719B2 (en) * 2001-08-31 2006-12-26 Autodesk Canada Co. Continuation manager
US7877749B2 (en) 2001-08-31 2011-01-25 Autodesk, Inc. Utilizing and maintaining data definitions during process thread traversals

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155719B2 (en) * 2001-08-31 2006-12-26 Autodesk Canada Co. Continuation manager
US7877749B2 (en) 2001-08-31 2011-01-25 Autodesk, Inc. Utilizing and maintaining data definitions during process thread traversals

Similar Documents

Publication Publication Date Title
US6289489B1 (en) Method and apparatus for automatically cross-referencing graphical objects and HDL statements
US5615356A (en) Method and apparatus for interactively displaying signal information during computer simulation of an electrical circuit
Ousterhout An Introduction to TCL and TK
US5164911A (en) Schematic capture method having different model couplers for model types for changing the definition of the schematic based upon model type selection
US5926638A (en) Program debugging system for debugging a program having graphical user interface
US5745738A (en) Method and engine for automating the creation of simulations for demonstrating use of software
Spens Automating SOLIDWORKS 2017 Using Macros
EP0032955B1 (en) Microprogram controlled data processor
JPH0120771B2 (en)
Rodger et al. Increasing interaction and support in the formal languages and automata theory course
JPH11110227A (en) Device and method for information processing and storage medium
JPH11110226A (en) Device and method for information processing and storage medium
KR100417655B1 (en) Regulating information generator and program development system composed of regulator
KR100846203B1 (en) Method for generating mobile application and record media recorded program for realizing the same
JP2835567B2 (en) Backtracking method and backtracking method for simulator that verifies target operation in time series
JP2653276B2 (en) Keyboard simulator
KR0152325B1 (en) Automatic presentation control cricuit in a hyper-media system and control method thereof
Jesshope et al. An intelligent Pascal editor for a graphical oriented workstation
JPS60122435A (en) Memory damp system
Kristofik et al. SIMPLE REGISTER TRANSFER SIMULATOR FOR TEACHING COMPUTER ARCHITECTURE
Cadenhead Sams Teach Yourself Java in 21 Days (Covering Java 12)
Meadows PASCAL for Electronics and Communications
JP2586799B2 (en) Memory buffer status check device managed by chain method
Figueras Interactive fragment display program for interpretation of mass spectra
US20030106048A1 (en) Displaying user readable information during linking

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20041207