JPH0527975A - マイクロコンピユータ - Google Patents

マイクロコンピユータ

Info

Publication number
JPH0527975A
JPH0527975A JP3207631A JP20763191A JPH0527975A JP H0527975 A JPH0527975 A JP H0527975A JP 3207631 A JP3207631 A JP 3207631A JP 20763191 A JP20763191 A JP 20763191A JP H0527975 A JPH0527975 A JP H0527975A
Authority
JP
Japan
Prior art keywords
stack
stack area
data
pointer
stack pointer
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
JP3207631A
Other languages
English (en)
Inventor
Yuji Sasahara
裕司 笹原
Akiko Takemoto
明樹子 竹本
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 JP3207631A priority Critical patent/JPH0527975A/ja
Publication of JPH0527975A publication Critical patent/JPH0527975A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】 スタックにおけるサブルーチン等の変数の受
け渡しを容易にする。 【構成】 ハードウェア上のデータを格納するスタック
領域での場所を示すスタックポインタSP1と、ソフト
ウェア上で使用するデータを格納するスタック領域での
場所を示すスタックポインタSP2の2つの分離したス
タックポインタを持つ。 【効果】 Cコンパイラを使用しての関数呼出し時の、
変数の受け渡し部分のコンパイラ結果におけるオブジェ
クトコードが小さくなる。また、サブルーチンの構造
化,モジュール化が進む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、マイクロコンピュー
タに関し、特に、スタック操作におけるサブルーチン等
の変数の受け渡しを容易にするマイクロコンピュータに
関するものである。
【0002】
【従来の技術】従来のマイクロコンピュータでスタック
操作をする場合は、図2で示すような方法で行ってい
た。図2において、1〜3はスタック操作命令のステッ
プ、7はスタック領域、SP3はスタック領域内のデー
タ格納場所を示すスタックポインタであり、1〜3の命
令のステップを実行した場合のデータ及びスタックポイ
ンタの変化を示している
【0003】動作について説明すると、まず、第1ステ
ップのPUSH αを実行すると、スタック領域7に変
数の“α”が待避され、スタックポインタSP3が“0
000”から“0001”に変化する。次に、第2ステ
ップのPUSH βが実行されると、スタック領域7に
変数“β”が待避され、変数“α”の上に積まれる。そ
して、スタックポインタSP3は“0002”を示す。
次に、第3ステップの命令JSR SUBが実行されサ
ブルーチン(SUB)が呼出されると、サブルーチンの
戻り先番地のデータが変数“β”の上にさらに積まれ
て、スタックポインタSP3は最終的に“0003”を
示す。
【0004】
【発明が解決しようとする課題】従来のマイクロコンピ
ュータでは、スタックポインタの示すスタック領域にデ
ータが積まれていくので、呼出されたサブルーチン内で
変数α,βの値を使用すようとすると、現在のスタック
ポインタから、変数α,βのデータが格納されている番
地を計算によって求めなければならないという問題点が
っあた。このため、変数の受け渡しが容易ではなく、ま
たCコンバイラを使用しての、関数呼出し部分のコンパ
イラ結果のオブジェクトコードが大きくなる問題点もあ
った。
【0005】この発明は上記のような問題点を解消する
ためになされたもので、スタックによるサブルーチンへ
の変数の受け渡しが容易にでき、また、Cコンパイラを
使用しての関数呼出し部分のコンパイラ結果でのオブジ
ェクトコードが大きくならないマイクロコンピュータを
提供することにある。
【0006】
【課題を解決するための手段】この発明に係るマイクロ
コンピュータではメモリ上のスタック領域を第1のスタ
ック領域5と第2のスタック領域4とに分け、上記第1
のスタック領域におけるサブルーチンの戻り先等のハー
ドウェア上で使用されるデータが格納されている場所を
示す第1のスタックポインタSP1と、第2のスタック
領域における引き数等のソフトウェア上で使用されるデ
ータが格納されている場所を示す第2のスタックポイン
タSP2とを有する。
【0007】
【作用】この発明に係るマイクロコンピュータでは、メ
モリ上のスタック領域を2つの領域に分け、サブルーチ
ンの戻り先や割込みの戻り先等のハードウェアで使用す
るデータを、上記第1のスタックポインタの示す上記第
1のメモリ領域の場所に格納し、引き数等のソフトウェ
ア上で使用するデータを上記第2のスタックポインタの
示す上記第2のメモリ領域の場所に格納する。このよう
に、格納するデータの機能によって、そのデータの格納
する場所を分けた。
【0008】
【実施例】以下、この発明の実施例を図について説明す
る。図1はこの発明の一実施例におけるスタック領域及
びスタックポインタを示す図である。図1において、1
〜3は命令のステップ、4は第1のスタック領域として
のスタック領域、5は第2のスタック領域としてのスタ
ック領域、SP2は第2のスタックポインタとしてのス
タックポインタ、SP1は第1のスタックポインタとし
てのスタックポインタてあり、命令によるスタック領域
のデータの変化及びスタックポインタの変化を示してい
る。
【0009】メモリ上のスタック領域は二つのスタック
領域に分かれており、第1のスタック領域のスタック領
域5は、サブルーチンの戻り先(サブルーチンの戻り番
地),割込み先の戻り先(割込み先の番地)等のハード
ウェアで使用するデータをスタックポインタSP1の示
す場所に格納するスタックである。また、第2のスタッ
ク領域のスタック領域4は、引き数のソフトウェア上で
使用されるデータをスタックポインタSP2の示す場所
に格納するスタックである。
【0010】次に、図1を参照して、この実施例の動作
について説明する。命令が実行されない状態では、スタ
ック領域4のスタックポインタSP2は“0100”を
示している。第1のステップであるPUSH αの命令
が実行されると、スタックポインタSP2は“010
1”を示し、データ“α”がスタック領域4に待避され
る。次に、第2のステップであるPUSH βの命令が
実行されると、スタックポインタSP2は“0102”
を示し、データ“β”がスタック領域4に待避され、デ
ータ“α”の上に積まれる。
【0011】次に、第3のステップであるJSR SU
Bが命令が実行されると、この命令はサブルーチン(S
UB)を呼出す命令なので、別に設けられたスタック領
域5のスタックポインタSP1“0000”の示す場所
にサブルーチンの戻り先番地のデータを積み、スタック
ポインタSP1を“0001”とする。このように、ハ
ードウェア上のデータとソフトウェア上のデータを操作
する命令が交互に続く場合でも、スタックを機能別に分
けているため、変数の受け渡しがスムースになる。
【0012】なお、この実施例では、スタックを2つに
分けた例について説明したが、機能別に分けるスタック
の数及びスタックポインタの数は2つに限らず、さらに
増やすことも可能である。
【0013】
【発明の効果】以上のように、この発明によれば、メモ
リ上の第1のスタック領域のデータ格納場所を示す第1
のマイクロポインタと、メモリ上の第2のスタック領域
のデータ格納場所を示す第2のマイクロポインタとを有
するため、変数の受け渡しが容易にできるようになるた
め、サブルーチンの構造化,モジュール化が進み、ま
た、Cコンパイラを使用しての関数呼出し部分のコンパ
イラ結果におけるオブジェクトコードが、従来に比べ小
さくなる効果がある。
【図面の簡単な説明】
【図1】この発明の一実施例におけるスタック領域及び
スタックポインタを示す図である。
【図2】従来の技術の一例におけるスタック領域及びス
タックポインタを示す図である。
【符号の説明】
4,5 スタック領域 SP1,SP2 スタックポインタ
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成4年6月4日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0004
【補正方法】変更
【補正内容】
【0004】
【発明が解決しようとする課題】従来のマイクロコンピ
ュータでは、スタックポインタの示すスタック領域にデ
ータが積まれていくので、呼出されたサブルーチン内で
変数α,βの値を使用ようとすると、現在のスタック
ポインタから、変数α,βのデータが格納されている番
地を計算によって求めなければならないという問題点が
っあた。このため、変数の受け渡しが容易ではなく、ま
たCコンバイラを使用しての、関数呼出し部分のコンパ
イラ結果のオブジェクトコードが大きくなる問題点もあ
った。

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 メモリ上のスタック領域を第1のスタッ
    ク領域と第2のスタック領域とに分け、第1のスタック
    領域におけるサブルーチンの戻り先等のハードウェア上
    で使用されるデータが格納されている場所を示す第1の
    スタックポインタと、第2のスタック領域における引き
    数等のソフトウェア上で使用されるデータが格納されて
    いる場所を示す第2のスタックポインタとを有すること
    を特徴とするマイクロコンピュータ。
JP3207631A 1991-07-24 1991-07-24 マイクロコンピユータ Pending JPH0527975A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3207631A JPH0527975A (ja) 1991-07-24 1991-07-24 マイクロコンピユータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3207631A JPH0527975A (ja) 1991-07-24 1991-07-24 マイクロコンピユータ

Publications (1)

Publication Number Publication Date
JPH0527975A true JPH0527975A (ja) 1993-02-05

Family

ID=16542996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3207631A Pending JPH0527975A (ja) 1991-07-24 1991-07-24 マイクロコンピユータ

Country Status (1)

Country Link
JP (1) JPH0527975A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511993A (en) * 1993-08-25 1996-04-30 Yazaki Corporation Connector shield wire connection structure
US6568967B2 (en) 2000-07-06 2003-05-27 Yazaki Corporation Protective cover
US7787479B2 (en) * 2005-04-28 2010-08-31 Fujitsu Ten Limited Gateway apparatus and routing method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511993A (en) * 1993-08-25 1996-04-30 Yazaki Corporation Connector shield wire connection structure
US6568967B2 (en) 2000-07-06 2003-05-27 Yazaki Corporation Protective cover
US7787479B2 (en) * 2005-04-28 2010-08-31 Fujitsu Ten Limited Gateway apparatus and routing method

Similar Documents

Publication Publication Date Title
EP0487082B1 (en) Nesting management mechanism for use in loop control system
EP0538817B1 (en) High-speed processor capable of handling multiple interrupts
EP0087978B1 (en) Information processing unit
JP2883784B2 (ja) マイクロコンピュータ
US5261101A (en) Method for calling and returning from subroutine that is invoked by either a near call or a far call
US6138210A (en) Multi-stack memory architecture
US4942524A (en) Software trap system which saves previous content of software trap handling pointer in a stack upon execution of a trap
JPH0527975A (ja) マイクロコンピユータ
US6058457A (en) Method for storing method frames in multiple stacks
EP0240108A2 (en) A data processing system
US6067602A (en) Multi-stack-caching memory architecture
EP0417916B1 (en) Procedure state descriptor system for digital data processors
US6092152A (en) Method for stack-caching method frames
US5765148A (en) Database processing apparatus and database processing method for variable length objects, and computer-readable memory medium for storing database processing program
JP3539984B2 (ja) プロセッサ
JPS62151940A (ja) レジスタ退避/復帰方式
JPH07129399A (ja) 命令属性レジスターを使用して多機能命令を実行する マイクロコンピュータ
JP2500804B2 (ja) 計算機
JPH0324695B2 (ja)
JPS61216035A (ja) アドレス・スタツクのオ−バ−フロ−処理方法
JPH05274144A (ja) 情報処理装置
JPS58197548A (ja) スタツク制御方式
JPH03163630A (ja) プロセッサのスタック制御方法
JPS61100836A (ja) 移動命令論理比較命令処理方式
JPH083792B2 (ja) 関数呼び出し処理方法