JP2002132528A - Microcomputer and initializing method of free memory area/stack release area - Google Patents

Microcomputer and initializing method of free memory area/stack release area

Info

Publication number
JP2002132528A
JP2002132528A JP2000326819A JP2000326819A JP2002132528A JP 2002132528 A JP2002132528 A JP 2002132528A JP 2000326819 A JP2000326819 A JP 2000326819A JP 2000326819 A JP2000326819 A JP 2000326819A JP 2002132528 A JP2002132528 A JP 2002132528A
Authority
JP
Japan
Prior art keywords
stack
register
area
program
initial value
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.)
Granted
Application number
JP2000326819A
Other languages
Japanese (ja)
Other versions
JP4996008B2 (en
Inventor
Hiroyuki Kawaguchi
裕之 川口
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2000326819A priority Critical patent/JP4996008B2/en
Publication of JP2002132528A publication Critical patent/JP2002132528A/en
Application granted granted Critical
Publication of JP4996008B2 publication Critical patent/JP4996008B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)

Abstract

PROBLEM TO BE SOLVED: To prevent malfunctions and runaways with storing a predetermined initial value data even into the released stack area, that stack area is address- specified by a stack pointer, after a performing of stack operation, and with keeping the stack area within an expected operation range even if a free memory area including the released stack area is accessed irregularly. SOLUTION: In a microcomputer, a stack release detecting circuit to detect changes of the pointer by a pop stack operation is equipped, a present value of a program counter is saved into a program counter back up register, and a value which is set in a register of stack release interruption address is branched to a starting address of initializing routine for stack release area, after storing the predetermined initial value data into the released stack area, a return command of stack release interruption is performed and the value stored in the back up register is transferred to the program counter to return to a main program.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、マイクロコンピュ
ータ・システムに関して、特に、スタック解放領域の初
期化処理が容易に実行可能なマイクロコンピュータ、及
び、空きメモリ領域/スタック解放領域の初期化方法に
関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a microcomputer system, and more particularly, to a microcomputer capable of easily executing a process of initializing a stack release area, and a method of initializing a free memory area / stack release area.

【0002】[0002]

【従来の技術】マイクロコンピュータでプログラムを実
行するとき、サブルーチン・コール命令実行時や割り込
み処理発生時に、元のプログラムへの戻り番地を格納し
たり、所定のレジスタに格納されたデータを一時的に格
納したりするスタック領域を、前記マイクロコンピュー
タの空きメモリ領域に設定して、前記のようなスタック
動作処理を実行するようにし、また、このスタック領域
に該当データを格納するプッシュ・スタック動作時や、
スタック領域から該当データを読み出して元に戻すポッ
プ・スタック動作時には、スタック・ポインタによりア
ドレス指定するメモリ領域に対して、前記のスタック動
作処理を実行するように構成したマイクロコンピュータ
が一般的である。
2. Description of the Related Art When a program is executed by a microcomputer, a return address to the original program is stored when a subroutine call instruction is executed or an interrupt occurs, or data stored in a predetermined register is temporarily stored. A stack area to be stored is set as a free memory area of the microcomputer so as to execute the stack operation processing as described above. ,
Generally, a microcomputer configured to execute the above-described stack operation processing on a memory area specified by a stack pointer at the time of a pop stack operation in which data is read from the stack area and restored to the original state.

【0003】このマイクロコンピュータの空きメモリ領
域が不正にアクセスされて、誤動作したり、プログラム
が暴走したりすることを防ぐために、前記の空きメモリ
領域に所定の初期値データを格納する初期化処理を実行
することにより、不正にこの空きメモリ領域がアクセス
されても、予期した動作範囲になるようにして、誤動作
やプログラムが暴走しないようにすることが、従来、提
案されている。
In order to prevent a vacant memory area of the microcomputer from being illegally accessed and causing a malfunction or a program runaway, an initialization process for storing predetermined initial value data in the vacant memory area is performed. Conventionally, it has been proposed that even if the free memory area is illegally accessed by executing the program, an expected operation range is set so that a malfunction or a program runaway does not occur.

【0004】例えば、特開昭63−233452号公報
には、メモリの未使用領域(空き領域)に、特定のアド
レスに分岐するコマンド・コード・データを初期化処理
により初期設定して、誤って前記の未使用領域のアドレ
スをアクセスしたときには、前記の特定アドレスに分岐
するコマンド・コード・データを実行することにより、
例えば0番地に分岐するようにしてプログラムの暴走を
防止するようにした例が記載されている。
For example, Japanese Unexamined Patent Application Publication No. 63-233452 discloses that, in an unused area (empty area) of a memory, a command code data branching to a specific address is initialized by an initialization process and erroneously set. When accessing the address of the unused area, by executing command code data branching to the specific address,
For example, an example is described in which the program branches out to address 0 to prevent runaway of the program.

【0005】また、特開平04−182836号公報に
は、メモリのワークエリア領域を特定のパタンで初期化
しておき、プログラムがこのワークエリア領域を参照し
たときに、参照したデータと前記初期設定した特定パタ
ン・データとを比較して、データが同じときには、不定
値参照とみなしてエラー報告するようにして、プログラ
ムの誤動作を防止するようにした例が記載されている。
In Japanese Patent Application Laid-Open No. 04-182836, a work area area of a memory is initialized with a specific pattern, and when a program refers to this work area area, the referenced data and the initial setting are set. An example is described in which specific pattern data is compared, and when the data is the same, an error report is regarded as an undefined value reference to prevent a malfunction of the program.

【0006】[0006]

【発明が解決しようとする課題】前述した従来技術にお
いては、該当の空きメモリ領域に所定の初期値データを
格納する初期化処理を実行したあとに、前記空きメモリ
領域の任意の領域にスタック領域を設定して、スタック
動作処理を実行し、その後に前記スタック領域を解放し
たとき、前記解放されたスタック領域には、初期化処理
により格納した所定の初期値データとは異なるデータが
残されたままとなり、プログラムによりこの解放後のス
タック領域が不正にアクセスされたときには、初期化処
理を実行したにも拘わらず、初期値データとは異なるデ
ータがアクセスされて、その後の動作が不定となり、誤
動作やプログラムの暴走の原因となる可能性があった。
In the above-described prior art, after performing an initialization process for storing predetermined initial value data in a corresponding free memory area, a stack area is stored in an arbitrary area of the free memory area. When the stack operation processing is executed and the stack area is subsequently released, data different from the predetermined initial value data stored by the initialization processing is left in the released stack area. When the stack area after this release is illegally accessed by the program, data different from the initial value data is accessed despite the execution of the initialization processing, and the subsequent operation becomes undefined and malfunctions. Or cause a program runaway.

【0007】本発明は、このスタック領域解放後の空き
メモリ領域にも、常に、所定の初期値データを格納する
ようにすることが容易に実行可能なマイクロコンピュー
タを提案するとともに、空きメモリ領域の初期化方法
と、及び、スタック領域解放後の空きメモリ領域にも、
常に初期値データを格納するようにしたプログラムを作
成するマイクロコンピュータのプログラミング方法と、
及び、空きメモリ領域/スタック解放領域の初期化方法
とを提案するものである。
The present invention proposes a microcomputer capable of easily storing predetermined initial value data in the free memory area after the stack area is released, and also provides a microcomputer which can easily execute the free memory area. In the initialization method, and also in the free memory area after releasing the stack area,
A microcomputer programming method for creating a program that always stores initial value data,
And a method of initializing a free memory area / stack release area.

【0008】[0008]

【課題を解決するための手段】前記課題を解決するた
め、本発明のマイクロコンピュータは、サブルーチン・
コール命令実行時や、割り込み処理発生時には、主プロ
グラムへの戻り番地をスタック・メモリ領域に格納した
り、あるいは、所定のレジスタのデータを一時的に退避
するプッシュ・レジスタ命令実行時には、そのレジスタ
・データをスタック・メモリ領域に格納するなどのプッ
シュ・スタック動作と、サブルーチン・リターン命令実
行時や、割り込みリターン命令実行時には、前記スタッ
ク・メモリ領域からデータを読み出して、主プログラム
への戻り番地をプログラム・カウンタに回復したり、あ
るいは、一時的に退避したデータを元のレジスタに回復
させるポップ・レジスタ命令実行時には、前記スタック
・メモリ領域からデータを読み出して、元のレジスタに
回復するなどのポップ・スタック動作とを、スタック・
ポインタでアドレス指定されるスタック・メモリに対し
て実行するようにしたマイクロコンピュータにおいて、
前記マイクロコンピュータは、前記ポップ・スタック動
作時に、スタック・ポインタをインクリメント(また
は、ディクリメント)する信号を検出してスタック解放
信号を生成するスタック解放検出回路と、前記スタック
解放信号を受けて、その時点のプログラム・カウンタ値
をプログラム・カウンタ・バックアップ・レジスタに格
納し、スタック解放割り込みアドレス・レジスタに予め
設定した割り込みアドレスを、プログラム・カウンタに
セットして、スタック解放領域に所定の初期値データを
格納処理するスタック解放領域初期化ルーチンを起動す
るスタック割り込み回路とを有し、前記スタック解放領
域初期化ルーチン終了時に実行するスタック解放割り込
みリターン命令実行時には、前記プログラム・カウンタ
・バックアップ・レジスタから主プログラムへの戻り番
地を読み出し、プログラム・カウンタに転送して主プロ
グラムに復帰するようにしたことを特徴とする。
In order to solve the above problems, a microcomputer according to the present invention comprises a subroutine
When a call instruction is executed or interrupt processing occurs, the return address to the main program is stored in the stack memory area, or when a push register instruction that temporarily saves data in a predetermined register is executed, the register During push stack operations such as storing data in the stack memory area, and when executing a subroutine return instruction or executing an interrupt return instruction, the data is read from the stack memory area and the return address to the main program is programmed. When executing a pop register instruction for restoring data to the counter or restoring temporarily saved data to the original register, popping such as reading data from the stack memory area and restoring to the original register is performed. Stack operation and stack operation
A microcomputer adapted to execute on a stack memory addressed by a pointer,
The microcomputer detects a signal for incrementing (or decrementing) a stack pointer to generate a stack release signal during the pop stack operation, and receives the stack release signal. The program counter value at that time is stored in the program counter backup register, the interrupt address set in advance in the stack release interrupt address register is set in the program counter, and the predetermined initial value data is stored in the stack release area. A stack interrupt circuit for activating a stack release area initialization routine for performing storage processing. When the stack release interrupt return instruction executed at the end of the stack release area initialization routine is executed, the program counter backup It reads the return address to the main program from Staphylococcus, characterized in that so as to return to the main program is transferred to the program counter.

【0009】また、本発明の空きメモリ領域の初期化方
法は、前記のマイクロコンピュータにおいて、任意のレ
ジスタに所定の初期値データを設定して初期値レジスタ
とする第1のステップと、前記スタック・ポインタに、
イニシャライズする空きメモリ領域の境界アドレスを設
定する第2のステップと、前記初期値レジスタに格納さ
れたデータをスタック・メモリに退避処理するプッシュ
・レジスタ命令を、前記の空きメモリ領域のアドレス数
分だけ繰り返し実行する第3のステップとを実行するこ
とにより、前記初期値レジスタに設定した所定の初期値
データを、前記空きメモリ領域に格納するイニシャライ
ズ処理を行うようにしたことを特徴とする。
Further, in the method for initializing a free memory area according to the present invention, in the microcomputer described above, a first step of setting predetermined initial value data in an arbitrary register to be an initial value register; For pointers,
A second step of setting a boundary address of a free memory area to be initialized, and a push register instruction for saving data stored in the initial value register to a stack memory by the number of addresses of the free memory area. By executing the third step which is repeatedly executed, an initialization process for storing predetermined initial value data set in the initial value register in the free memory area is performed.

【0010】また、前記のイニシャライズ処理におい
て、前記初期値レジスタに設定する所定の初期値データ
を、ノー・オペレーション命令のコード・データとす
る、あるいは、前記初期値レジスタに設定する所定の初
期値データを、所定のアドレスに分岐する分岐命令のコ
ード・データとする、あるいは、各ビットが全て0、ま
たは、各ビットが全て1のデータとすることを特徴とす
る。
In the initialization processing, the predetermined initial value data set in the initial value register may be code data of a no operation instruction, or the predetermined initial value data set in the initial value register may be used. Is code data of a branch instruction for branching to a predetermined address, or each bit is all 0s, or each bit is 1s.

【0011】さらに、本発明のマイクロコンピュータの
プログラミング方法は、前記スタック解放割り込み回路
により起動される前記スタック解放領域初期化ルーチン
が、所定の初期値データを任意のレジスタに設定する第
4のステップと、割り込み直前に実行完了したポップ・
スタック動作により解放されたスタック領域に、前記レ
ジスタに格納した所定の初期値データを格納するプッシ
ュ・レジスタ命令を実行する第5のステップと、前記の
プッシュ・レジスタ命令に対応するポップ・レジスタ命
令を実行して、スタック・ポインタの値をこのスタック
解放領域初期化ルーチンを起動する直前の値に戻す第6
のステップと、スタック解放割り込みリターン命令を実
行して、前記プログラム・カウンタ・バックアップ・レ
ジスタの値をプログラム・カウンタに復帰する第7のス
テップとを含むように構成し、前記マイクロコンピュー
タで実行するプログラムを作成するときには、前記の空
きメモリ領域の初期化方法の手順を実行するイニシャラ
イズ処理ルーチンを該プログラムの最初に実行する部分
に配置し、前記第4ステップから第7ステップを含むよ
うに構成したスタック解放領域初期化ルーチンを、前記
のスタック解放割り込みアドレス・レジスタに設定する
アドレス値で指定するメモリ位置に配置するようにし
て、該プログラムを作成するようにプログラミングする
ことを特徴とする。
Further, in the microcomputer programming method according to the present invention, the stack release area initialization routine started by the stack release interrupt circuit sets a predetermined initial value data in an arbitrary register. The pop completed immediately before the interrupt
A fifth step of executing a push register instruction for storing predetermined initial value data stored in the register in the stack area released by the stack operation; and a pop register instruction corresponding to the push register instruction. To return the value of the stack pointer to the value immediately before activating this stack release area initialization routine.
And a seventh step of executing a stack release interrupt return instruction to return the value of the program counter backup register to a program counter, and executing the program by the microcomputer. When the program is created, an initialization processing routine for executing the procedure of the method for initializing the free memory area is arranged in a portion where the program is first executed, and the stack is configured to include the fourth to seventh steps. It is characterized in that the release area initialization routine is located at a memory location specified by the address value set in the stack release interrupt address register, and is programmed to create the program.

【0012】また、前記第4のステップで任意のレジス
タに設定する初期値データを、所定のアドレスに分岐す
る分岐命令のコード・データとするようにしてもよい。
Further, the initial value data set in an arbitrary register in the fourth step may be code data of a branch instruction for branching to a predetermined address.

【0013】また、このマイクロコンピュータのプログ
ラミング方法で作成したプログラムを記録媒体に格納し
て、情報処理システムで利用可能にした。
Further, the program created by the microcomputer programming method is stored in a recording medium and can be used in an information processing system.

【0014】あるいは、本発明のコンパイラは、このマ
イクロコンピュータで実行するように作成された任意の
ソースプログラムから、前記のマイクロコンピュータの
プログラミング方法に従って作成したプログラムを生成
するようにした。そして、このコンパイラで生成したプ
ログラムを記録媒体に格納して、情報処理システムで利
用可能にした。
Alternatively, the compiler of the present invention generates a program created according to the microcomputer programming method from an arbitrary source program created to be executed by the microcomputer. Then, the program generated by the compiler was stored in a recording medium, and was made usable in an information processing system.

【0015】また、前記のマイクロコンピュータのプロ
グラミング方法で作成したプログラム、あるいは、前記
のコンパイラで生成したプログラムを実行することによ
り、空きメモリ領域/スタック解放領域を初期化するよ
うにした。
Further, a free memory area / stack release area is initialized by executing a program created by the microcomputer programming method or a program created by the compiler.

【0016】[0016]

【発明の実施の形態】本発明の実施の形態について、以
下に図面を参照して説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0017】図1は、本発明のマイクロコンピュータの
要部の構成及び本発明の空きメモリ領域/スタック解放
領域の初期化方法を説明するための模式図である。図1
において、本発明のマイクロコンピュータ1は、プッシ
ュ/ポップのスタック動作をするときのアドレスを指定
するスタック・ポインタ2と、プッシュ/ポップ・スタ
ック動作時に前記スタック・ポインタをディクリメント
/インクリメントする信号30/31を生成する命令デ
コーダ&タイミング発生回路3と、プログラム・カウン
タ4と、前記信号30/31の中で、ポップ・スタック
動作時に生成される信号31を検出して、スタック解放
信号51を生成するスタック解放検出回路5と、前記ス
タック解放信号51を受けて、スタック解放割り込みを
発生するスタック割り込み回路6と、汎用レジスタ9と
を備え、前記スタック解放割り込み回路6は、スタック
解放割り込みが発生した時点での前記プログラム・カウ
ンタ4の値を格納するプログラム・カウンタ・バックア
ップ・レジスタ7と、前記プログラム・カウンタ・バッ
クアップ・レジスタ7に、プログラム・カウンタ4の値
を格納した後、予め設定するスタック解放割り込み処理
ルーチンの起動アドレスを格納し、プログラム・カウン
タ4に前記のスタック解放割り込み処理ルーチンの起動
アドレスを供給するスタック解放割り込みアドレス・レ
ジスタ8とを備えるようにしている。
FIG. 1 is a schematic diagram for explaining a configuration of a main part of a microcomputer according to the present invention and a method for initializing a free memory area / stack release area according to the present invention. FIG.
In the microcomputer 1 of the present invention, a stack pointer 2 for designating an address when performing a push / pop stack operation and a signal 30 / for decrementing / incrementing the stack pointer during a push / pop stack operation An instruction decoder & timing generating circuit 3 for generating the signal 31, a program counter 4, and a signal 31 generated during the pop stack operation are detected from the signals 30/31 to generate a stack release signal 51. A stack release detecting circuit 5, a stack interrupt circuit 6 for generating a stack release interrupt in response to the stack release signal 51, and a general-purpose register 9 are provided at the time when the stack release interrupt is generated. Stores the value of the program counter 4 at After storing the value of the program counter 4 in the program counter backup register 7 and the program counter backup register 7, the start address of the stack release interrupt processing routine set in advance is stored. The stack 4 is provided with a stack release interrupt address register 8 for supplying a start address of the stack release interrupt processing routine to the counter 4.

【0018】また、本発明のマイクロコンピュータ1
は、前記スタック解放割り込み処理から、元の主プログ
ラムに復帰するためのスタック解放割り込みリターン命
令(RETSPI命令)を備えるようにしている。この
スタック解放割り込みリターン命令は、前記プログラム
・カウンタ・バックアップ・レジスタ7に格納している
値を、プログラム・カウンタ4に戻すという動作を実行
する命令である。
Further, the microcomputer 1 of the present invention
Is provided with a stack release interrupt return instruction (RETSPI instruction) for returning to the original main program from the stack release interrupt processing. This stack release interrupt return instruction is an instruction for executing an operation of returning the value stored in the program counter backup register 7 to the program counter 4.

【0019】図2は、本発明の空きメモリ領域を初期化
するイニシャライズ処理の手順を説明するフローチャー
トである。図2のフローチャートに示すように、前記の
空きメモリ領域イニシャライズ処理の手順は、本発明の
マイクロコンピュータ1の任意のレジスタ9に所定の初
期値データを設定して初期値レジスタとする第1のステ
ップ201と、前記スタック・ポインタ2に、イニシャ
ライズする空きメモリ領域の境界アドレスを設定する第
2のステップ202と、前記初期値レジスタに格納され
たデータをスタック・メモリに退避処理するプッシュ・
レジスタ命令を、前記の空きメモリ領域のアドレス数分
だけ繰り返し実行する第3のステップ203とを実行す
るようにして構成している。この手順を実行することに
より、前記初期値レジスタに設定した所定の初期値デー
タを、前記空きメモリ領域に格納するイニシャライズ処
理を行った後は、分岐命令などにより、主プログラムに
戻るようにする。
FIG. 2 is a flowchart illustrating the procedure of an initialization process for initializing a free memory area according to the present invention. As shown in the flowchart of FIG. 2, the procedure of the free memory area initializing process is a first step in which predetermined initial value data is set in an arbitrary register 9 of the microcomputer 1 of the present invention and is set as an initial value register. 201, a second step 202 for setting a boundary address of a free memory area to be initialized in the stack pointer 2, and a push-button for saving the data stored in the initial value register to the stack memory.
And a third step 203 of repeatedly executing the register instruction by the number of addresses of the free memory area. By executing this procedure, after performing the initialization processing for storing the predetermined initial value data set in the initial value register in the free memory area, the program returns to the main program by a branch instruction or the like.

【0020】また、前記のイニシャライズ処理におい
て、前記初期値レジスタに設定する所定の初期値データ
を、ノー・オペレーション命令のコード・データとす
る、あるいは、前記初期値レジスタに設定する所定の初
期値データを、所定のアドレスに分岐する分岐命令のコ
ード・データとする、あるいは、各ビットの全てが0、
または、各ビットの全てが1であるデータとするように
してもよい。
In the initialization processing, the predetermined initial value data set in the initial value register may be used as code data of a no operation instruction, or the predetermined initial value data set in the initial value register may be used. Is the code data of the branch instruction for branching to a predetermined address, or all the bits are 0,
Alternatively, data in which all the bits are 1 may be used.

【0021】例えば、初期値データとして、各ビットが
全て0、または、各ビットが全て1であるようなデータ
を設定するようにした場合には、不正に該当の空きメモ
リ領域がアクセスされて、アドレス情報としてこの初期
値データが使用されるようなアプリケーションにおいて
は、ブレーク・ポイント・アドレスを0番地、あるい
は、全てのビットが1である番地に指定するようにして
おくことにより、不正に空きメモリ領域がアクセスされ
たときには、一旦、プログラムの実行をブレークして、
不正アクセスに対処することが可能となる。
For example, if the data in which each bit is all 0s or all the bits are 1s is set as the initial value data, the corresponding free memory area is illegally accessed, In an application in which this initial value data is used as address information, the break point address is designated to address 0 or an address in which all bits are 1 so that the free memory is illegally used. When the area is accessed, break the program execution once,
It is possible to deal with unauthorized access.

【0022】図3は、スタック解放割り込み処理として
実行する、スタック解放領域初期化ルーチンの処理手順
を説明するフローチャートである。前記スタック解放領
域初期化ルーチンの処理手順は、所定のアドレスに分岐
する分岐命令のコード・データを任意のレジスタに設定
する第4のステップ304と、スタック解放割り込み直
前に実行完了したポップ・スタック動作により解放され
たスタック領域に、前記レジスタに格納した所定アドレ
スに分岐する分岐命令のコード・データを格納するプッ
シュ・レジスタ命令を実行する第5のステップ305
と、前記のプッシュ・レジスタ命令に対応するポップ・
レジスタ命令を実行して、スタック・ポインタの値をこ
のスタック解放領域初期化ルーチンを起動する直前の値
に戻す第6のステップ306と、スタック解放割り込み
リターン命令(RETSPI命令)を実行して、前記プ
ログラム・カウンタ・バックアップ・レジスタ7の値を
プログラム・カウンタ4に復帰する第7のステップ30
7とを含むように構成している。
FIG. 3 is a flowchart for explaining a processing procedure of a stack release area initialization routine executed as stack release interrupt processing. The processing procedure of the stack release area initialization routine includes a fourth step 304 of setting code data of a branch instruction branching to a predetermined address to an arbitrary register, and a pop stack operation completed just before the stack release interrupt. A fifth step 305 of executing a push register instruction for storing code data of a branch instruction for branching to a predetermined address stored in the register in the stack area released by the above.
And a pop register corresponding to the above push register instruction.
A sixth step 306 of executing a register instruction to return the value of the stack pointer to the value immediately before starting the stack release area initialization routine, and executing a stack release interrupt return instruction (RETSPI instruction) Seventh step 30 for restoring the value of program counter backup register 7 to program counter 4
7 are included.

【0023】図4は、本発明のマイクロコンピュータの
プログラミング方法によりプログラムを作成する手順を
説明するフローチャートである。まず、本発明のマイク
ロコンピュータで実行する主プログラムを作成した後
に、図2を参照して説明した前記の空きメモリ領域イニ
シャライズ処理ルーチンを、該主プログラムの最初に実
行する部分に挿入・追加するステップ401と、図3を
参照して説明した前記のスタック解放領域初期化ルーチ
ンを配置するアドレス値を前記スタック割り込みアドレ
ス・レジスタ8に設定する命令を前記主プログラムに挿
入・追加するステップ402と、前記のスタック解放領
域初期化ルーチンを、前記のスタック解放割り込みアド
レス・レジスタ8に設定するアドレス値で指定するメモ
リ位置に配置するように挿入・追加するステップ403
と、以上のステップにより、該主プログラムを完成する
ようにしている。
FIG. 4 is a flowchart for explaining the procedure for creating a program by the microcomputer programming method of the present invention. First, after creating a main program to be executed by the microcomputer of the present invention, inserting and adding the free memory area initialization processing routine described above with reference to FIG. 2 to a portion of the main program to be executed first. 401, a step 402 of inserting and adding to the main program an instruction for setting the address value for allocating the stack release area initialization routine described in FIG. 3 in the stack interrupt address register 8; Step 403 of inserting and adding the stack release area initialization routine so as to be located at the memory location specified by the address value set in the stack release interrupt address register 8.
With the above steps, the main program is completed.

【0024】図5は、本発明のコンパイラの処理手順を
説明するフローチャートである。本発明のコンパイラ
は、主プログラムであるソースプログラムを読み込むス
テップ501と、空きメモリ領域のイニシャライズ処理
ルーチンを、前記ソースプログラムの最初に実行する部
分に挿入・追加するステップ502と、スタック解放割
り込みアドレス値を、スタック解放割り込みアドレス・
レジスタに設定する命令を前記ソースプログラムの最初
に実行する部分に挿入・追加するステップ503と、ス
タック解放領域初期化ルーチンを、前記のスタック解放
割り込みアドレス・レジスタに設定したアドレス値で指
定される位置に挿入・追加するステップ504と、空き
メモリ領域イニシャライズ処理ルーチンと、スタック解
放領域初期化ルーチンとをソースプログラムに付加した
ソースプログラムを完成するステップ505と、前記の
完成したソースプログラムをコンパイル処理して、目的
のプログラムを生成するステップ506とを実行するよ
うにしている。
FIG. 5 is a flowchart for explaining the processing procedure of the compiler of the present invention. The compiler according to the present invention includes a step 501 for reading a source program which is a main program, a step 502 for inserting / adding a processing routine for initializing a free memory area to a portion to be executed first of the source program, and a stack release interrupt address value. Is the stack release interrupt address
Step 503 of inserting / adding an instruction to be set in a register to the first part of the source program to be executed, and setting a stack release area initialization routine to a position specified by the address value set in the stack release interrupt address register. Step 504 of inserting / adding to the source program, a step 505 of completing the source program by adding a free memory area initialization processing routine and a stack release area initialization routine to the source program, and compiling the completed source program. And step 506 for generating a target program.

【0025】図6は、前記のプログラミング方法、ある
いは、前記のコンパイラにより作成したプログラムをメ
モリ10に格納したメモリ・マップを例示した図であ
る。図6に示すように、メモリ領域は大きくプログラム
領域と、空きメモリ領域とに区分される。スタック領域
は、通常、空きメモリ領域に設けるようにしている。そ
して、このスタック領域は、プログラムの実行に伴っ
て、スタック領域の使用と解放が繰り返し実行される。
FIG. 6 is a diagram exemplifying a memory map in which the above-mentioned programming method or a program created by the above-mentioned compiler is stored in the memory 10. As shown in FIG. 6, the memory area is largely divided into a program area and a free memory area. The stack area is usually provided in a free memory area. Then, in the stack area, the use and release of the stack area are repeatedly executed as the program is executed.

【0026】従来は、スタック解放後のスタック領域に
は、それ以前にスタックしたデータがそのまま残ってい
たが、本発明の空きメモリ領域/スタック解放領域の初
期化方法は、このスタック解放後のスタック領域に、所
定の初期値を常に書き込む構成にすることにより、空き
メモリ領域を常に所定の初期値で満たすようにするもの
である。
Conventionally, previously stacked data remains in the stack area after the stack is released. However, the method of initializing the free memory area / stack release area according to the present invention uses the stack after the stack release. The configuration is such that a predetermined initial value is always written in the area, so that the empty memory area is always filled with the predetermined initial value.

【0027】次に、本発明の空きメモリ領域/スタック
解放領域の初期化方法について、図1を参照してその動
作を説明する。
Next, the operation of the method for initializing a free memory area / stack release area according to the present invention will be described with reference to FIG.

【0028】通常、プッシュ・スタック動作を実行する
ときには、まずスタック・ポインタをディクリメントし
て、ディクリメント後のスタック・ポインタの値でアド
レス指定されるメモリ領域(スタック領域)に、所用の
データが退避・格納される。そして、ポップ・スタック
動作により退避・格納したデータを回復するときには、
現スタック・ポインタでアドレス指定されるスタック領
域からデータを読み出して元に戻し、その後、スタック
・ポインタをインクリメントするという動作を行う。
Normally, when the push stack operation is performed, first, the stack pointer is decremented, and the required data is stored in the memory area (stack area) addressed by the value of the decremented stack pointer. Saved and stored. Then, when recovering the data saved / stored by the pop / stack operation,
Data is read from the stack area addressed by the current stack pointer, restored, and then the stack pointer is incremented.

【0029】本発明のマイクロコンピュータは、本発明
のプログラミング方法により作成したプログラムの中の
主プログラムを起動すると、プログラムの最初の段階
で、空きメモリ領域初期化ルーチンを実行して、空きメ
モリ領域に所定の初期値データを格納する。その後、主
プログラムに戻り、ポップ・スタック動作を実行した
ときに、スタック・ポインタをインクリメントする信号
31を、スタック解放検出回路5で検出して、スタッ
ク解放信号51を生成し、このスタック解放信号51
をスタック割り込み回路6が受けて、その時点のプログ
ラム・カウンタ4の値を、プログラム・カウンタ・バッ
クアップ・レジスタ7に格納し、スタック解放割り込
みアドレス・レジスタ8に格納されている値を、プログ
ラム・カウンタ4に転送して、前記スタック割り込み
アドレス・レジスタで指定される位置に配置したスタッ
ク解放領域初期化ルーチンを実行し、スタック解放領
域初期化ルーチンの最後にスタック解放割り込みリター
ン命令(RETSPI命令)を実行するようにして、
前記プログラム・カウンタ・バックアップ・レジスタ7
に格納した値をプログラム・カウンタ4に戻して、主プ
ログラムに復帰するという動作を行う。
When the main program of the program created by the programming method of the present invention is started, the microcomputer of the present invention executes a free memory area initializing routine at the first stage of the program to execute the free memory area initialization routine. Stores predetermined initial value data. Thereafter, returning to the main program, when the pop / stack operation is executed, a signal 31 for incrementing the stack pointer is detected by the stack release detecting circuit 5, and a stack release signal 51 is generated.
Is received by the stack interrupt circuit 6, the value of the program counter 4 at that time is stored in the program counter backup register 7, and the value stored in the stack release interrupt address register 8 is stored in the program counter 4. 4 and executes the stack release area initialization routine located at the position specified by the stack interrupt address register, and executes the stack release interrupt return instruction (RETSPI instruction) at the end of the stack release area initialization routine. So that
The program counter backup register 7
Is returned to the program counter 4 to return to the main program.

【0030】また、プッシュ・スタック動作時には、ス
タック・ポインタをインクリメントし、ポップ・スタッ
ク動作時にはスタック・ポインタをディクリメントする
方式の場合には、前記スタック解放検出回路5で、スタ
ック・ポインタをディクリメントする信号30を検出し
て、スタック解放信号51を生成するようにすればよい
ことは当然である。
When the stack pointer is incremented during the push stack operation and the stack pointer is decremented during the pop stack operation, the stack release detecting circuit 5 decrements the stack pointer. Of course, it is only necessary to detect the signal 30 to generate the stack release signal 51.

【0031】以上の動作により、スタック解放後のスタ
ック領域を含む空きメモリ領域は、常に所定の初期値が
格納された状態になる。
By the above operation, the free memory area including the stack area after the stack is released is always in a state where a predetermined initial value is stored.

【0032】[0032]

【発明の効果】以上のように、本願発明のマイクロコン
ピュータは、ポップ・スタック動作終了時毎に、スタッ
ク解放割り込みを発生して、スタック解放領域初期化ル
ーチンを起動し、解放されたスタック領域に所定の初期
値を格納するようにしたので、解放後のスタック領域に
も、常に初期値データが格納されて、全ての空きメモリ
領域を、常に、初期値データで満たしておくことができ
るという効果がある。
As described above, the microcomputer according to the present invention generates a stack release interrupt every time the pop / stack operation ends, starts the stack release area initialization routine, and sets the stack in the released stack area. Since a predetermined initial value is stored, the initial value data is always stored also in the stack area after release, so that all free memory areas can always be filled with the initial value data. There is.

【0033】また、プログラム・カウンタ・バックアッ
プ・レジスタを設けるようにしたので、スタック解放割
り込み時には、主プログラムへの戻り番地を、スタック
領域に格納する必要がないので、前述したスタック解放
領域初期化ルーチンを、主プログラムに影響を与えるこ
となく実行できるという効果がある。
Since the program counter backup register is provided, it is not necessary to store the return address to the main program in the stack area when a stack release interrupt occurs. Can be executed without affecting the main program.

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

【図1】本発明のマイクロコンピュータの要部の構成及
び本発明の空きメモリ領域/スタク解放領域の初期化方
法を説明する模式図である。
FIG. 1 is a schematic diagram illustrating a configuration of a main part of a microcomputer according to the present invention and a method for initializing a free memory area / stack release area according to the present invention.

【図2】本発明の空きメモリ領域の初期化方法の手順を
説明するフローチャートである。
FIG. 2 is a flowchart illustrating a procedure of a method of initializing a free memory area according to the present invention.

【図3】本発明のスタック解放領域初期化ルーチンの処
理手順を説明するフローチャートである。
FIG. 3 is a flowchart illustrating a processing procedure of a stack release area initialization routine according to the present invention.

【図4】本発明のマイクロコンピュータのプログラミン
グ方法の処理手順を説明するフローチャートである。
FIG. 4 is a flowchart illustrating a processing procedure of a microcomputer programming method according to the present invention.

【図5】本発明のコンパイラの処理手順を説明するフロ
ーチャートである。
FIG. 5 is a flowchart illustrating a processing procedure of a compiler according to the present invention.

【図6】本発明のマイクロコンピュータのプログラミン
グ方法により作成されたプログラムをメモリに格納した
メモリ・マップを例示した図である。
FIG. 6 is a diagram exemplifying a memory map in which a program created by a microcomputer programming method of the present invention is stored in a memory.

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

1 本発明のマイクロコンピュータ 2 スタック・ポインタ 3 命令デコーダ&タイミング発生回路 4 プログラム・カウンタ 5 スタック解放検出回路 6 スタック割り込み回路 7 プログラム・カウンタ・バックアップ・レジスタ 8 スタック解放割り込みアドレス・レジスタ 9 汎用レジスタ 10 メモリ 30 ディクリメント信号 31 インクリメント信号 51 スタック解放信号 DESCRIPTION OF SYMBOLS 1 Microcomputer of the present invention 2 Stack pointer 3 Instruction decoder & timing generation circuit 4 Program counter 5 Stack release detection circuit 6 Stack interrupt circuit 7 Program counter backup register 8 Stack release interrupt address register 9 General-purpose register 10 Memory 30 Decrement signal 31 Increment signal 51 Stack release signal

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】 サブルーチン・コール命令実行時や、割
り込み処理発生時には、主プログラムへの戻り番地をス
タック・メモリ領域に格納したり、あるいは、所定のレ
ジスタのデータを一時的に退避するプッシュ・レジスタ
命令実行時には、そのレジスタ・データをスタック・メ
モリ領域に格納するなどのプッシュ・スタック動作と、
サブルーチン・リターン命令実行時や、割り込みリター
ン命令実行時には、前記スタック・メモリ領域からデー
タを読み出して、主プログラムへの戻り番地をプログラ
ム・カウンタに回復したり、あるいは、一時的に退避し
たデータを元のレジスタに回復させるポップ・レジスタ
命令実行時には、前記スタック・メモリ領域からデータ
を読み出して、元のレジスタに回復するなどのポップ・
スタック動作とを、スタック・ポインタでアドレス指定
されるスタック・メモリに対して実行するようにしたマ
イクロコンピュータにおいて、前記マイクロコンピュー
タは、前記ポップ・スタック動作時に、スタック・ポイ
ンタをインクリメント(または、ディクリメント)する
信号を検出してスタック解放信号を生成するスタック解
放検出回路と、前記スタック解放信号を受けて、その時
点のプログラム・カウンタ値をプログラム・カウンタ・
バックアップ・レジスタに格納し、スタック解放割り込
みアドレス・レジスタに予め設定した割り込みアドレス
を、プログラム・カウンタにセットして、スタック解放
領域に所定の初期値データを格納処理するスタック解放
領域初期化ルーチンを起動するスタック割り込み回路と
を有し、前記スタック解放領域初期化ルーチン終了時に
実行するスタック解放割り込みリターン命令実行時に
は、前記プログラム・カウンタ・バックアップ・レジス
タから主プログラムへの戻り番地を読み出し、プログラ
ム・カウンタに転送して主プログラムに復帰するように
したことを特徴とするマイクロコンピュータ。
1. A push register for storing a return address to a main program in a stack memory area when a subroutine call instruction is executed or when interrupt processing occurs, or for temporarily saving data of a predetermined register. At the time of instruction execution, push stack operation such as storing the register data in the stack memory area,
When a subroutine return instruction or an interrupt return instruction is executed, data is read from the stack memory area and the return address to the main program is restored to the program counter, or the temporarily saved data is restored. When executing a pop register instruction for restoring data to the register, the data is read from the stack memory area, and pop instructions such as restoration to the original register are performed.
A microcomputer for executing a stack operation on a stack memory addressed by a stack pointer, wherein the microcomputer increments (or decrements) the stack pointer during the pop stack operation. A) a stack release detecting circuit for detecting a signal to be released and generating a stack release signal; and receiving the stack release signal and converting a program counter value at that time into a program counter value.
Stores in the backup register, sets the interrupt address preset in the stack release interrupt address register in the program counter, and starts the stack release area initialization routine that stores and processes the predetermined initial value data in the stack release area. When executing a stack release interrupt return instruction to be executed at the end of the stack release area initialization routine, a return address to the main program is read from the program counter backup register and stored in the program counter. A microcomputer characterized by transferring and returning to a main program.
【請求項2】 請求項1記載のマイクロコンピュータに
おいて、任意のレジスタに所定の初期値データを設定し
て初期値レジスタとする第1のステップと、前記スタッ
ク・ポインタに、イニシャライズする空きメモリ領域の
境界アドレスを設定する第2のステップと、前記初期値
レジスタに格納されたデータをスタック・メモリに退避
処理するプッシュ・レジスタ命令を、前記の空きメモリ
領域のアドレス数分だけ繰り返し実行する第3のステッ
プとを実行することにより、前記初期値レジスタに設定
した所定の初期値データを、前記空きメモリ領域に格納
するイニシャライズ処理を行うようにしたことを特徴と
する空きメモリ領域の初期化方法。
2. The microcomputer according to claim 1, wherein a first step of setting predetermined initial value data in an arbitrary register to make the register an initial value register, and setting the stack pointer to a free memory area to be initialized. A second step of setting a boundary address and a push register instruction for saving data stored in the initial value register in a stack memory, the third step being repeatedly executed by the number of addresses of the free memory area. And (c) performing an initialization process for storing predetermined initial value data set in the initial value register in the empty memory area.
【請求項3】 前記のイニシャライズ処理において、前
記初期値レジスタに設定する所定の初期値データが、ノ
ー・オペレーション命令のコード・データであることを
特徴とする請求項2記載の空きメモリ領域の初期化方
法。
3. The initialization of a free memory area according to claim 2, wherein in the initialization processing, predetermined initial value data set in the initial value register is code data of a no operation instruction. Method.
【請求項4】 前記のイニシャライズ処理において、前
記初期値レジスタに設定する所定の初期値データが、所
定のアドレスに分岐する分岐命令のコード・データであ
ることを特徴とする請求項2記載の空きメモリ領域の初
期化方法。
4. The free space according to claim 2, wherein, in the initialization processing, the predetermined initial value data set in the initial value register is code data of a branch instruction that branches to a predetermined address. Initialization method of memory area.
【請求項5】 前記のイニシャライズ処理において、前
記初期値レジスタに設定する所定の初期値データが、各
ビットが全て0、または、各ビットが全て1のデータで
あることを特徴とする請求項2記載の空きメモリ領域の
初期化方法。
5. The initialization processing according to claim 2, wherein the predetermined initial value data set in the initial value register is data in which all bits are all 0s or all bits are 1s. Initialization method of the free memory area described.
【請求項6】 前記スタック解放割り込み回路により起
動される前記スタック解放領域初期化ルーチンを、所定
の初期値データを任意のレジスタに設定する第4のステ
ップと、割り込み直前に実行完了したポップ・スタック
動作により解放されたスタック領域に、前記レジスタに
格納した所定の初期値データを格納するプッシュ・レジ
スタ命令を実行する第5のステップと、前記のプッシュ
・レジスタ命令に対応するポップ・レジスタ命令を実行
して、スタック・ポインタの値をこのスタック解放領域
初期化ルーチンを起動する直前の値に戻す第6のステッ
プと、スタック解放割り込みリターン命令を実行して、
プログラム・カウンタ・バックアップ・レジスタの値を
プログラム・カウンタに復帰する第7のステップとを含
むように構成し、請求項1記載のマイクロコンピュータ
で実行するプログラムを作成するときには、請求項2、
3、4、または5記載の空きメモリ領域の初期化方法の
手順を実行するイニシャライズ処理ルーチンを該プログ
ラムの最初に実行する部分に配置し、前記第4ステップ
から第7ステップを含むように構成したスタック解放領
域初期化ルーチンを、前記のスタック解放割り込みアド
レス・レジスタに設定するアドレス値で指定するメモリ
位置に配置するようにして、該プログラムを作成するよ
うにしたことを特徴とするマイクロコンピュータのプロ
グラミング方法。
6. A fourth step of setting a predetermined initial value data in an arbitrary register of the stack release area initialization routine started by the stack release interrupt circuit, and a pop stack completed immediately before the interruption. A fifth step of executing a push register instruction for storing predetermined initial value data stored in the register in the stack area released by the operation, and executing a pop register instruction corresponding to the push register instruction And executing a sixth step of returning the value of the stack pointer to a value immediately before activating the stack release area initialization routine, and executing a stack release interrupt return instruction,
And a seventh step of restoring the value of the program counter backup register to the program counter.
An initialization processing routine for executing the procedure of the method for initializing a free memory area described in 3, 4, or 5 is arranged in a portion to be executed first of the program, and is configured to include the fourth to seventh steps. Microcomputer programming wherein the program is created by placing a stack release area initialization routine at a memory location specified by an address value set in the stack release interrupt address register. Method.
【請求項7】 請求項6記載のマイクロコンピュータの
プログラミング方法において、前記第4のステップで任
意のレジスタに設定する初期値データを、所定のアドレ
スに分岐する分岐命令のコード・データとしたことを特
徴とするマイクロコンピュータのプログラミング方法。
7. The microcomputer programming method according to claim 6, wherein the initial value data set in an arbitrary register in the fourth step is code data of a branch instruction for branching to a predetermined address. Characteristic microcomputer programming method.
【請求項8】 請求項6または7記載のマイクロコンピ
ュータのプログラミング方法で作成したプログラムを格
納した記録媒体。
8. A recording medium storing a program created by the microcomputer programming method according to claim 6.
【請求項9】 請求項1記載のマイクロコンピュータで
実行するように作成された任意のソースプログラムか
ら、請求項6または7記載のマイクロコンピュータのプ
ログラミング方法に従ったプログラムを生成するように
したコンパイラ。
9. A compiler configured to generate a program according to the microcomputer programming method according to claim 6 or 7 from an arbitrary source program created to be executed by the microcomputer according to claim 1.
【請求項10】 請求項9記載のコンパイラで生成した
プログラムを格納した記録媒体。
10. A recording medium storing a program generated by the compiler according to claim 9.
【請求項11】 請求項6または7記載のマイクロコン
ピュータのプログラミング方法で作成したプログラム、
または、請求項9記載のコンパイラで生成したプログラ
ムを実行することにより、空きメモリ領域/スタック解
放領域を初期化するようにした空きメモリ領域/スタッ
ク解放領域の初期化方法。
11. A program created by the microcomputer programming method according to claim 6 or 7,
10. A method of initializing a free memory area / stack release area by executing a program generated by the compiler according to claim 9 to initialize the free memory area / stack release area.
JP2000326819A 2000-10-26 2000-10-26 Microcomputer and initialization method of free memory area / stack release area Expired - Fee Related JP4996008B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000326819A JP4996008B2 (en) 2000-10-26 2000-10-26 Microcomputer and initialization method of free memory area / stack release area

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000326819A JP4996008B2 (en) 2000-10-26 2000-10-26 Microcomputer and initialization method of free memory area / stack release area

Publications (2)

Publication Number Publication Date
JP2002132528A true JP2002132528A (en) 2002-05-10
JP4996008B2 JP4996008B2 (en) 2012-08-08

Family

ID=18803948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000326819A Expired - Fee Related JP4996008B2 (en) 2000-10-26 2000-10-26 Microcomputer and initialization method of free memory area / stack release area

Country Status (1)

Country Link
JP (1) JP4996008B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016537730A (en) * 2013-11-22 2016-12-01 アルカテル−ルーセント Detecting read access to unallocated or uninitialized memory

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6368935A (en) * 1986-09-10 1988-03-28 Fujitsu Ltd System for preventing microprocessing runaway
JPS63233452A (en) * 1987-03-20 1988-09-29 Sanyo Electric Co Ltd Data protecting device
JPH04182836A (en) * 1990-11-19 1992-06-30 Hitachi Ltd Unspecific value reference and detection system for program
JPH08129628A (en) * 1994-11-02 1996-05-21 Dainippon Printing Co Ltd Information recording medium with incorporated cpu
JP2000076081A (en) * 1998-08-27 2000-03-14 Matsushita Electric Ind Co Ltd Task manager and program recording medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6368935A (en) * 1986-09-10 1988-03-28 Fujitsu Ltd System for preventing microprocessing runaway
JPS63233452A (en) * 1987-03-20 1988-09-29 Sanyo Electric Co Ltd Data protecting device
JPH04182836A (en) * 1990-11-19 1992-06-30 Hitachi Ltd Unspecific value reference and detection system for program
JPH08129628A (en) * 1994-11-02 1996-05-21 Dainippon Printing Co Ltd Information recording medium with incorporated cpu
JP2000076081A (en) * 1998-08-27 2000-03-14 Matsushita Electric Ind Co Ltd Task manager and program recording medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016537730A (en) * 2013-11-22 2016-12-01 アルカテル−ルーセント Detecting read access to unallocated or uninitialized memory

Also Published As

Publication number Publication date
JP4996008B2 (en) 2012-08-08

Similar Documents

Publication Publication Date Title
US20070294599A1 (en) Method for patching a read-only memory and a data processing system comprising a means of patching the read-only memory based on patch contexts
US20140025870A1 (en) Computer reprogramming method, data storage medium and motor vehicle computer
CN117524278A (en) Dynamic random access memory compatible method, device and equipment
JP2850808B2 (en) Data processing device and data processing method
JPH10214203A (en) Information processor
CN111666082A (en) Peripheral firmware loading method based on linux operating system, control equipment and computer readable storage medium
EP0287600B1 (en) Method and device to execute two instruction sequences in an order determined in advance
JP2002132528A (en) Microcomputer and initializing method of free memory area/stack release area
US6182207B1 (en) Microcontroller with register system for the indirect accessing of internal memory via auxiliary register
IE61306B1 (en) Method and device to execute two instruction sequences in an order determined in advance
CN113010236B (en) Program execution method, device, equipment and storage medium
CN115480835A (en) Program starting method and device, storage medium
JPH09146774A (en) Personal computer system
CN111831327A (en) Electronic device capable of executing instructions and instruction execution method
JP2954666B2 (en) Memory check method
US6957359B2 (en) Data processing apparatus and data processing method
JP3130798B2 (en) Bus transfer device
CN100361105C (en) Method and apparatus for recovering access environment setting-up in interrupt processing
JP2000155677A (en) Method for preventing runaway of program and computer system for the method and recording medium for recording program for preventing runaway
KR100631780B1 (en) Communication method between overlay units and apparatus using same
KR100222620B1 (en) Multiprogram download method
CN112417528A (en) Method and electronic device for managing security library supporting data storage
KR20000033437A (en) Apparatus for implementing function of bootstrap loader
JPH11265319A (en) Method and device for reading out, changing and rewriting data stored in storage device
JPS63156231A (en) Changing method for instruction in read-only memory

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070703

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070910

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110823

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111019

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120508

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120511

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees