JPH02157951A - 可変長データ処理装置 - Google Patents

可変長データ処理装置

Info

Publication number
JPH02157951A
JPH02157951A JP31134888A JP31134888A JPH02157951A JP H02157951 A JPH02157951 A JP H02157951A JP 31134888 A JP31134888 A JP 31134888A JP 31134888 A JP31134888 A JP 31134888A JP H02157951 A JPH02157951 A JP H02157951A
Authority
JP
Japan
Prior art keywords
data
variable length
length data
occupied area
processing
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
JP31134888A
Other languages
English (en)
Inventor
Norihiro Hidaka
日高 教裕
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP31134888A priority Critical patent/JPH02157951A/ja
Publication of JPH02157951A publication Critical patent/JPH02157951A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 し産業上の利用分野] この発明は、デリミタコード等の区切データで区分され
た可変長データを処理する処理装置に関する。
[発明の概要] この発明は、上記のような処理装置において、可変長デ
ータの修正処理に先立って、各可変長データの占有エリ
アを予め拡大しておき、その拡大された自己の占有エリ
ア内で各可変長データを修正することにより、データ数
の変更を伴うような可変長データの修正を数多く行う場
合の処理速度をアップできるようにしたものである。
[従来の技術] 可変長データは、第6図(a)に示したように、デリミ
タコード(図中の“°°)により区分されてメモリ上に
シーケンシャルに配列記憶される。
そして、例えば第3番目のワード゛88°゛を“102
”に修正した場合は、被修正ワード゛88”の文字数よ
り修正ワード“102”の文字数の方がより1文字分多
いので、第6図(酔)に示したように、被修正ワード“
88”より後ろの各データは、全て1文字分ずつ後方ヘ
シフトされる。
また、第2番目のワード“ABCD”を“a b ”に
修正した場合は、被修正ワード“A B CD ”のの
文字数より修正ワード゛’ab”の文字数の方が2文字
分少ないので、第6図(b)に示したように、被修正ワ
ード“A B CD ”より後ろの各データは、全て2
文字分ずつ前方ヘシフトされる。
すなわち、被修正ワードと修正ワードとの文字数が異な
るときは、修正を行う度に、その文字数の差の分だけ、
被修正ワードより後ろの全データをシフトする必要があ
る。
[発明が解決しようとする課題] ところで、上記のようなシフト処理に要する時間は、デ
ータ数の変更を伴う修正を行う回数が少ない業務処理を
行う場合は、それ程問題とならないが、データ数の変更
を伴う修正の回数が多い業務処理を行う場合は、シフト
処理に要する累計時間が長くなり、業務処理を迅速に行
えなかった。
この発明の課題は、可変長データに対するデータ数の変
更を伴う修正を数多く行う場合の処理速度をアップでき
るようにすることである。
[課題を解決するための手段] この発明の手段は次の通りである。
記憶手段a(第1図の機能ブロック図を参照、以下同じ
)は、連続的に配列された複数、の可変長データを記憶
する。
第1の変更手段すは、所定の指示に基づいて、少なくと
もデータ数の変更を伴う修正処理の対象となる記憶手段
内aの可変長データに関し、その占有エリアを拡大すべ
く配置位置を変更する。
修正手段Cは、第1の変更手段すにより占有エリアが拡
大された可変長データを修正する場合、その占有エリア
内で修正処理を行う。
第2の変更手段dは、所定の指示に基づいて、修正手段
Cによる修正処理の後に存在する空エリアを埋めるべく
配置位置を変更し直す。
[作用] この発明の手段の作用は次の通りである。
今、記憶手段aに記憶され、連続的に配列された複数の
可変長データのほとんど全てに対し、データ数の変更を
伴う修正処理を行いないものとする。
このような場合、所定の指示を行うと、第1の変更手段
すは、例えば、上記記憶手段内の各可変長データの占有
エリアが固定サイズに拡大されるよう配置位置を変更す
る。この処理により、占有エリアが固定サイズに拡大さ
れ、その固定サイズの占有エリアには可変長データの存
在しない冗長エリアが形成される。
そして、修正手段Cは、可変長データを修正する場合、
固定サイズに拡大された占有エリア内で修正処理を行う
、従って、例えば、拡大された占有エリアが5文字分に
拡大された場合に、その中のデータ“10”を“123
”に修正したときは、修正文字” 123 ”は5文字
分の占有エリアに収まるので、同等シフト処理をしなく
ても済む。
この様なデータ数の変更を伴う修正処理を、数多くの可
変長データに対して、拡大された占有エリア内でシフト
を行わずに修正処理を行った後、所定の指示を行うと、
第2の変更手段dは、修正手段Cによる修正処理の後に
存在する空エリアを埋めるべく配置位置を変更し直す。
従って、可変長データに対するデータ数の変更を伴う修
正を数多く行う場合の処理速度をアップできるようにな
る。
[実施例] 以下、実施例を第2図ないし第6図を参照しながら説明
する。
観 第2図は、実施例による可変長データ処理装置の概略ブ
ロック構成図である。
この可変長データ処理装置は、CPUIの制御の下に、
ROM2に予め格納されたプログラムに従って、可変長
ワード形式によりRAMB上で各種のデータ処理を行う
ものである。
RAMB上に形成された各可変長ワードには、第3図に
シンボル°“う”で示したデリミタコードが付加されて
いる。
上記の各種のデータ処理を行うに際し、制御回路4は、
所定のマクロ命令に基づいてRAMB内の各可変長ワー
ドのワード長を伸長し、より長い固定長サイズに変換す
る。すなわち、指定された固定データ数の占有エリアを
各可変長ワードに対して割当てる。以下、この処理を固
定長変換処理と呼ぶ。
CPU1は、割当てられた固定長サイズの占有エリアの
範囲内で、修正対象の可変長ワードに対する修正処理を
行う。
そして、CPUIによる修正処理が全て終了した後、制
御回路4は、所定のマクロ命令に基づいて、その修正処
理の後に存在する空エリアを埋めて、各可変長ワードと
デリミタコードを連続的に配置する。以下、この処理を
可変長変換処理と呼ぶ。
この様な固定長変換処理、可変長変換処理を行う際、制
御回路4は、命令コード・レジスタIR1命令デコーダ
DEC、アドレス発生回路5、デリミタ検出回路6、リ
ードバッファBu、カウンタCNT、固定サイズレジス
タFR1比較回路7を活用する。
命令コード・レジスタIRは、CPUIから選択的に供
給されたマクロ命令コードを一時的に記憶するレジスタ
であり、この命令コード・レジスタrR内のマクロ命令
コードは、命令コード・デコーダDECに供給されて解
析される。そして、制御回路4は、その解析結果に応じ
て、各種の制御信号を生成し、上記のような制御を行う
また、アドレス発生回路5は、制御回路4から出力され
るリード/ライト信号S1−に応答して、順次、リード
アドレス・レジスタRA、ライトアドレス・レジスタW
A上で、各々リードアドレス、ライトアドレスを生成す
る。これらリードアドレス、ライトアドレスは、アドレ
スバスABを介してRAM3に供給される。この場合、
供給されたリードアドレス位置の可変長ワード、或いは
デリミタコードがRAM3から読出されると、データバ
スDBを介してリードバッファBuにセットされる。そ
して、デリミタ検出回路6は、リードバッファBuにセ
ットされたデータの中から、デリミタ種レジスタDRに
セットされたデリミタコードと一致するものを検出して
、検出信号S2を制御回路4に出力する。
固定サイズレジスタPRは、可変長ワードを修正するに
先立って指定された1ワードの固定データ数をセットす
るものである。
また、カウンタCNTは、データがRAM3から読出さ
れる毎に”°1゛°ずつカウントアツプし、デリミタコ
ードが読出されるごとにリセットすることにより、各可
変長ワードを構成するデータの数をカウントする。
比較回路7は、デリミタコードが読出された際に、固定
サイズレジスタFR内の固定データ数と、カウンタCN
Tにてカウントされた読出しに係る可変長ワードのデー
タ数とを比較して、両者のデータ数の差を制御回路4に
出力する。
そして、制御回路4は、デリミタコードが読出されたと
き、アドレス発生回路5に対し、次のライトアドレス、
或いはリードアドレスを、固定データ数と可変長ワード
のデータ数との差の分だけインクリメントさせることに
より、固定長変換処理、或いは可変長変換処理を行う。
軌作 次に第3図ないし第6図を参照しながら実施例の動作を
具体的に説明する。
今、第3図(a)に示したRAM3の’101”番地か
ら始まる可変長データ列に対し固定長変換処理が指示さ
れ、固定データ数として“°5°°が指定されたものと
する。
この場合、CPUIの制御の下に、指示された″゛固定
長変換処理”に対応するマクロ命令コードが命令コード
・レジスタrRにセットされる。また、アドレス発生回
路5のリードアドレス・レジスタRA、ライトアドレス
・レジスタWAには、それぞれ、初期値として、“10
1”  ”901”がセットされる(第4図゛イ”“口
”参照)。
また、固定サイズレジスタFRには、指定された固定デ
ータ数゛°5”がセットされる。さらに、カウンタCN
Tはリセットされる(第4図“ハ”参照)。
そして、CPUIは、制御回路4に対して起動信号S3
を出力する。
この起動信号S3に呼応して、命令デコーダDECは、
命令コード・レジスタIRにセットされた上記マクロ命
令コードを解析して、その解析結果を制御回路4に通知
する。
そうすると、制御回路4は、先ず、CPUIからのクロ
ック信号に基づいて第4図に示しな“二″のようなリー
ド/ライト信号S1を生成して、アドレス発生回路5に
出力し続ける。そこで、アドレス発生回路5は、先ず、
リード/ライト信号S1の最初のリード信号Rに基づい
てリードアドレス・レジスタRA内のリードアドレスの
初期値“101°°をアドレスバスABに出力し、その
後、上記最初のリード信号Rの出力期間中に、このリー
ドアドレスを“°1°′だけインクリメントする。
このとき、出力された上記リードアドレス”101nに
基づイテ、RAMB内ノ” 101”番地のデーラダ゛
1”が読出され、リードバッファBuにセットされる(
第4図“ボ°参照)、そこで、デリミタ検出回路6は、
デリミタ種しジスタDR内のデリミタコードに基づいて
、リードバッフアBU内のり−ドデータ゛1パがデリミ
タであるか否を判別する。この場合、リードデータはデ
リミタではないので、デリミタ検出回路6は、検出信号
S2をを制御回路4に出力しない。
制御回路4は、検出信号S3が入力されなかったので、
カウンタCNTをプラス1させるだけで、比較回路7に
対して比較指令は行わない、そして、−■御回路4は、
最初のライト信号Wをアドレス発生回路5に出力し、ラ
イトアドレス・レジスタWA内の初期ライトアドレス“
901 ”をアドレスバスABに出力させる。そうする
と、リードバッファBuを介してデータバスDB上にあ
るリードデータ“1゛は、RAM3の901番地に書込
まれる。この書込終了後、そのライト信号Wの出力期間
中に、ライ、ドアドレス・レジスタWA内のライトアド
レスが“1”だけインクリメントされる。
同様の処理により、RAMB内の可変長データ列中の2
番目のデータ“0゛°は、RAM3の902番地に書込
まれる。この書込終了時点では、第4図に示したように
、リードアドレス・レジスタRA、ライトアドレス・レ
ジスタWA、カウンタCNTの内容は、各々、“103
”903”“2′′に更新されている。
そして、3番目のデータ、すなわちデリミタコードがリ
ードされると、デリミタ検出回路6がら検出信号S2が
出力される。そうすると、制御回路4は、先ず、デリミ
タを“903”番地に書込ませる。
次に、比較回路7に対して比較処理を指令する。
そうすると、比較回路7は、現時点でのカウンタCNT
の内容“2” (今ロリードしたデリミタの前の可変長
ワードのデータ数)と、固定サイズレジスタFR内容“
′5”を比較して、その差である3”をアドレス発生回
路5に出力する。
そこで、制御回路4は、カウンタCNTにリセットを指
令した後に(第4図“へ”参照)、アドレス発生回路5
に対し、比較回路7からの上記データ数の差“3”を、
ライトアドレス・レジスタWA内のライトアドレスに加
算させる。(第4図゛°ト”参照)。
この加算処理により、次の可変長ワードは906番地か
ら書込まれ、データ数゛″2“の最初の可変長ワード“
10°′に対して固定長のデータ数“5”個分の占有エ
リアが割当てられる。
このような処理が繰返し行われ、第3図(a)に示した
ように、各可変長ワードに対して固定サイズの占有エリ
アが割当てられてい−く、そして、データ修正は占有エ
リア内で行う、この場合、データ数の増加を伴う修正を
行うとき、例えば第3図(C)に示したように、データ
数“2”の可変長ワード°゛88”を、データ数゛3”
の可変長ワ−ド“’102”に修正する際、”102”
は占有エリア内に収まるので、被修正ワード゛88′′
より後ろの各データを全て1文字分ずつ後方ヘシフトす
る必要はない、また、データ数の減少を伴う修正を行う
とき、例えば第3図(d)に示したように、データ数“
4”の可変長ワード“’ A B CD ”を、データ
数“′2゛の可変長ワード“’ a b ”に修正する
際、被修正ワード゛’ A B CD ”より後ろの各
データを、全て1文字分ずつ前方ヘシフトする必要はな
い、従って、迅速に修正を行える。
この様にして、修正を行った後、残存している空エリア
を詰めるときは、可変長変換処理を指示すれば良い。
この可変長変換処理は、固定長変換処理とほぼ同様であ
り、比較回路7からのデータ数の差を、リードアドレス
に加算する点のみが異なるので、その相違点のみを簡単
に説明する。
例えば、修正処理の結果、第3図(d)のような状態に
なっているとする。この第3図<d)の内容を可変長変
換処理する場合、リードアドレス、レジスタRA、ライ
トアドレス・レジスタWAには、各々、“’901” 
  ’“101°′が初期設定される。そして、可変長
変換処理する過程で、最初のデリミタ(第5図゛′イ゛
′参照)がリードされたとする。そうすると、この最初
のデリミタは、103番地に書込まれる。この書込みの
後、制御回路4から比較指令が出力されると、比較回路
7は、現時点でのカウンタCNTの内容“2゛と、固定
サイズレジスタFR内、容゛5”を比較して、その差で
ある°°3”をアドレス発生回路5に出力する。
そこで、制御回路4は、カウンタCNTにリセットを指
令した後に、アドレス発生回路5に対し、比較回路7か
らの上記データ数の差゛3”を、リードアドレス・レジ
スタRA内のリードアドレスに加算させる。(第5図°
“口”参照)、すなわち、空エリアに対するリードがス
キップされる。従って、第6図(c)に示したように、
空エリアが詰められて各可変長ワードが連続的に配列さ
れ、可変長ワード列本来の配列状懸になる。
なお、この発明は、上述の実施例に限定されることなく
、例えば、各可変長データに対し、より大きな固定サイ
ズの占有エリアを一律に割当てることなく、所定データ
数分の冗長エリアを一律に割当てることも可能である。
また、割当てるべき占有エリアの固定サイズを、例えば
数字の可変長データは10文字分、その他の文字種の可
変長データは5文字分といったように、文字種に応じて
変えることも可能である。さらに、デリミタの種類がワ
ード区切用、レコード区切用・・・と複数存在する可変
長データ列に対しても適用することができる。
はない、従って、可変長データに対するデータ数の変更
を伴う修正を繰返し行う場合の処理速度をアップするこ
とが可能となる。
【図面の簡単な説明】
第1図は本発明の機能ブロック図、第2図は実施例のブ
ロック構成図、第3図は占有エリアの拡大内容例、及び
その拡大占有エリア内でのデータ修正例を示す図、第4
図は可変長変換動作を説明するための図、第5図は固定
長変換動作を説明すするための図、第6図は従来技術の
問題点を説明するための図である。 [発明の効果] この発明によれば、修正処理に先立って予め拡大された
占有エリア内で可変長データを修正できるので、被修正
データと修正データとのデータ数が異なっても、修正を
行う度に、そのデータ数差の分だけ、被修正データより
後ろの全てのデータをシフトするという時間のかかる処
理を行う必要1−・−CPU、2・・−ROM、3・・
・RAM、4・・・制御回路、6・・・デリミタ検出回
路、7・・・比較回路、CNT−・・カウンタ、FR・
・・固定サイズレジスタ、DR・・・デリミタ種レジス
タ。

Claims (1)

  1. 【特許請求の範囲】 連続的に配列された複数の可変長データを記憶する記憶
    手段と、 所定の指示に基づいて、少なくともデータ数の変更を伴
    う修正処理の対象となる上記記憶手段内の可変長データ
    に関し、その占有エリアを拡大すべく配置位置を変更す
    る第1の変更手段と、この第1の変更手段により占有エ
    リアが拡大された可変長データを修正する場合、その占
    有エリア内で修正処理を行う修正手段と、 所定の指示に基づいて、上記修正手段による修正処理の
    後に存在する空エリアを埋めるべく配置位置を変更し直
    す第2の変更手段と、 を備えたことを特徴とする可変長データ処理装置。
JP31134888A 1988-12-09 1988-12-09 可変長データ処理装置 Pending JPH02157951A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31134888A JPH02157951A (ja) 1988-12-09 1988-12-09 可変長データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31134888A JPH02157951A (ja) 1988-12-09 1988-12-09 可変長データ処理装置

Publications (1)

Publication Number Publication Date
JPH02157951A true JPH02157951A (ja) 1990-06-18

Family

ID=18016067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31134888A Pending JPH02157951A (ja) 1988-12-09 1988-12-09 可変長データ処理装置

Country Status (1)

Country Link
JP (1) JPH02157951A (ja)

Similar Documents

Publication Publication Date Title
US4845664A (en) On-chip bit reordering structure
JPS6346698A (ja) 半導体記憶装置
KR910003592B1 (ko) 부분 서입 제어장치
US4879666A (en) Information output device having data buffer for performing both character positioning and character expansion/compression
JPH09167495A (ja) データ記憶ユニット及び該ユニットを用いたデータ記憶装置
JPH02157951A (ja) 可変長データ処理装置
JPS593790A (ja) ダイナミツクメモリ素子を用いた記憶装置
JP2502530B2 (ja) 印字装置
JP2854301B2 (ja) メモリアクセス回路
US6029210A (en) Memory initialization system selectively outputting a data between a normal data stored in the memory and a fixed value according to a registered access state
JPS6349809B2 (ja)
US20050055514A1 (en) Data rearrangement method
JPS61149365A (ja) デ−タ制御装置
JPS6235146B2 (ja)
JPS6217790A (ja) 文字パタ−ン発生回路
JPH0241058B2 (ja)
JPH04199238A (ja) メモリアクセス方式
JPH02224041A (ja) キャッシュメモリ制御回路
JPH11144035A (ja) 半導体記憶装置
JPH1083176A (ja) ボールド処理装置および印刷装置およびボールド処理方法
JPS58208997A (ja) 誤り訂正を行なう記憶装置の部分書込みを含む連続動作方式
JPS6346858B2 (ja)
JPH05189521A (ja) レイアウトパターン発生装置
JPS6330985A (ja) 直線描画方式
JPH02125769A (ja) 描画制御回路