JPH0619703A - Data processor - Google Patents

Data processor

Info

Publication number
JPH0619703A
JPH0619703A JP17070392A JP17070392A JPH0619703A JP H0619703 A JPH0619703 A JP H0619703A JP 17070392 A JP17070392 A JP 17070392A JP 17070392 A JP17070392 A JP 17070392A JP H0619703 A JPH0619703 A JP H0619703A
Authority
JP
Japan
Prior art keywords
stack
value
stack pointer
address
data
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
JP17070392A
Other languages
Japanese (ja)
Inventor
Norio Masui
規雄 桝井
Naoyoshi Nakano
直佳 中野
Yoshiiku Azekawa
善郁 畔川
Masayuki Hata
雅之 畑
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP17070392A priority Critical patent/JPH0619703A/en
Publication of JPH0619703A publication Critical patent/JPH0619703A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To inhibit a stack operation to a storage area except for a stack area which can be used so as to prevent the destruction of the stored content of the stack area except for that of the stack area which can be used. CONSTITUTION:A minimum address value (a) showing the upper limit of a stack area 201 is held in a limit point register 13, and a maximum address value (a+x) showing the lower limit in a base register 16. At the time of writing by the stack operation, the holding value of a stack pointer register 11 whose value is reduced and updated as data is written is compared with the holding value of the limit point register 13 in a comparator 14. At the time of reading, the holding value of the stack pointer register 11 is compared with the holding value of the base register 16 in a comparator 17. When the compared results of the comparators 14 and 17 coincide, a signal to a control circuit 15 becomes active and the control circuit 15 executes an error processing by interruption.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、スタック操作によるデ
ータの読み出し/書き込みが可能なデータ処理装置に関
する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing device capable of reading / writing data by stack operation.

【0002】[0002]

【従来の技術】図4はスタック操作によるデータの読み
出し/書き込みが可能な従来のデータ処理装置の要部構
成を示すブロック図である。図中10B はスタック操作に
よるデータの読み出し/書き込みを含むプログラム命令
を実行するデータ処理部であって、20はデータ処理部10
B が使用できる記憶領域である。記憶領域20のうち、ア
ドレス“a”〜“a+x”のアドレス空間がスタック領
域201 として割り付けられており、アドレス“a”未満
のアドレス空間202 及びアドレス“a+x”を超えるア
ドレス空間203 はスタック以外の目的に使用される領域
である。なお、スタック領域201 の内、アドレス“a+
x−b”〜“a+x”までは使用中のスタック領域201A
を示す。
2. Description of the Related Art FIG. 4 is a block diagram showing a main configuration of a conventional data processing device capable of reading / writing data by stack operation. In the figure, 10B is a data processing unit that executes program instructions including reading / writing of data by stack operation, and 20 is a data processing unit 10.
B is a storage area that can be used. In the storage area 20, the address spaces of the addresses “a” to “a + x” are allocated as the stack area 201, and the address space 202 below the address “a” and the address space 203 above the address “a + x” are other than the stack. This is the area used for the purpose. In the stack area 201, the address "a +
The stack area 201A in use is from x-b "to" a + x "
Indicates.

【0003】スタックポインタレジスタ11はスタック領
域201 のアドレスを指示するスタックポインタ値を保持
し、加減算回路12はスタックポインタレジスタ11の保持
値を読み出し、読み出し/書き込みの別に応じてこの保
持値に“1”を加算又は減算してスタックポインタレジ
スタ11の保持値を更新する。スタック限界ポイントレジ
スタ13はスタック領域201 のアドレス空間の上限を示す
最小アドレス値(=a)を保持しており、比較器14はス
タックポインタレジスタ11の保持値と限界ポイントレジ
スタ13の保持値とを比較し、比較結果が一致した場合に
制御回路15への信号をアクティブにする。制御回路15は
比較器14からの信号がアクティブになると図示しない経
路で割り込み信号を出力してエラー処理を実行する。
The stack pointer register 11 holds a stack pointer value indicating the address of the stack area 201, and the adder / subtractor circuit 12 reads the held value of the stack pointer register 11 and sets the held value to "1" depending on whether reading or writing. "Is added or subtracted to update the value held in the stack pointer register 11. The stack limit point register 13 holds the minimum address value (= a) indicating the upper limit of the address space of the stack area 201, and the comparator 14 compares the hold value of the stack pointer register 11 and the hold value of the limit point register 13. The comparison is made, and when the comparison results match, the signal to the control circuit 15 is activated. When the signal from the comparator 14 becomes active, the control circuit 15 outputs an interrupt signal through a path (not shown) and executes error processing.

【0004】次に、動作について説明する。データ処理
部10B が、例えば、記憶領域202 に記憶されているプロ
グラムを実行し、このプログラムにスタック操作による
データの読み出し/書き込み命令が含まれていた場合、
データ処理部10B は図示しない経路を介した制御回路15
の制御により以下のスタック操作を行う。スタック操作
でデータを書き込む場合、加減算回路12にスタックポイ
ンタレジスタ11が保持するスタックポインタ値を読み込
んで、その値をデクリメントして更新し、更新されたス
タックポインタ値が指定するアドレス位置にデータを書
き込む。
Next, the operation will be described. For example, when the data processing unit 10B executes a program stored in the storage area 202 and the program includes a read / write instruction of data by stack operation,
The data processing unit 10B has a control circuit 15 via a path (not shown).
The following stack operations are performed under the control of. When writing data by stack operation, the stack pointer value held by the stack pointer register 11 is read to the adder / subtractor circuit 12, the value is decremented and updated, and the data is written to the address position specified by the updated stack pointer value. .

【0005】逆に、スタック操作でデータを読み出す場
合、スタックポインタレジスタ11が保持するスタックポ
インタ値をアドレスとしてデータを読み出し、加減算回
路12にスタックポインタレジスタ11の保持値を読み込ん
で、その値をインクリメントしてスタックポインタレジ
スタ11の保持値を更新する。
On the contrary, when reading data by stack operation, data is read by using the stack pointer value held by the stack pointer register 11 as an address, the value held in the stack pointer register 11 is read by the adder / subtractor circuit 12, and the value is incremented. Then, the value held in the stack pointer register 11 is updated.

【0006】即ち、図4に示すように、スタック操作に
よりデータが書き込まれる都度、使用中のスタック領域
201Aはアドレス値が小さい領域の方に伸長してスタック
ポインタレジスタ11の保持値は小さくなっていく。ま
た、スタック操作によりデータが読み込まれる都度、使
用中のスタック領域201Aはアドレスが大きい領域の方に
短縮してスタックポインタレジスタ11の保持値は大きく
なっていく。
That is, as shown in FIG. 4, every time data is written by a stack operation, the stack area in use is in use.
201A expands toward an area having a smaller address value and the value held in the stack pointer register 11 becomes smaller. Also, each time data is read by the stack operation, the stack area 201A in use is shortened toward the area with a larger address and the value held in the stack pointer register 11 increases.

【0007】従って、データ書き込みの際、書き込みデ
ータが予想以上に多い場合、使用中のスタック領域201A
がスタック領域201 を超えてアドレス空間202 にまで達
し、他の用途に使用しているアドレス空間202 の記憶内
容を破壊する危険性がある。従って、これを防止するた
め、スタックとして使用可能なアドレス空間の限界を示
すスタック領域201 の最小アドレス値(=a)をスタッ
ク限界ポイントレジスタ13に保持しておき、スタック操
作によるデータ書き込みの都度、比較器14によって更新
後のスタックポインタレジスタ11の保持値(書き込むべ
きデータのアドレス値)とスタック限界ポイントレジス
タ13の保持値とを比較し、比較の結果、スタックポイン
タレジスタ11の保持値とスタック限界ポイントレジスタ
13の保持値とが一致すれば、直ちに比較器14の出力信号
をアクティブにし、これを受けた制御回路15が割り込み
によるエラー処理を行う。
Therefore, when writing data, if there is more write data than expected, the stack area 201A in use is in use.
May exceed the stack area 201 and reach the address space 202, and there is a risk of destroying the storage contents of the address space 202 used for other purposes. Therefore, in order to prevent this, the minimum address value (= a) of the stack area 201 indicating the limit of the address space that can be used as a stack is held in the stack limit point register 13, and every time data is written by the stack operation, The comparator 14 compares the updated holding value of the stack pointer register 11 (address value of data to be written) with the holding value of the stack limit point register 13, and as a result of the comparison, the holding value of the stack pointer register 11 and the stack limit. Point register
If the held value of 13 matches, the output signal of the comparator 14 is immediately activated, and the control circuit 15 receiving this signal performs error processing by interruption.

【0008】ところで、複数のプログラムを時分割で切
り換えながら並行に実行するデータ処理装置では、各プ
ログラムごとに独立してスタック操作を管理するために
複数のスタックポインタレジスタを備えている場合があ
る。
Incidentally, a data processing apparatus for executing a plurality of programs in parallel while switching them in a time division manner may have a plurality of stack pointer registers for independently managing stack operations for each program.

【0009】図5は複数のスタックポインタレジスタを
備えた従来のデータ処理装置の要部構成を示すブロック
図である。図中11B,21B は8ビットのスタックポインタ
レジスタ、12B はスタックポインタレジスタ11B の保持
値の全8ビットを更新する加減算回路、22B はスタック
ポインタレジスタ21B の保持値の全8ビットを更新する
加減算回路であって、記憶領域20のうち、アドレス
“a”〜“a+x”のアドレス空間はスタック領域201
として割り付けられており、スタック領域201 以外のア
ドレス空間はスタック以外の目的に使用される領域であ
る。
FIG. 5 is a block diagram showing a main structure of a conventional data processing apparatus having a plurality of stack pointer registers. In the figure, 11B and 21B are 8-bit stack pointer registers, 12B is an add / subtract circuit that updates all 8 bits of the value held in the stack pointer register 11B, and 22B is an add / subtract circuit that updates all 8 bits of the value held in the stack pointer register 21B. In the storage area 20, the address space of the addresses “a” to “a + x” is the stack area 201.
The address space other than the stack area 201 is an area used for purposes other than the stack.

【0010】この場合、スタック領域201 を、スタック
ポインタレジスタ11B 及び加減算回路12B を用いたスタ
ック操作で書き込み/読み出しを行うアドレス空間と、
スタックポインタレジスタ21B 及び加減算回路22B を用
いたスタック操作で書き込み/読み出しを行うアドレス
空間とに分離しておき、スタックポインタレジスタ11B
と21B とに異なった初期値を設定しておく。図5では、
スタックポインタレジスタ21B の初期値はスタックポイ
ンタレジスタ11B の初期値より大きい。
In this case, an address space for writing / reading the stack area 201 by stack operation using the stack pointer register 11B and the addition / subtraction circuit 12B,
The stack pointer register 21B and the add / subtract circuit 22B are separated into an address space for writing / reading by stack operation, and the stack pointer register 11B
Set different initial values to and 21B. In FIG.
The initial value of stack pointer register 21B is larger than the initial value of stack pointer register 11B.

【0011】なお、S1-1〜S1-5はスタックポインタレジ
スタ11B を用いたスタック操作で書き込まれたデータ、
S2-1〜S2-4はスタックポインタレジスタ21B を用いたス
タック操作で書き込まれたデータを示す。
S1-1 to S1-5 are data written by stack operation using the stack pointer register 11B,
S2-1 to S2-4 indicate data written by the stack operation using the stack pointer register 21B.

【0012】次に、動作について説明する。スタック領
域201 以外の記憶領域20に割り付けられたプログラムを
実行し、このプログラムにスタックポインタレジスタ11
B を用いたスタック操作による書き込み命令が含まれて
いる場合、スタックポインタレジスタ11B の保持値の全
8ビットを加減算回路12B に読み込んでその値を“1”
だけデクリメントして更新し、更新されたスタックポイ
ンタ値が指定するアドレス位置にデータを書き込む。
Next, the operation will be described. Execute the program assigned to the storage area 20 other than the stack area 201, and add the stack pointer register 11 to this program.
When the write instruction by the stack operation using B is included, all 8 bits of the value held in the stack pointer register 11B are read into the adder / subtractor circuit 12B and the value is set to "1".
Only decrement and update, and write the data to the address position specified by the updated stack pointer value.

【0013】図5のように、スタックポインタレジスタ
11B 及び加減算回路12B を用いたスタック操作でアドレ
スの大きい方から“S1-1”,“S1-2”,“S1-3”, …と
データが書き込まれる都度、スタック領域51はアドレス
が小さい方の領域に伸びてスタックポインタレジスタ11
B の保持値が小さくなっていく。
As shown in FIG. 5, the stack pointer register
Stack area 51 has a smaller address each time data is written from the one with a larger address to "S1-1", "S1-2", "S1-3", ... by stack operation using 11B and adder / subtractor circuit 12B. Stack pointer register 11
The retention value of B becomes smaller.

【0014】逆に、スタック操作でデータの読み出しを
行う場合、スタックポインタレジスタ11B の保持値の全
8ビットをアドレスとしてデータを読み出し、加減算回
路12B にスタックポインタレジスタ11B の保持値の全8
ビットを読み込んで、その値を“1”だけインクリメン
トしてスタックポインタレジスタ11B の保持値を更新す
る。
On the contrary, when reading data by stack operation, the data is read by using all 8 bits of the value held in the stack pointer register 11B as an address, and the addition / subtraction circuit 12B reads all 8 values held by the stack pointer register 11B.
The bit is read and the value is incremented by "1" to update the value held in the stack pointer register 11B.

【0015】スタックポインタレジスタ11B の保持値の
全8ビットがデータ“S1-5”のアドレスである場合、ス
タックポインタレジスタ11B 及び加減算回路12B を用い
たスタック操作でデータの読み出しが行われる都度、デ
ータは“S1-5”,“S1-4”,“S1-3”,…と順に読み出
されてスタックポインタレジスタ11B の保持値が大きく
なっていく。
When all 8 bits of the value held in the stack pointer register 11B is the address of the data "S1-5", the data is read each time the stack pointer register 11B and the adder / subtractor circuit 12B are used to read the data. Are sequentially read as "S1-5", "S1-4", "S1-3", ..., and the value held in the stack pointer register 11B increases.

【0016】スタックポインタレジスタ21B 及び加減算
回路22B を用いたスタック操作時の動作は、スタックポ
インタレジスタ11B 及び加減算回路12B を用いたスタッ
ク操作時の動作と同様である。
The operation during stack operation using the stack pointer register 21B and the addition / subtraction circuit 22B is the same as the operation during stack operation using the stack pointer register 11B and the addition / subtraction circuit 12B.

【0017】[0017]

【発明が解決しようとする課題】従来のデータ処理装置
は以上のような構成であるので、先のデータ処理装置
は、書き込み時にスタック領域の最小アドレスを越えて
データを書き込まないようにスタックポイント限界レジ
スタを設けているが、書き込み時と逆にアドレスが大き
くなる方に操作が進行する読み出し時に、プログラムミ
ス等によりスタック領域を越えてデータを読み出した場
合はスタック領域を越えたことを検出できず、スタック
領域以外から読み出したデータをデータを更新して元の
アドレスに書き込み、記憶内容を破壊してしまうという
危険性がある。
Since the conventional data processing device has the above-mentioned configuration, the above-mentioned data processing device has a stack point limit so as not to write data beyond the minimum address of the stack area at the time of writing. Although a register is provided, when data is read beyond the stack area due to a program mistake, etc., when reading, the operation progresses toward the direction where the address becomes larger than when writing. However, there is a risk that the data read from other than the stack area is updated and written to the original address, and the stored contents are destroyed.

【0018】また、スタック領域を越えて書き込みが行
われないようにしていても、複数のスタックポインタレ
ジスタを備えたデータ処理装置の場合、アドレスが大き
い側に割り付けられた一方のスタックポインタレジスタ
21B を用いたスタック操作で書き込むデータが予想以上
に増加した場合、スタックポインタレジスタ21B の保持
値が他方のスタックポインタレジスタ11B の初期値より
も小さくなり、スタックポインタレジスタ11B を用いた
スタック操作で書き込まれたデータを破壊する危険性が
ある。
Further, even if writing is not performed beyond the stack area, in the case of a data processing device having a plurality of stack pointer registers, one stack pointer register assigned to the side with the larger address is used.
If the data to be written by stack operation using 21B increases more than expected, the value held in stack pointer register 21B becomes smaller than the initial value of the other stack pointer register 11B, and the data is written by stack operation using stack pointer register 11B. There is a risk of destroying the stored data.

【0019】本発明はこのような問題点を解決するため
になされたものであって、スタック操作によるデータの
書き込み/読み出し時のいずれにおいても、スタック領
域を越えたスタック以外の目的に使用する他の記憶領域
又は複数のスタックを操作する場合における他のスタッ
クの記憶内容の破壊を防止するデータ処理装置の提供を
目的とする。
The present invention has been made in order to solve such a problem, and is used for the purpose other than the stack beyond the stack area at any time of writing / reading data by the stack operation. It is an object of the present invention to provide a data processing device that prevents the destruction of the storage contents of other stacks when operating the storage area or a plurality of stacks.

【0020】[0020]

【課題を解決するための手段】第1の発明に係るデータ
処理装置は、スタックとして使用可能なスタック領域の
上限及び下限を示すアドレス値をそれぞれ記憶するレジ
スタを設け、このアドレス値とスタックポインタ値とを
比較してスタック領域の上限又は下限を越えたスタック
操作を禁止することを特徴とする。
A data processing apparatus according to a first aspect of the present invention is provided with a register for storing an address value indicating an upper limit and a lower limit of a stack area usable as a stack, and the address value and the stack pointer value are provided. It is characterized in that a stack operation exceeding the upper limit or the lower limit of the stack area is prohibited by comparing with.

【0021】第2の発明に係るデータ処理装置は、複数
のスタックにそれぞれ対応するスタックポインタ値の一
部ビットを互いに異なる値に固定し、複数のスタック間
でスタックポインタ値が一致しないようにして複数のス
タック操作で使用する記憶領域が重なり合わないように
したことを特徴とする。
In the data processor according to the second aspect of the present invention, some bits of the stack pointer values corresponding to the plurality of stacks are fixed to different values so that the stack pointer values do not match between the plurality of stacks. The feature is that the storage areas used for multiple stack operations are not overlapped.

【0022】第3の発明に係るデータ処理装置は、複数
のスタックが使用可能な領域の始点をそれぞれ示すスタ
ックポインタ値を連続したアドレス値に設定するととも
に、次の操作アドレスを指示すべくスタックポインタ値
に加減算する所定値をnに設定し、各スタック領域がn
個分のアドレス間隔をおいて分散して割り付けられ、n
個のスタック操作で使用する記憶領域が重なり合わない
ようにしたことを特徴とする。
In the data processor according to the third invention, the stack pointer values indicating the starting points of the areas where a plurality of stacks can be used are set to consecutive address values, and the stack pointer is used to indicate the next operation address. Set a predetermined value to add / subtract to the value to n so that each stack area has n
N addresses are allocated in a distributed manner, and n
The feature is that the storage areas used for individual stack operations are not overlapped.

【0023】[0023]

【作用】第1の発明に係るデータ処理装置は、スタック
操作によるデータの読み出し/書き込みを実行する際、
スタックとして使用可能なスタック領域の上限又は下限
を示すアドレス値とスタックポインタ値とを比較し、ス
タックポインタ値がスタック領域の範囲内を指示する場
合は読み出し/書き込みを実行するが、スタックポイン
タ値がスタック領域以外のアドレスを指示する場合は読
み出し/書き込みを禁止する。
The data processing apparatus according to the first aspect of the present invention, when reading / writing data by stack operation,
The stack pointer value is compared with the address value that indicates the upper or lower limit of the stack area that can be used as a stack, and if the stack pointer value indicates that it is within the range of the stack area, read / write is executed. When specifying an address other than the stack area, read / write is prohibited.

【0024】第2の発明に係るデータ処理装置は、複数
のスタックを選択的に操作してデータの読み出し/書き
込みを並列的に処理する際、その一部ビットの値が固定
されているスタックポインタ値は他のスタックのスタッ
クポインタ値と一致することがなく、他のスタック領域
に対して読み出し/書き込みを行うことがない。
A data processing device according to a second aspect of the present invention is a stack pointer in which when a plurality of stacks are selectively operated to read / write data in parallel, the value of some bits is fixed. The value does not match the stack pointer value of the other stack, and reading / writing is not performed on the other stack area.

【0025】第3の発明に係るデータ処理装置は、n個
のスタックを選択的に操作してデータの読み出し/書き
込みを並列的に処理する際、連続したアドレス値をスタ
ック領域の始点とし、読み出し/書き込みの都度、nず
つ加減算して各スタック操作における読み出し/書き込
みの次の操作はn個分のアドレス間隔をおいたアドレス
位置に対して行う。
In the data processor according to the third aspect of the present invention, when n stacks are selectively operated to read / write data in parallel, continuous address values are used as starting points of the stack area and read. Each time / write is performed, addition / subtraction is performed by n, and the next operation of read / write in each stack operation is performed at address positions with an address interval of n.

【0026】[0026]

【実施例】以下、本発明をその実施例を示す図に基づい
て説明する。図1は本発明に係るデータ処理装置(以
下、本発明装置という)の第1の実施例構成を示すブロ
ック図である。図中、図4に示す従来のデータ処理装置
と同一部分には同一符号を付してその説明を省略する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described below with reference to the drawings showing its embodiments. FIG. 1 is a block diagram showing the configuration of a first embodiment of a data processing device according to the present invention (hereinafter referred to as the present invention device). In the figure, the same parts as those of the conventional data processing apparatus shown in FIG.

【0027】本実施例では、スタック領域201 のアドレ
ス空間の上限を示す最小アドレス値(=a)を保持する
従来の限界ポイントレジスタ13に加えて、スタック領域
201のアドレス空間の下限を示す最大アドレス値(=a
+x)を保持するベースレジスタ16を設けるとともに、
スタックポインタレジスタ11の保持値とベースレジスタ
16の保持値とを比較する第2の比較器17を設け、さらに
第1及び第2の比較器14,17 の出力と制御回路15との間
にORゲート18を設けている。
In this embodiment, in addition to the conventional limit point register 13 that holds the minimum address value (= a) indicating the upper limit of the address space of the stack area 201, the stack area
Maximum address value (= a
+ X) is provided with a base register 16 for holding,
Stack pointer register 11 holding value and base register
A second comparator 17 for comparing the held value of 16 is provided, and an OR gate 18 is provided between the outputs of the first and second comparators 14 and 17 and the control circuit 15.

【0028】次に、動作について説明する。スタック操
作によるデータの読み出し/書き込みの動作及びデータ
書き込み時に使用中のスタック領域201Aがスタック領域
201の上限を超え、他の用途に使用しているアドレス空
間202 の記憶内容が破壊されることを防止する動作は、
図4に示す従来のデータ処理装置の動作と同様であるの
で説明を省略する。
Next, the operation will be described. The stack area 201A that is in use when reading / writing data by the stack operation and writing data is the stack area.
The operation to prevent the memory contents of the address space 202 used for other purposes from being exceeded beyond the upper limit of 201 is
Since the operation is the same as that of the conventional data processing device shown in FIG. 4, description thereof will be omitted.

【0029】ベースレジスタ16は、スタック領域201 の
下限を示す最大アドレス値、即ちスタックポインタレジ
スタ11の初期値を保持している。第2の比較器17はスタ
ック操作によるデータ読み込みの都度、更新前のスタッ
クポインタレジスタ11の保持値(読み出すべきデータの
アドレス値)とベースレジスタ16の保持値とを比較し、
比較結果が一致すれば、第2の比較器17の出力が直ちに
アクティブになる。これは、スタック領域201 の下限を
超え、他の用途に使用している他のアドレス空間203 の
記憶内容を読み出したことを示している。
The base register 16 holds the maximum address value indicating the lower limit of the stack area 201, that is, the initial value of the stack pointer register 11. The second comparator 17 compares the value held in the stack pointer register 11 before updating (the address value of the data to be read) with the value held in the base register 16 each time data is read by stack operation.
If the comparison results match, the output of the second comparator 17 becomes active immediately. This indicates that the lower limit of the stack area 201 has been exceeded and the storage contents of another address space 203 used for another purpose have been read.

【0030】第2の比較器17の出力がアクティブになる
とORゲート18の出力がアクティブになり、これを受けた
制御回路15が割り込みによるエラー処理を行う。制御回
路15は、エラー処理を行う際、スタックポインタレジス
タ11の保持値を参照して第1の比較器14の出力と第2の
比較器17の出力のいずれがアクティブになったのかを判
断して対応するエラー処理を行う。
When the output of the second comparator 17 becomes active, the output of the OR gate 18 becomes active, and the control circuit 15 receiving this output performs error processing by interruption. When performing error processing, the control circuit 15 refers to the value held in the stack pointer register 11 to determine which of the output of the first comparator 14 and the output of the second comparator 17 has become active. And perform the corresponding error handling.

【0031】図2は複数のスタックポインタレジスタを
備えた本発明装置の第2の実施例構成を示すブロック図
である。図中、図5に示す従来のデータ処理装置と同一
部分には同一符号を付してその説明を省略する。本実施
例では、8ビットのスタックポインタレジスタ11A,21A
の最下位ビットはそれぞれ“0”,“1”に固定されて
おり、加減算回路12A はスタックポインタレジスタ11A
の保持値の上位7ビットを更新し、加減算回路22A はス
タックポインタレジスタ21A の保持値の上位7ビットを
更新する。
FIG. 2 is a block diagram showing the configuration of the second embodiment of the device of the present invention having a plurality of stack pointer registers. 5, those parts that are the same as those in the conventional data processing device shown in FIG. 5 are designated by the same reference numerals, and a description thereof will be omitted. In this embodiment, 8-bit stack pointer registers 11A and 21A
The least significant bit of each is fixed to "0" and "1", respectively, and the adder / subtractor circuit 12A uses the stack pointer register 11A.
The upper 7 bits of the value held in the stack pointer register 21A are updated, and the addition / subtraction circuit 22A updates the upper 7 bits of the value held in the stack pointer register 21A.

【0032】この場合、データ書き込み時にスタックポ
インタレジスタ11A,21A にそれぞれ設定される初期値
(“a+x−1”及び“a+x”)の上位7ビットは同
一値である。最下位が“0”,“1”であるので、全8
ビットが一致することはない。即ち、スタックレジスタ
が2個の場合、スタック領域201 の偶数アドレスをスタ
ックポインタレジスタ11A を用いたスタック操作に、ま
た奇数アドレスをスタックポインタレジスタ21A を用い
たスタック操作に使い分けることになる。
In this case, the upper 7 bits of the initial values ("a + x-1" and "a + x") set in the stack pointer registers 11A and 21A at the time of writing data are the same value. Since the lowest is "0" and "1", all 8
The bits never match. That is, when there are two stack registers, the even address of the stack area 201 is used for stack operation using the stack pointer register 11A, and the odd address is used for stack operation using the stack pointer register 21A.

【0033】次に、動作について説明する。まず、スタ
ックポインタレジスタ11A 及び加減算回路12A を用いた
スタック操作について説明する。スタック操作によるデ
ータ書き込み時には、加減算回路12A にスタックポイン
タレジスタ11A の上位7ビットを読み込み、その値から
“1”を減算してスタックポインタレジスタ11A の保持
値の上位7ビットを更新し、更新された7ビットを含む
スタックポインタレジスタ11A の保持値の全8ビットを
アドレスとしてデータを書き込む。
Next, the operation will be described. First, the stack operation using the stack pointer register 11A and the addition / subtraction circuit 12A will be described. When writing data by stack operation, the upper 7 bits of the stack pointer register 11A are read into the adder / subtractor circuit 12A, "1" is subtracted from the value, and the upper 7 bits of the value held in the stack pointer register 11A is updated and updated. Data is written with all 8 bits of the value held in the stack pointer register 11A including 7 bits as an address.

【0034】逆に、スタック操作によるデータ読み出し
時には、スタックポインタレジスタ11A の全8ビットを
アドレスとしてデータを読み出し、加減算回路12A にス
タックポインタレジスタ11A の上位7ビットを読み込
み、その値に“1”を加算してスタックポインタレジス
タ11A の上位7ビットを更新する。
On the contrary, when reading data by stack operation, data is read by using all 8 bits of the stack pointer register 11A as an address, the upper 7 bits of the stack pointer register 11A is read by the adder / subtractor circuit 12A, and the value is set to "1". Add and update the upper 7 bits of stack pointer register 11A.

【0035】スタックポインタレジスタ21A 及び加減算
回路22A を用いたスタック操作時の動作は、スタックポ
インタレジスタ11A 及び加減算回路12A を用いたスタッ
ク操作時と同様である。
The operation at the time of stack operation using the stack pointer register 21A and the addition / subtraction circuit 22A is the same as that at the time of stack operation using the stack pointer register 11A and the addition / subtraction circuit 12A.

【0036】図2に示すように、スタックポインタレジ
スタ11A 及び加減算回路12A を用いたスタック操作によ
るデータ書き込み時には、“S1-1”,“S1-2”,“S1-
3”,…のデータが“a+x−1”,“a+x−3”,
“a+x−5”,…と1つおきのアドレスに順次書き込
まれて使用中のスタック領域はスタック領域の上方に伸
びていき、スタックポインタレジスタ11A の保持値が
“2”ずつ小さくなっていく。
As shown in FIG. 2, at the time of writing data by stack operation using the stack pointer register 11A and the addition / subtraction circuit 12A, "S1-1", "S1-2", "S1-"
The data of 3 ", ... Is" a + x-1 "," a + x-3 ",
“A + x−5”, ... Are sequentially written in every other address, and the stack area in use extends above the stack area, and the value held in the stack pointer register 11A becomes smaller by “2”.

【0037】また、スタックポインタレジスタ11A 及び
加減算回路12A を用いたスタック操作によるデータ読み
出し時には、“S1-5”,“S1-4”,“S1-3”,…のデー
タは“a+x−9”,“a+x−7”,“a+x−
5”,…と1つおきのアドレスから順次読み出されて使
用中のスタック領域はスタック領域の下方に減じてい
き、スタックポインタレジスタ11A の保持値が“2”ず
つ大きくなっていく。
When reading data by stack operation using the stack pointer register 11A and the addition / subtraction circuit 12A, the data of "S1-5", "S1-4", "S1-3", ... Is "a + x-9". , "A + x-7", "a + x-"
The stack area in use, which is sequentially read from every other address such as 5 ", ... Is reduced to the lower part of the stack area, and the value held in the stack pointer register 11A increases by" 2 ".

【0038】なお、本実施例では2個のスタックポイン
タレジスタを使用したスタック操作について説明した
が、スタックポインタレジスタの数が3以上であって
も、固定値のビット数を増すことにより複数のスタック
が互いに重なり合わないようにすることができる。例え
ば、4個のスタックポインタレジスタを備えている場
合、下位の2ビットを“00”,“01”,“10”,“11”
にそれぞれ固定すればよい。
Although the stack operation using two stack pointer registers has been described in the present embodiment, even if the number of stack pointer registers is three or more, a plurality of stacks can be obtained by increasing the number of bits of a fixed value. Can not overlap each other. For example, when four stack pointer registers are provided, the lower 2 bits are "00", "01", "10", "11".
You can fix each to.

【0039】また、本実施例では1つのアドレス値で指
定される1つの記憶領域に対してのみ一度に読み書きで
きる場合について説明したが、1つのアドレス値で指定
される複数の記憶領域に対して一度に読み書きする場合
にも適用可能であって、その場合は固定するビットの位
置を、複数の記憶領域を区別するための下位以外の位置
に定めればよい。例えば、2個のスタックポインタレジ
スタを備え、1つのアドレス値で指定される4つの記憶
領域に対して一度に読み書きする場合、各スタックポイ
ンタレジスタの下位2ビットは、一度に読み書きする4
つの記憶領域の区別を示すビットであるため値を固定す
ることはできないので、最下位から3ビット目より上位
の位置のビットを固定値に設定する。
In this embodiment, the case has been described in which only one storage area specified by one address value can be read and written at a time, but a plurality of storage areas specified by one address value can be read and written. This is also applicable to the case of reading and writing at once, and in that case, the position of the fixed bit may be set to a position other than the lower order for distinguishing a plurality of storage areas. For example, when two stack pointer registers are provided and four storage areas specified by one address value are read / written at once, the lower 2 bits of each stack pointer register are read / written at once.
Since the value cannot be fixed because it is a bit indicating the distinction between the two storage areas, the bits at positions higher than the third bit from the least significant are set to fixed values.

【0040】図3は、n個のスタックポインタレジスタ
を備えた本発明装置の第3の実施例の要部構成を示すブ
ロック図である。図5に示す従来のデータ処理装置及び
第2の実施例と同一部分には同一符号を付してその説明
を省略する。本実施例では、8ビットのスタックポイン
タレジスタ11A,21A,…,n1Aの初期値は連続したアドレス
値“a+x-n+1 ”,“a+x-n+2 ”,…,“a+x ”に設定さ
れており、加減算回路12A,22A,n2A はそれぞれスタック
ポインタレジスタ11A,21A,n1A の保持値の全8ビットを
読み込み、この値に“n”を加減算してスタックポイン
タレジスタ11A,21A,n1A の保持値を更新する。
FIG. 3 is a block diagram showing a main configuration of a third embodiment of the device of the present invention having n stack pointer registers. The same parts as those of the conventional data processing apparatus and the second embodiment shown in FIG. 5 are designated by the same reference numerals and the description thereof will be omitted. In this embodiment, the initial values of the 8-bit stack pointer registers 11A, 21A, ..., N1A are consecutive address values "a + x-n + 1", "a + x-n + 2", ..., "a". is set to + x ”, and the adder / subtractor circuits 12A, 22A, n2A read all 8 bits of the value held in the stack pointer registers 11A, 21A, n1A, add / subtract“ n ”to this value, and add / subtract“ n ”to the stack pointer register 11A. Update the held value of, 21A, n1A.

【0041】即ち、各スタックポインタレジスタ11A,21
A,n1A はスタック領域201 の“n”おきのアドレス空間
を使用するように設定されるので、n個のスタック操作
において互いに使用するスタック領域は重なり合わな
い。
That is, each stack pointer register 11A, 21
Since A and n1A are set to use every "n" address space of the stack area 201, stack areas used for n stack operations do not overlap each other.

【0042】次に、動作について説明する。スタック操
作によるデータの読み出し/書き込みの動作は、更新時
に加減算する値が“n”である点以外は図5に示す従来
のデータ処理装置の動作と同様であるので説明を省略す
る。
Next, the operation will be described. The operation of reading / writing data by the stack operation is the same as the operation of the conventional data processing device shown in FIG. 5 except that the value to be added / subtracted at the time of updating is “n”, and therefore the description thereof is omitted.

【0043】図3に示すように、スタックポインタレジ
スタ11A 及び加減算回路12A を用いたスタック操作によ
るデータ書き込み時には、“S1-1”,“S1-2”,…,
“S1-n”のデータが“a+x-n+1 ”,“a+x-2n+1”,…,
“a”と“n”おきのアドレスに順次書き込まれて使用
中のスタック領域はスタック領域の上方に伸びていき、
スタックポインタレジスタ11A の保持値が“n”ずつ小
さくなっていく。
As shown in FIG. 3, when writing data by stack operation using the stack pointer register 11A and the adder / subtractor circuit 12A, "S1-1", "S1-2", ...,
The data of "S1-n" is "a + x-n + 1", "a + x-2n + 1", ...,
The stack area in use, which is sequentially written in the addresses of every "a" and "n", extends above the stack area.
The value held in the stack pointer register 11A becomes smaller by "n".

【0044】また、スタックポインタレジスタ11A 及び
加減算回路12A を用いたスタック操作によるデータ読み
出し時には、“S1-n”,…, “S1-2”,“S1-1”のデー
タは“a”,…, “a+x-2n+1”,“a+x-n+1 ”,…と
“n”おきのアドレスから順次読み出されて使用中のス
タック領域はスタック領域の下方に減じていき、スタッ
クポインタレジスタ11A の保持値が“n”ずつ大きくな
っていく。
When data is read by stack operation using the stack pointer register 11A and the addition / subtraction circuit 12A, the data of "S1-n", ..., "S1-2", "S1-1" are "a", ... , "A + x-2n + 1", "a + x-n + 1", ..., and the stack area in use, which is sequentially read from the address every "n", is reduced below the stack area. The value held in the stack pointer register 11A increases by "n".

【0045】他のスタックポインタレジスタ21A,…,n1A
及び加減算回路22A,…,n2Aを用いたスタック操作時の動
作は、スタックポインタレジスタ11A 及び加減算回路12
A を用いたスタック操作時と同様である。
Other stack pointer registers 21A, ..., n1A
, And the addition / subtraction circuit 22A, ..., N2A, the stack pointer register 11A and the addition / subtraction circuit 12
It is similar to the stack operation using A.

【0046】[0046]

【発明の効果】以上のように、第1の本発明装置は、ス
タック領域の上限のみならず下限を示すアドレス値とス
タックポインタ値とを、スタック操作によるデータの読
み出し/書き込みの都度、比較して一致した場合は読み
出し/書き込みを禁止するのでスタック領域以外の記憶
領域からのデータ読み出しによる記憶内容の破壊を防止
するという優れた効果を奏する。
As described above, the first device of the present invention compares the address value indicating not only the upper limit but also the lower limit of the stack area with the stack pointer value every time data is read / written by the stack operation. If they match with each other, read / write is prohibited, so that an excellent effect of preventing destruction of stored contents due to data reading from a storage area other than the stack area is achieved.

【0047】また、第2の本発明装置は、複数のスタッ
ク操作に使用される複数のスタックポインタ値の一部ビ
ットを互いに異なる値に固定してスタックポインタ値が
増減した場合にも同一値とならないようにしたので、複
数のスタック操作で使用する記憶領域が重なり合うこと
がなく、他のスタック操作による記憶内容の破壊を防止
するという優れた効果を奏する。
Further, the second device of the present invention fixes the same value even when some bits of the stack pointer values used for a plurality of stack operations are fixed to different values and the stack pointer value is increased or decreased. This prevents the storage areas used by a plurality of stack operations from overlapping and prevents the memory contents from being destroyed by another stack operation.

【0048】さらに、第3の本発明装置は、n個のスタ
ック操作に使用されるn個のスタックポインタ値を連続
したアドレス値に設定するとともに次の操作アドレスを
指示すべくスタックポインタ値に“n”を加減算するの
で、n個のスタック操作で使用する記憶領域が重なり合
うことがなく、他のスタック操作による記憶内容の破壊
を防止するという優れた効果を奏する。
Furthermore, the third device of the present invention sets n stack pointer values used for n stack operations to consecutive address values, and sets the stack pointer value to "next" to indicate the next operation address. Since "n" is added and subtracted, the storage areas used by n stack operations do not overlap, and the excellent effect of preventing the destruction of storage contents by other stack operations is achieved.

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

【図1】本発明装置の第1の実施例の要部構成を示すブ
ロック図である。
FIG. 1 is a block diagram showing a main configuration of a first embodiment of a device of the present invention.

【図2】本発明装置の第2の実施例の要部構成を示すブ
ロック図である。
FIG. 2 is a block diagram showing a main configuration of a second embodiment of the device of the present invention.

【図3】本発明装置の第3の実施例の要部構成を示すブ
ロック図である。
FIG. 3 is a block diagram showing a main configuration of a third embodiment of the device of the present invention.

【図4】従来のデータ処理装置の一例の要部構成を示す
ブロック図である。
FIG. 4 is a block diagram showing a main configuration of an example of a conventional data processing device.

【図5】従来のデータ処理装置の他の例の要部構成を示
すブロック図である。
FIG. 5 is a block diagram showing a main part configuration of another example of a conventional data processing device.

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

10A データ処理部 11A,21A,…,n1A スタックポインタレジスタ 12A,22A,…,n2A 加減算回路 16 ベースレジスタ 17 比較器 18 ORゲート 20 記憶領域 200 スタック領域 10A Data processing unit 11A, 21A, ..., n1A Stack pointer register 12A, 22A, ..., n2A Adder / subtractor circuit 16 Base register 17 Comparator 18 OR gate 20 Storage area 200 Stack area

─────────────────────────────────────────────────────
─────────────────────────────────────────────────── ───

【手続補正書】[Procedure amendment]

【提出日】平成4年11月4日[Submission date] November 4, 1992

【手続補正1】[Procedure Amendment 1]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】0013[Correction target item name] 0013

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【0013】図5のように、スタックポインタレジスタ
11B 及び加減算回路12B を用いたスタック操作でアドレ
スの大きい方から“S1-1”,“S1-2”,“S1-3”, …と
データが書き込まれる都度、スタック領域はアドレスが
小さい方の領域に伸びてスタックポインタレジスタ11B
の保持値が小さくなっていく。
As shown in FIG. 5, the stack pointer register
Each time data is written from the one with a larger address to "S1-1", "S1-2", "S1-3", ... by stack operation using 11B and adder / subtractor circuit 12B, the stack area is Extend to area Stack pointer register 11B
The holding value of becomes smaller.

【手続補正2】[Procedure Amendment 2]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】0017[Correction target item name] 0017

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【0017】[0017]

【発明が解決しようとする課題】従来のデータ処理装置
は以上のような構成であるので、先のデータ処理装置
は、書き込み時にスタック領域の最小アドレスを越えて
データを書き込まないようにスタックポイント限界レジ
スタを設けているが、書き込み時と逆にアドレスが大き
くなる方に操作が進行する読み出し時に、プログラムミ
ス等によりスタック領域を越えてデータを読み出した場
合はスタック領域を越えたことを検出できず、スタック
領域以外から読み出したデータを更新して元のアドレス
に書き込み、記憶内容を破壊してしまうという危険性が
ある。
Since the conventional data processing device has the above-mentioned configuration, the above-mentioned data processing device has a stack point limit so as not to write data beyond the minimum address of the stack area at the time of writing. Although a register is provided, when data is read beyond the stack area due to a program mistake, etc., when reading, the operation progresses toward the direction where the address becomes larger than when writing. , There is a risk that the data read from other than the stack area is updated and written to the original address, and the stored contents are destroyed.

【手続補正3】[Procedure 3]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】0039[Correction target item name] 0039

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【0039】また、本実施例では1つのアドレス値で指
定される1つの記憶領域に対してのみ一度に読み書きで
きる場合について説明したが、1つのアドレス値で指定
される複数の記憶領域に対して一度に読み書きする場合
にも適用可能であって、その場合は固定するビットの位
置を、複数の記憶領域を区別するための下位ビット以外
の位置に定めればよい。例えば、2個のスタックポイン
タレジスタを備え、1つのアドレス値で指定される4つ
の記憶領域に対して一度に読み書きする場合、各スタッ
クポインタレジスタの下位2ビットは、一度に読み書き
する4つの記憶領域の区別を示すビットであるため値を
固定することはできないので、最下位から3ビット目よ
り上位の位置のビットを固定値に設定する。
In this embodiment, the case has been described in which only one storage area specified by one address value can be read and written at a time, but a plurality of storage areas specified by one address value can be read and written. This is also applicable to the case of reading and writing at once, and in that case the position of the fixed bit may be set to a position other than the lower bit for distinguishing a plurality of storage areas. For example, when two stack pointer registers are provided and four storage areas specified by one address value are read / written at one time, the lower two bits of each stack pointer register are four storage areas to be read / written at one time. The value cannot be fixed because it is a bit indicating the distinction between the two. Therefore, the bits at positions higher than the third bit from the least significant bit are set to fixed values.

【手続補正4】[Procedure amendment 4]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】0046[Correction target item name] 0046

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【0046】[0046]

【発明の効果】以上のように、第1の本発明装置は、ス
タック領域の上限のみならず下限を示すアドレス値とス
タックポインタ値とを、スタック操作によるデータの読
み出し/書き込みの都度、比較して一致した場合は読み
出し/書き込みを禁止するのでスタック領域以外の記憶
領域からのデータ読み出し/書き込みによる記憶内容の
破壊を防止するという優れた効果を奏する。
As described above, the first device of the present invention compares the address value indicating not only the upper limit but also the lower limit of the stack area with the stack pointer value every time data is read / written by the stack operation. If they match with each other, reading / writing is prohibited, so that an excellent effect of preventing destruction of stored contents by reading / writing data from a storage area other than the stack area is achieved.

【手続補正5】[Procedure Amendment 5]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】0048[Correction target item name] 0048

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【0048】さらに、第3の本発明装置は、n個のスタ
ック操作に使用されるn個のスタックポインタ値の始点
を連続したアドレス値に設定するとともに次の操作アド
レスを指示すべくスタックポインタ値に“n”を加減算
するので、n個のスタック操作で使用する記憶領域が重
なり合うことがなく、他のスタック操作による記憶内容
の破壊を防止するという優れた効果を奏する。
Further, the third device of the present invention sets the starting points of the n stack pointer values used for n stack operations to consecutive address values and indicates the next operation address. Since "n" is added / subtracted to / from the stack pointer value as appropriate, the storage areas used for n stack operations do not overlap with each other, and the excellent effect of preventing the destruction of the storage contents by other stack operations is achieved.

【手続補正6】[Procedure correction 6]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】符号の説明[Correction target item name] Explanation of code

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【符号の説明】 10A データ処理部 11A,21A,…,n1A スタックポインタレジスタ 12A,22A,…,n2A 加減算回路 16 ベースレジスタ 17 比較器 18 ORゲート 20 記憶領域201 スタック領域[Description of symbols] 10A Data processing unit 11A, 21A, ..., n1A Stack pointer register 12A, 22A, ..., n2A Adder / subtractor circuit 16 Base register 17 Comparator 18 OR gate 20 Storage area 201 Stack area

───────────────────────────────────────────────────── フロントページの続き (72)発明者 畑 雅之 兵庫県伊丹市瑞原4丁目1番地 三菱電機 株式会社北伊丹製作所内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Masayuki Hata 4-chome, Mizuhara, Itami City, Hyogo Prefecture Mitsubishi Electric Corp. Kita Itami Works

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 スタック操作によるデータの読み出し/
書き込みを実行する際、スタックポインタ値に所定値を
加減算して次に操作すべきアドレスを指示するデータ処
理装置において、スタックとして使用可能なアドレス空
間の上限を示すアドレス値を保持する第1のレジスタ
と、該アドレス空間の下限を示すアドレス値を保持する
第2のレジスタと、スタックポインタ値と読み出し又は
書き込みの別に応じて第1又は第2のレジスタの保持値
とを比較する手段と、比較の結果に従って、データの読
み出し/書き込みを禁止する手段とを備えたことを特徴
とするデータ処理装置。
1. Data reading / reading by stack operation
A first register that holds an address value that indicates the upper limit of the address space that can be used as a stack in a data processing device that adds and subtracts a predetermined value to and from a stack pointer value when writing, and indicates an address to be operated next A second register for holding an address value indicating the lower limit of the address space, a means for comparing the stack pointer value and the held value of the first or second register depending on whether reading or writing, A data processing device comprising: means for prohibiting reading / writing of data according to a result.
【請求項2】 複数のスタックの選択的操作によるデー
タの読み出し/書き込みを行うとともに、各スタックに
対応するスタックポインタ値に所定値を加減算して次に
操作すべきアドレスを指示するデータ処理装置におい
て、前記スタックポインタ値の一部ビットが互いに他と
異なる値に固定されていることを特徴とするデータ処理
装置。
2. A data processing device for reading / writing data by selectively operating a plurality of stacks, and adding / subtracting a predetermined value to / from a stack pointer value corresponding to each stack to indicate an address to be operated next. A data processing device, wherein some bits of the stack pointer value are fixed to values different from each other.
【請求項3】 n個(nは2以上の自然数)のスタック
の選択的操作によるデータの読み出し/書き込みを行う
とともに、各スタックに対応するスタックポインタ値に
所定値を加減算して次に操作すべきアドレスを指示する
データ処理装置において、各スタックの使用可能領域の
始点を示すスタックポインタ値が連続するアドレス値に
設定されているとともに、前記所定値がnに設定されて
いることを特徴とするデータ処理装置。
3. Data reading / writing is performed by selective operation of n (n is a natural number of 2 or more) stacks, and a predetermined value is added / subtracted to / from a stack pointer value corresponding to each stack to be operated next. In the data processing device that indicates the address to be used, the stack pointer value indicating the start point of the usable area of each stack is set to consecutive address values, and the predetermined value is set to n. Data processing device.
JP17070392A 1992-06-29 1992-06-29 Data processor Pending JPH0619703A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17070392A JPH0619703A (en) 1992-06-29 1992-06-29 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17070392A JPH0619703A (en) 1992-06-29 1992-06-29 Data processor

Publications (1)

Publication Number Publication Date
JPH0619703A true JPH0619703A (en) 1994-01-28

Family

ID=15909835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17070392A Pending JPH0619703A (en) 1992-06-29 1992-06-29 Data processor

Country Status (1)

Country Link
JP (1) JPH0619703A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002229927A (en) * 2001-02-01 2002-08-16 Howa Mach Ltd Control program and input-output control method based on flag information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002229927A (en) * 2001-02-01 2002-08-16 Howa Mach Ltd Control program and input-output control method based on flag information

Similar Documents

Publication Publication Date Title
EP0213843B1 (en) Digital processor control
JPS61156445A (en) Tlb purge control system
JPH0619703A (en) Data processor
KR20010078371A (en) Privilege promotion based on check of previous privilege level
JPS62126448A (en) Memory control and protection system
JPH0355918B2 (en)
KR930003410B1 (en) Data processing apparatus having high-sped reference of stack data
JPS5958550A (en) Instruction fetch trap control system
JPS59129995A (en) Storage device
JP3278624B2 (en) Vector processing apparatus and maximum vector length control method
JPS6220034A (en) Program status word switching control system
JPH06187140A (en) Processor
JPS59121455A (en) Prefixing system
JPH03127126A (en) Information processor
JPH0427574B2 (en)
JPH01205340A (en) Data processor
JPS61269755A (en) Trouble processing system for microprogram control device
JPS62281040A (en) Page managing system
JPH01175053A (en) Segmentation system data processor
JPS6069751A (en) Control system for memory diversion of register for arithmetic
JPH01279343A (en) Main memory protection system for computer system
JPH0546581B2 (en)
JPH05314003A (en) Cache memory device
JPH01188946A (en) Instruction fetching system
JPH05197528A (en) Linking method and loading method for computer program