JPS5856153A - Subroutine return system - Google Patents

Subroutine return system

Info

Publication number
JPS5856153A
JPS5856153A JP56155521A JP15552181A JPS5856153A JP S5856153 A JPS5856153 A JP S5856153A JP 56155521 A JP56155521 A JP 56155521A JP 15552181 A JP15552181 A JP 15552181A JP S5856153 A JPS5856153 A JP S5856153A
Authority
JP
Japan
Prior art keywords
data
subroutine
return
processing
normal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP56155521A
Other languages
Japanese (ja)
Inventor
Kiyoshi Washida
鷲田 清志
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP56155521A priority Critical patent/JPS5856153A/en
Publication of JPS5856153A publication Critical patent/JPS5856153A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation of subprogram jump address

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To increase a program running speed by selecting one of exits on the basis of the processing result of a subroutine, and making a data return. CONSTITUTION:A branch to a subroutine CHECK2 is caused by an instruction BAL and data to be checked is compared with normal character check data; when the checked data is the normal character data, a return from the subroutine to a normal character data return address X is made and a branch to character data processing A is caused by an instruction B. When not, it is compared with normal pattern check data; when it coincides with the normal pattern data, a return to a normal pattern data return address X+1 is made and a branch to pattern data processing B is caused by the instruction B. Similarly, a comparison with special order check data is made and when coincidence with the special order is not obtained, a return to an error data return address X+3 is made to cause a branch to error processing D.

Description

【発明の詳細な説明】 本発明は、メインプログラムからサブルーチンに分岐し
て再びメインプログラムに復帰する場合における、サブ
ルーチンリターン方式に関するものである。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a subroutine return method when branching from a main program to a subroutine and returning to the main program again.

ディスプレイ等の内部制御プログラムにおいては、メイ
ンプログラムのほかにサブルーチンを有し、特定の処理
を行う場合、メインプログラムからサブルーチンに分岐
して処理を行い、その処理が終了したとき再びメインプ
ログラムに復帰するようにすることが多い。
Internal control programs such as displays have subroutines in addition to the main program, and when specific processing is to be performed, the main program branches to the subroutine, performs the processing, and returns to the main program when the processing is completed. I often do this.

このようにサブルーチンに分岐してメインプログラムに
復帰する場合における復帰形式としては、従来、サブル
ーチンの出口は1つに固定されていて、中断したメイン
プログラムの次の段階へ復帰するのが、一般であった。
Conventionally, when branching to a subroutine and returning to the main program, the exit of the subroutine is usually fixed to one, and the return is generally made to return to the next stage of the main program where it was interrupted. there were.

第1図は、従来のサブルーチンリターン方式を例示して
いる。同図は、データ判定を行うサブルーチンCHEC
K1からメインプログラムに復帰する場合のリターン方
式を示し、(α)はこの場合のフローチャートを、(b
)はこれに対応する命令を示している。ことでCHEC
Klは、復帰情報を設定する必要のあるサブルーチンを
意味する。復帰情報は図示されないレジスタR,にセッ
トされ、正常文字データのとき″0#、正常パターンデ
ータのとき“1″、特殊オーダのとき″2#、エラーデ
ータのとき″3#である。
FIG. 1 illustrates a conventional subroutine return method. The figure shows a subroutine CHEC that performs data judgment.
The return method when returning to the main program from K1 is shown, (α) is the flowchart in this case, (b
) indicates the corresponding command. By the way, CHEC
Kl means a subroutine that needs to set return information. The return information is set in a register R, not shown, and is "0#" for normal character data, "1" for normal pattern data, "2#" for special order, and "3#" for error data.

第1図において、はじめ命令BALでサブルーチンCH
ECK1に分岐し、データ判定が行われて判定結果が復
帰情報としてレジスタROにセットされる。次に命令り
によって図示されないレジスタR1にデータ“0”がセ
ットされ、次の命令CでレジスタROの内容とレジスタ
R1の内容とが比較される。比較の結果等しかったとき
は次の命令Bで処理Aへ分岐し、文字データ処理が行わ
れる。一方、比較の結果等しくなかったときは分岐する
ことなく次の命令りでレジスタR1にデータ@1#がセ
ットされ、再び次の命令Cで両レジスタの内容が比較さ
れる。以下、このような手順を繰り返えしてレジスタR
1に順次″″2#、″″3”をロードしながらレジスタ
R,と比較を行ない、等しければ対応する処理C,Dに
分岐し、等しくなければ次の段階に進む。
In Fig. 1, the subroutine CH is first commanded by BAL.
The process branches to ECK1, data is judged, and the judgment result is set in register RO as return information. Next, data "0" is set in a register R1 (not shown) by an instruction, and the contents of the register RO and the contents of the register R1 are compared by the next instruction C. If the comparison results are equal, the next instruction B branches to processing A, and character data processing is performed. On the other hand, if the result of the comparison is not equal, data @1# is set in register R1 in the next instruction without branching, and the contents of both registers are compared again in the next instruction C. From now on, repeat these steps to create register R.
1 is sequentially loaded with ``2#'' and ``3'' and compared with the register R. If they are equal, the process branches to corresponding processes C and D, and if they are not equal, the process proceeds to the next step.

従来のサブルーチンリターン方式においては、上述のよ
うな復帰情報判定ルーチンを実行するため、メインプロ
グラムに復帰するときのプログラム走行ステップ数が多
い。第1図の例の場合、ステップ数が最大になるのはエ
ラーデータの場合で4って、エラーデータが判別される
までの走行ステップ数は(10ステツプ+サブルーチン
CHECK1のステップ)である。このようにステップ
数が多くなるのは、サブルーチンの出口が一つに固定さ
れていて、サブルーチンの処理結果を復帰情報としてレ
ジスタにセットし、メインプログラムへの復帰時、呼び
出し元のプログラムで復帰情報判定ルーチンを実行して
始めて処理に移行するようになっているためである。
In the conventional subroutine return method, since the return information determination routine as described above is executed, the number of program execution steps when returning to the main program is large. In the example shown in FIG. 1, the maximum number of steps is 4 for error data, and the number of running steps until error data is determined is (10 steps + step of subroutine CHECK1). The reason for this large number of steps is that the exit of a subroutine is fixed to one, and the processing result of the subroutine is set in a register as return information, and when returning to the main program, the return information is stored in the calling program. This is because the process begins only after the determination routine is executed.

本発明は、このような従来技術の欠点を解決しようとす
るものであり、その目的は、復帰情報を必要とせず、従
ってサブルーチン内での復帰情報設定ルーチンと、呼び
出し元プログラムでの復帰情報判定ルーチンとが必要で
なく、プログラム走行ステップ数が大幅に減少し、プロ
グラム走行スピードを向上させることができる方式を提
供することにある。
The present invention attempts to solve the drawbacks of the prior art, and its purpose is to eliminate the need for return information, and therefore to create a return information setting routine within a subroutine and a return information determination routine in a calling program. It is an object of the present invention to provide a method that does not require a routine, greatly reduces the number of program running steps, and can improve the program running speed.

以下、実施例について本発明の詳細な説明する。Hereinafter, the present invention will be described in detail with reference to Examples.

第2図は、本発明のサブルーチンリターン方式の一実施
例を示している。同図は、データ判定を行うサブルーチ
ンCHECK2からメインプログラムに復帰する場合の
リターン方式を示し、(α)はこの場合のフローチャー
トを、(b)はこれに対応する命令を示している。ここ
でCHECK2は復帰情報をセットする必要のないサブ
ルーチンを示している。
FIG. 2 shows an embodiment of the subroutine return method of the present invention. This figure shows a return method when returning to the main program from the subroutine CHECK2 for determining data, where (α) is a flowchart in this case, and (b) is a corresponding instruction. Here, CHECK2 indicates a subroutine that does not require setting return information.

第2図において、はじめ命令BALでサブルーチンCH
ECK2に分岐し、まず被チエツクデータと正常文字チ
ェックデータとの比較を行う、比較の結果正常文字デー
タであったときは、サブルーチンから正常文字データ復
帰アドレスのXへ復帰することによって、命令Bによっ
て文字データ処理Aに分岐する。比較の結果正常文字デ
ータでなかったときは、次に被チエツクデータと正常パ
ターンチェックデータとを比較する。比較の結果正常パ
ターンデータであったときは、サブルーチンから正常パ
ターンデータ復帰アドレスのX+1へ復帰することによ
って、命令Bによってパターンデータ処理Bに分岐する
。以下同様にしてサブルーチンにおいて特殊オーダチェ
ックデータとの比較全行なって、比較の結果特殊オーダ
であったときは特殊オーダ復帰アドレスのX+2へ復帰
することによってオーダ処理Cへ分岐し、特殊オーダで
なかったときはエラーデータ復帰アドレスのX+3へ復
帰することによってエラー処理りに分岐する。
In FIG. 2, the subroutine CH is first commanded by BAL.
Branches to ECK2 and first compares the data to be checked with the normal character check data. If the result of the comparison is normal character data, the subroutine returns to the normal character data return address X, and then the data is returned by instruction B. Branches to character data processing A. If the result of the comparison is that the character data is not normal, then the checked data is compared with the normal pattern check data. If the result of the comparison is normal pattern data, the subroutine returns to the normal pattern data return address X+1 and branches to pattern data processing B in response to instruction B. In the same way, all comparisons with the special order check data are performed in the subroutine, and if the result of the comparison is that it is a special order, the process branches to order processing C by returning to the special order return address X+2 and confirming that it is not a special order. In this case, the program branches to error processing by returning to the error data return address X+3.

第6図は、第2図に例示されたサブルーチンリターン方
式をさらに詳細に説明したものである。
FIG. 6 explains in more detail the subroutine return method illustrated in FIG. 2.

同図において、左側はメインプログラムを示し、右側の
鎖線内はデータ判定を行うサブルーチンを示している。
In the figure, the left side shows the main program, and the part inside the chain line on the right side shows a subroutine for data determination.

第5図において、被チエツクデータはレジスタROにセ
ットされている。また、レジスタR1には正常文字チェ
ックデータ、正常パターンチェックデータおよび特殊オ
ーダチェックデータが順次セットされて、レジスタRO
の被チエツクデータと比較される。一方復帰アドレスス
タックエリアには、最初の分岐命令MALによって復帰
アドレスXが格納されていて、比較が行われる都度スタ
ックポインタをみることによって、復帰アドレスXが読
み出される。
In FIG. 5, the data to be checked is set in register RO. In addition, normal character check data, normal pattern check data, and special order check data are sequentially set in register R1, and register RO
is compared with the checked data. On the other hand, in the return address stack area, the return address X is stored by the first branch instruction MAL, and the return address X is read by looking at the stack pointer each time a comparison is performed.

最初の比較の結果、被チエツクデータが正常文字チェッ
クデータに等しいとき社、復帰アドレスは書き替えられ
ず、従ってX番地が指示され、これによってメインプロ
グラムは文字データ処理へ分岐する0次の比較の結果、
被チエツクデータが正常パターンデータに等しければ復
帰アドレスは誉き替えられ、1が加算されてX+1番地
が指示され、これによってパターンデータ処理へ分岐す
る。
As a result of the first comparison, if the checked data is equal to the normal character check data, the return address is not rewritten and therefore address X is specified, which causes the main program to branch to character data processing. result,
If the checked data is equal to the normal pattern data, the return address is replaced, 1 is added to indicate address X+1, and the program branches to pattern data processing.

以下同様にして、比較結果が特殊オーダチェックデータ
に等しければ、復帰アドレスはX+2番地が指示されて
オーダ処理へ分岐し、特殊オーダチェックデータに等し
くないときは、復帰アドレスはX+5番地が指示されて
エラー処理へ分岐する。
Similarly, if the comparison result is equal to the special order check data, address X+2 is specified as the return address and the process branches to order processing; if the comparison result is not equal to the special order check data, address X+5 is specified as the return address. Branch to error handling.

このように本発明の方式によれば、サブルーチンからメ
インプログラムに復帰する場合におけるサブルーチンの
出口を一つに固定せず、サブルーチン内における処理結
果の条件の数だけ出口を設けて、呼び出し元のプログラ
ムへ復帰するとき、サプルーチyでの処理結果に基づい
て複数個ある出口のいずれかに復帰するようにしたので
、従来の方式のようにサブルーチン内での復帰情報設定
ルーチンと、呼び出し元での復帰情報判定ルーチンとが
必要でなくなって、プログラム走行ステップ数は大幅に
減少する。
As described above, according to the method of the present invention, when returning from a subroutine to the main program, the exit of the subroutine is not fixed to one, but the exits are provided as many as the conditions of the processing result in the subroutine, and the calling program When returning to subroutine y, the return is made to one of multiple exits based on the processing result in subroutine y, so unlike the conventional method, the return information setting routine within the subroutine and the return at the caller are required. Since the information determination routine is no longer necessary, the number of program running steps is significantly reduced.

第2図および第6図に示された例の場合、サブルーチン
における判定結果に拘らず、走行ステップ数は常に(2
ステツプ+サブルーチンCHECK2のステップ)であ
って、第1図に例示された従来の方式に比べ、ステップ
数は明らかに小さい。さらにサブルーチンCHECK1
とCHECK2とを比較した場合、サブルーチンCHE
CK2においては復帰情報をセットする必要がないため
、そのステップ数はサブルーチンCHIICK1に比べ
て小さい。従って、本発明の方式によった場合、サブル
ーチンからメインプログラムに復帰する場合の走行ステ
ップ数は、前述の従来方式の場合に比べて大幅に減少す
る。
In the examples shown in FIGS. 2 and 6, the number of running steps is always (2) regardless of the determination result in the subroutine.
step + step of subroutine CHECK2), and the number of steps is clearly smaller than in the conventional method illustrated in FIG. Furthermore, subroutine CHECK1
and CHECK2, subroutine CHE
Since there is no need to set return information in CK2, the number of steps is smaller than that in subroutine CHIICK1. Therefore, according to the method of the present invention, the number of running steps when returning from a subroutine to the main program is significantly reduced compared to the case of the conventional method described above.

以上説明したように、本発明のサブルーチンリターン方
式によれば、プログラム走行速度が向上し、高速処理を
要求されるディスプレイ装置の内部制御用プログラム等
の場合、極めて有効である。
As described above, the subroutine return method of the present invention improves the program running speed and is extremely effective for internal control programs of display devices that require high-speed processing.

【図面の簡単な説明】[Brief explanation of the drawing]

第1し1は従来のサブルーチンリターン方式を示す図、
第2図は本発明のサブルーチンリターン方式の一実施例
を示す図、第3図は第2図に示されたサブルーチンリタ
ーン方式をさらに詳細に示すフローチャートである。 A、B、C,I) ・・・処理、X、X+1.X+2.
X+5−・・復帰アト特許出願人富士通株式会社 代理人弁理士 玉 蟲 入玉 部(外3名)第1図 (α) 第2図 (α) (b) (b)
The first diagram shows the conventional subroutine return method.
FIG. 2 is a diagram showing an embodiment of the subroutine return method of the present invention, and FIG. 3 is a flowchart showing the subroutine return method shown in FIG. 2 in more detail. A, B, C, I)...processing, X, X+1. X+2.
X+5-...Returning Atto Patent Applicant Fujitsu Ltd. Representative Patent Attorney Tama Mushi Iridama Department (3 people) Figure 1 (α) Figure 2 (α) (b) (b)

Claims (1)

【特許請求の範囲】[Claims] メインプログラムから分岐して実行されるサブルーチン
を有するプログラムにおいて、サブルーチンからメイン
プログラムに復帰する際の出口を、サブルーチンにおけ
る処理結果の条件数に等しい数だけ設け、サブルーチン
から呼び出し元プログラムへの復帰時、サブルーチンで
の処理結果に基づいて複数個の出口のいずれか一つを選
択して復帰することを特徴とするサブルーチンリターン
方式。
In a program having a subroutine that is executed by branching from the main program, the number of exits for returning from the subroutine to the main program is equal to the number of conditions of processing results in the subroutine, and when returning from the subroutine to the calling program, A subroutine return method characterized by selecting one of a plurality of exits and returning based on the processing result of the subroutine.
JP56155521A 1981-09-30 1981-09-30 Subroutine return system Pending JPS5856153A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56155521A JPS5856153A (en) 1981-09-30 1981-09-30 Subroutine return system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56155521A JPS5856153A (en) 1981-09-30 1981-09-30 Subroutine return system

Publications (1)

Publication Number Publication Date
JPS5856153A true JPS5856153A (en) 1983-04-02

Family

ID=15607879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56155521A Pending JPS5856153A (en) 1981-09-30 1981-09-30 Subroutine return system

Country Status (1)

Country Link
JP (1) JPS5856153A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4576288A (en) * 1983-05-10 1986-03-18 Tanaka Seiko Co. Ltd. Card sorting machine
EP0908813A2 (en) * 1997-10-06 1999-04-14 Sun Microsystems, Inc. Method and apparatus for implementing multiple return sites
US7137123B2 (en) 1997-10-06 2006-11-14 Sun Microsystems, Inc. Inline database for receiver types in object-oriented systems

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51147143A (en) * 1975-06-13 1976-12-17 Hitachi Ltd Micro program control mechanism
JPS5346245A (en) * 1976-10-08 1978-04-25 Hitachi Ltd Microprogram controller
JPS5520534A (en) * 1978-07-28 1980-02-14 Nec Corp Data processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51147143A (en) * 1975-06-13 1976-12-17 Hitachi Ltd Micro program control mechanism
JPS5346245A (en) * 1976-10-08 1978-04-25 Hitachi Ltd Microprogram controller
JPS5520534A (en) * 1978-07-28 1980-02-14 Nec Corp Data processor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4576288A (en) * 1983-05-10 1986-03-18 Tanaka Seiko Co. Ltd. Card sorting machine
EP0908813A2 (en) * 1997-10-06 1999-04-14 Sun Microsystems, Inc. Method and apparatus for implementing multiple return sites
EP0908813A3 (en) * 1997-10-06 1999-04-28 Sun Microsystems, Inc. Method and apparatus for implementing multiple return sites
US6553426B2 (en) 1997-10-06 2003-04-22 Sun Microsystems, Inc. Method apparatus for implementing multiple return sites
US7137123B2 (en) 1997-10-06 2006-11-14 Sun Microsystems, Inc. Inline database for receiver types in object-oriented systems

Similar Documents

Publication Publication Date Title
EP0155211A2 (en) System for by-pass control in pipeline operation of computer
US5125092A (en) Method and apparatus for providing multiple condition code fields to to allow pipelined instructions contention free access to separate condition codes
EP0814411A2 (en) Vector data processing apparatus
JPS5856153A (en) Subroutine return system
EP0240606A2 (en) Pipe-line processing system and microprocessor using the system
JPS63142431A (en) Pipeline control system
JPH04152465A (en) System and method for data processing
JP2000194556A (en) Instruction look-ahead system and hardware
JPS58221447A (en) Data processor
JPS61141001A (en) Structure diagnosis system of process control system
JPS6119072B2 (en)
JPH0578053B2 (en)
JPS6232497B2 (en)
JPS62293434A (en) Branch destination forecasting controlling system
JPS62175831A (en) Control system for pipeline with tag
JPH0675757A (en) Link system for virtual space resident program
JPS62254237A (en) Inter-printer type branch instruction executing system
JPS60178539A (en) By-pass control system of information processor
JP3140442B2 (en) Data processing device
JP3021697B2 (en) Exception handling in programming languages
JPS6146562A (en) Operation processing system of array element
JPS61231634A (en) Program counter circuit
JPS61143850A (en) Processor
JPH0398163A (en) Vector data processor
JPH03148730A (en) Process queue processing system