JPS6231378B2 - - Google Patents
Info
- Publication number
- JPS6231378B2 JPS6231378B2 JP11895280A JP11895280A JPS6231378B2 JP S6231378 B2 JPS6231378 B2 JP S6231378B2 JP 11895280 A JP11895280 A JP 11895280A JP 11895280 A JP11895280 A JP 11895280A JP S6231378 B2 JPS6231378 B2 JP S6231378B2
- Authority
- JP
- Japan
- Prior art keywords
- variable
- area
- address
- variables
- variable area
- 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.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】
本発明は、変数名が使用可能なプログラマブル
電子式計算機に係る。
電子式計算機に係る。
パーソナル・コンピユータやプログラマブル電
卓と呼ばれる電子式計算機で使用している変数に
応じてメモリのバイト数が増加する場合、変数が
多く、大きくなると使用できる変数の数が限られ
てくる。そこで、前に使用した変数が必要でなく
なつた時に、その変数を消去できれば、使用でき
るメモリが増加することになる。
卓と呼ばれる電子式計算機で使用している変数に
応じてメモリのバイト数が増加する場合、変数が
多く、大きくなると使用できる変数の数が限られ
てくる。そこで、前に使用した変数が必要でなく
なつた時に、その変数を消去できれば、使用でき
るメモリが増加することになる。
従来の方法では、変数を消去できないために、
1つのプログラム中で使用できる変数の数は限定
されていた。本発明はそれを解決しようとするも
のである。
1つのプログラム中で使用できる変数の数は限定
されていた。本発明はそれを解決しようとするも
のである。
以下に本発明を具体的に説明する。
第1図のように、CPU(中央処理装置)1、
RAM(ランダム・アクセス・メモリ)2、ROM
(リード・オンリー・メモリ)3を基本構成とす
る電子式計算機でプログラム及びデータはRAM
2中のある領域を専有する。プログラムはROM
3により順次実行されていく。変数はプログラム
中に現われる度にRAM2中で領域がとられてい
く。なお、4はキーボード、5はCRT表示装置
(CRT)、6は入出力インターフエース(I/
O)である。
RAM(ランダム・アクセス・メモリ)2、ROM
(リード・オンリー・メモリ)3を基本構成とす
る電子式計算機でプログラム及びデータはRAM
2中のある領域を専有する。プログラムはROM
3により順次実行されていく。変数はプログラム
中に現われる度にRAM2中で領域がとられてい
く。なお、4はキーボード、5はCRT表示装置
(CRT)、6は入出力インターフエース(I/
O)である。
第2図のようなプログラムを考える。まずライ
ン10でA(10,10)、B$(5)、XY(6,8)の
配列がメモリ上にとられ、続いてライン20で
X,Y,C,AB$がメモリ上にとられる。具体
的なRAM上でのとり方は第3図のようになる。
例えばデータエリアの先頭アドレスを400016とす
る。リンクアドレスLA、変数名VN、変数種類
VK(配列か単純変数か)、配列の場合は次元D及
び各要素E、そして具体的データDAの順に順次
入つている。リンクアドレスは次の変数の先頭ア
ドレスを示す。最後の変数のリンクアドレス部は
000016となつていて終りを示す。変数名は変数名
をそのまま書き、次の1バイトで配列か単純変数
かを区別している。FF16が配列、0016が単純変数
であるとする。また、配列の時は続けて次元、各
要素が記憶される。例えばA(10,10)に於て
は、次元02、各要素0A16(=10)、0A16(=10)
が記憶されている。
ン10でA(10,10)、B$(5)、XY(6,8)の
配列がメモリ上にとられ、続いてライン20で
X,Y,C,AB$がメモリ上にとられる。具体
的なRAM上でのとり方は第3図のようになる。
例えばデータエリアの先頭アドレスを400016とす
る。リンクアドレスLA、変数名VN、変数種類
VK(配列か単純変数か)、配列の場合は次元D及
び各要素E、そして具体的データDAの順に順次
入つている。リンクアドレスは次の変数の先頭ア
ドレスを示す。最後の変数のリンクアドレス部は
000016となつていて終りを示す。変数名は変数名
をそのまま書き、次の1バイトで配列か単純変数
かを区別している。FF16が配列、0016が単純変数
であるとする。また、配列の時は続けて次元、各
要素が記憶される。例えばA(10,10)に於て
は、次元02、各要素0A16(=10)、0A16(=10)
が記憶されている。
この状態でプログラムを実行していき、途中で
大きなメモリを必要とする時、A(10,10)、XY
(6,8)、Cが必要でなくなつた時第4図1のよ
うにERASE命令でA(10,10)、XY(6,8)、
Cを消去する。ここで、A(〓)、XY(〓)はA
(10,10)、XY(6,8)全体を示すものとす
る。また、逆にA(10,10)、XY(6,8)、C
だけが必要である時は第4図2のように
ERASE/命令を使う。このようにするとA
(10,10)、XY(6,8)、C以外の変数が消去さ
れる。
大きなメモリを必要とする時、A(10,10)、XY
(6,8)、Cが必要でなくなつた時第4図1のよ
うにERASE命令でA(10,10)、XY(6,8)、
Cを消去する。ここで、A(〓)、XY(〓)はA
(10,10)、XY(6,8)全体を示すものとす
る。また、逆にA(10,10)、XY(6,8)、C
だけが必要である時は第4図2のように
ERASE/命令を使う。このようにするとA
(10,10)、XY(6,8)、C以外の変数が消去さ
れる。
具体的にはRAM上のメモリ専有の変化をみる
と第5図のようになる。第5図1はライン10,
20を実行した時の変数のRAM領域の専有状態
を示したもので、第3図の簡略化したものであ
る。その状態で上記「ERASE≠A(〓),XY
(〓),C」を実行した時のRAMの専有状態が第
5図2であり、また「ERASE/A(〓),XY
(〓),C」を実行した場合のRAMの専有状態が
第5図3である。これをもう少し詳しく書いたも
のが第6図である。これは、前述のとおり
「ERASE/A(〓),XY(〓),C」を実行した
ものであり、XY,Cの部分が前につまり、RAM
のユーザーエリアの余裕が出てきたことがわか
る。変数の消去は、各リンクアドレスを変更し、
実際のデータを前につめることによつて実行可能
である。すなわち、前にB$(5)の先頭であつたと
ころまでXY(6,8)をつめ、その後、更にC
をつめる。それと同時にXY(6,8)のリンク
アドレスとしてCの先頭アドレスを書いておく。
また、Cのリンクアドレスは、AB$が消去され
後の変数がないため、000016としておく。
と第5図のようになる。第5図1はライン10,
20を実行した時の変数のRAM領域の専有状態
を示したもので、第3図の簡略化したものであ
る。その状態で上記「ERASE≠A(〓),XY
(〓),C」を実行した時のRAMの専有状態が第
5図2であり、また「ERASE/A(〓),XY
(〓),C」を実行した場合のRAMの専有状態が
第5図3である。これをもう少し詳しく書いたも
のが第6図である。これは、前述のとおり
「ERASE/A(〓),XY(〓),C」を実行した
ものであり、XY,Cの部分が前につまり、RAM
のユーザーエリアの余裕が出てきたことがわか
る。変数の消去は、各リンクアドレスを変更し、
実際のデータを前につめることによつて実行可能
である。すなわち、前にB$(5)の先頭であつたと
ころまでXY(6,8)をつめ、その後、更にC
をつめる。それと同時にXY(6,8)のリンク
アドレスとしてCの先頭アドレスを書いておく。
また、Cのリンクアドレスは、AB$が消去され
後の変数がないため、000016としておく。
また、「ERASE A(〓),XY(〓),C」を実
行した時も同様に、B$(5)、X,Y,AB$を前
につめ、各リンクアドレスを変更する。
行した時も同様に、B$(5)、X,Y,AB$を前
につめ、各リンクアドレスを変更する。
第7図は、変数消去の処理手順を示すフローチ
ヤートである。
ヤートである。
ERASE命令の場合、先ずオペランドとして指
定した各変数名(第4図1の例では、A,XY,
C)をRAMのシステムエリア内の領域Xに移す
(S1)。続いて1番目の変数名に対してRAMの変
数領域より検索を行う(S2→S3→S4)。該当すれ
ば、その変数のアドレス(先頭アドレス)をシス
テムエリア内のバツフアに入力し、更に次の変数
名に対して検索を行う(S4→S5→S6→S7→S8→S3
→S4)。
定した各変数名(第4図1の例では、A,XY,
C)をRAMのシステムエリア内の領域Xに移す
(S1)。続いて1番目の変数名に対してRAMの変
数領域より検索を行う(S2→S3→S4)。該当すれ
ば、その変数のアドレス(先頭アドレス)をシス
テムエリア内のバツフアに入力し、更に次の変数
名に対して検索を行う(S4→S5→S6→S7→S8→S3
→S4)。
以下、同様の処理を繰り返す。
上記検索は、前述の如く、リンクアドレス情報
によつて変数領域内の各変数名を順次読み取り一
致判別を行うことによつて実行する。
によつて変数領域内の各変数名を順次読み取り一
致判別を行うことによつて実行する。
このようにして指定したすべての変数名に対し
て検索を行つた後、S9にて、バツフア内の変数ア
ドレス情報を基に対応する変数を消去する。つま
り、その変数アドレスから、該変数アドレスと次
のアドレスとで記憶しているリンクアドレスまで
の領域を消去するために、以降に続いている変数
領域を「変数アドレスとリンクアドレスとの差の
バイト数分」だけシフトする。
て検索を行つた後、S9にて、バツフア内の変数ア
ドレス情報を基に対応する変数を消去する。つま
り、その変数アドレスから、該変数アドレスと次
のアドレスとで記憶しているリンクアドレスまで
の領域を消去するために、以降に続いている変数
領域を「変数アドレスとリンクアドレスとの差の
バイト数分」だけシフトする。
このようにして指定したすべての変数の領域を
消去する。
消去する。
一方、ERASE/命令の場合は、先ずRAMの変
数領域の全変数のアドレス情報をバツフアに入力
し、フラグFをセツトする(S10→S11)。その
後、ERASE命令の場合と同様に、指定された変
数を検索するが、該当すればその変数アドレスと
同じアドレス情報を上記バツフア内より削除する
(S12)。これを指定したすべての変数について行
つた後、S9にてバツフアの内容に対応した変数を
消去する。
数領域の全変数のアドレス情報をバツフアに入力
し、フラグFをセツトする(S10→S11)。その
後、ERASE命令の場合と同様に、指定された変
数を検索するが、該当すればその変数アドレスと
同じアドレス情報を上記バツフア内より削除する
(S12)。これを指定したすべての変数について行
つた後、S9にてバツフアの内容に対応した変数を
消去する。
なお、nはXのポインタである。
また、図示していないが、変数領域の先頭アド
レス(400016)と末尾のアドレスとをシステムエ
リアに記憶しており、変数領域の最後の変数(第
3図ではAB$)の消去を行う場合は、その変数
アドレス(452C16)から、その末尾のアドレスま
でを消去する。
レス(400016)と末尾のアドレスとをシステムエ
リアに記憶しており、変数領域の最後の変数(第
3図ではAB$)の消去を行う場合は、その変数
アドレス(452C16)から、その末尾のアドレスま
でを消去する。
以上詳細に説明したように本発明によれば、変
数消去命令によつて指定した変数名に対応するデ
ータメモリ上の変数領域を消去する方式なので、
消去すべき変数領域を任意に決定することができ
る。しかも消去したあとに後続の変数領域が自動
的にシフトされるので使用できるメモリを効果的
に確保することができる。したがつて、1つのプ
ログラムで使用できる変数の数を著しく増加させ
ることができ、このためプログラムの作成にあた
つて著しく自由度を増すことができる。
数消去命令によつて指定した変数名に対応するデ
ータメモリ上の変数領域を消去する方式なので、
消去すべき変数領域を任意に決定することができ
る。しかも消去したあとに後続の変数領域が自動
的にシフトされるので使用できるメモリを効果的
に確保することができる。したがつて、1つのプ
ログラムで使用できる変数の数を著しく増加させ
ることができ、このためプログラムの作成にあた
つて著しく自由度を増すことができる。
第1図はブロツク図、第2図はプログラム例を
示す図、第3図、第5図及び第6図はRAMの変
数領域の記憶状態を示す図、第4図は変数消去命
令の例を示す図、第7図はフローチヤートであ
る。 符号、1:CPU、2:RAM、3:ROM、4:
キーボード、5:CRT表示装置、6:入出力イ
ンターフエース。
示す図、第3図、第5図及び第6図はRAMの変
数領域の記憶状態を示す図、第4図は変数消去命
令の例を示す図、第7図はフローチヤートであ
る。 符号、1:CPU、2:RAM、3:ROM、4:
キーボード、5:CRT表示装置、6:入出力イ
ンターフエース。
Claims (1)
- 【特許請求の範囲】 1 プログラムメモリより読み出した変数設定命
令にもとづいてデータメモリ上に変数領域を設定
できるようにしたプログラマブル電子式計算機に
おいて、 変数消去命令によつて指定された変数名を記憶
部に記憶させる手段と、前記記憶部の変数名に対
応する前記データメモリ上の変数領域を検索し、
検索した変数領域のアドレス情報を記憶部に記憶
させる手段と、前記記憶部のアドレス情報にもと
づいて前記データメモリ上の対応の変数領域を消
去する手段と、消去されたデータメモリ上の領域
に後続の変数領域をシフトさせる手段とを備えて
成ることを特徴とするプログラマブル電子式計算
機。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11895280A JPS5743246A (en) | 1980-08-27 | 1980-08-27 | Programmable electronic computer |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11895280A JPS5743246A (en) | 1980-08-27 | 1980-08-27 | Programmable electronic computer |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5743246A JPS5743246A (en) | 1982-03-11 |
| JPS6231378B2 true JPS6231378B2 (ja) | 1987-07-08 |
Family
ID=14749313
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11895280A Granted JPS5743246A (en) | 1980-08-27 | 1980-08-27 | Programmable electronic computer |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS5743246A (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE3750525T2 (de) | 1986-06-17 | 1995-06-01 | Sharp Kk | Datenverarbeitungseinrichtung zur Verwendung in statistischer Berechnung. |
| JPH0720769Y2 (ja) * | 1986-07-31 | 1995-05-15 | カシオ計算機株式会社 | プログラム機能を備えた小型電子式計算機 |
-
1980
- 1980-08-27 JP JP11895280A patent/JPS5743246A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5743246A (en) | 1982-03-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4785400A (en) | Method for processing a data base | |
| JPH03266039A (ja) | フリーフォーマットデータリンク処理方式 | |
| JPS6231378B2 (ja) | ||
| US5832491A (en) | System for processing a database relocation in parallel with the execution of an application program | |
| JPH04360246A (ja) | ファイル圧縮装置 | |
| US3512134A (en) | Apparatus for performing file search in a digital computer | |
| JPS62264329A (ja) | 画面テキストエデイタ処理方式 | |
| JPS6365988B2 (ja) | ||
| JPH07152615A (ja) | データベース再編成方式 | |
| JPH0452859A (ja) | 文字処理装置 | |
| JP6347023B1 (ja) | コード自動記述2ソフトウェアを記録した記録媒体 | |
| JP2507399B2 (ja) | デ―タベ―ス装置 | |
| JP3471838B2 (ja) | 循環順編成ファイルの管理方法 | |
| JPH0750480B2 (ja) | 文章データ編集装置 | |
| JP6318327B1 (ja) | コード自動記述ソフトウェアを記録した記録媒体 | |
| JP2025027640A (ja) | データ編集プログラム、データ編集システム、データ編集方法、およびデータ編集装置 | |
| JP2728151B2 (ja) | プログラマブルコントローラ | |
| JPH07160555A (ja) | ファイル変換ツール管理装置およびファイル変換ツール管理方法 | |
| JP3456481B2 (ja) | 情報処理装置 | |
| JPS60160444A (ja) | リスト処理方法 | |
| JP3345291B2 (ja) | 2値データ圧縮装置およびそれを用いた2値データ処理装置並びに2値データ圧縮方法 | |
| JP2925137B2 (ja) | ワードプロセッサ及びその制御方法 | |
| JPH02263265A (ja) | 作表処理装置 | |
| JPH04270429A (ja) | ハイパー構造データのデータ削除方式 | |
| JPH03214322A (ja) | 計算機システム |