JPH0778798B2 - 文字処理方法 - Google Patents
文字処理方法Info
- Publication number
- JPH0778798B2 JPH0778798B2 JP1111848A JP11184889A JPH0778798B2 JP H0778798 B2 JPH0778798 B2 JP H0778798B2 JP 1111848 A JP1111848 A JP 1111848A JP 11184889 A JP11184889 A JP 11184889A JP H0778798 B2 JPH0778798 B2 JP H0778798B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- register
- record
- address
- stored
- 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 - Lifetime
Links
Landscapes
- Document Processing Apparatus (AREA)
Description
【発明の詳細な説明】 [技術分野] 本発明は、複数個の文字列を表わすデータからなるブロ
ックの複数個を互いに関連づけて記憶することができる
文字処理装置に関する。
ックの複数個を互いに関連づけて記憶することができる
文字処理装置に関する。
[従来技術] 従来、複数個の文字列を表わすデータから成るブロック
の複数個を互いに関連づけて記憶することができる文字
処理装置は存在しなかった。
の複数個を互いに関連づけて記憶することができる文字
処理装置は存在しなかった。
更に編集が行える文字処理装置は期待できないという欠
点があった。
点があった。
[目的] 以上の点に鑑み、本発明の目的は、第1記憶手段上に記
憶された文書内の所望の任意の長さの一部の文字列を指
定することにより、前記一部の文字列を第2記憶手段に
記憶させ、それに伴って変化する前記第1記憶手段にお
ける未使用領域を管理することができ、更に、該文書中
の所望の位置への転送の指示に基づいて、前記所望の可
変量の文字列を前記文書中に転送することができ、それ
に伴って変化する前記未使用領域を更に管理することが
でき、文書の作成をその文書中の所望の文字列を複製し
ながら行え、かつ、記憶手段の未使用領域も管理するこ
とができる文字処理方法を提供することにある。
憶された文書内の所望の任意の長さの一部の文字列を指
定することにより、前記一部の文字列を第2記憶手段に
記憶させ、それに伴って変化する前記第1記憶手段にお
ける未使用領域を管理することができ、更に、該文書中
の所望の位置への転送の指示に基づいて、前記所望の可
変量の文字列を前記文書中に転送することができ、それ
に伴って変化する前記未使用領域を更に管理することが
でき、文書の作成をその文書中の所望の文字列を複製し
ながら行え、かつ、記憶手段の未使用領域も管理するこ
とができる文字処理方法を提供することにある。
[実施例] 以下本発明による一実施例を説明する。
第1図は本発明による文字処理装置のブロツク図であ
る。同図に於いて、CPUはマイクロプロセツサーで、演
算、論理判断等を行う。ABはアドレスバスで、制御対象
を指示する信号を転送する。DBはデータバスで、各種デ
ータを転送するもので、双方向性のバスである。CBはコ
ントロールバスで、各種制御対象に制御信号を印加する
ものである。
る。同図に於いて、CPUはマイクロプロセツサーで、演
算、論理判断等を行う。ABはアドレスバスで、制御対象
を指示する信号を転送する。DBはデータバスで、各種デ
ータを転送するもので、双方向性のバスである。CBはコ
ントロールバスで、各種制御対象に制御信号を印加する
ものである。
KBはキーボードで、文字やフアンクシヨン及びモードを
入力するキーKB1、スペースを入力するスペースキーKB
2、入力された文章を移動させる為の移動範囲キーKB3、
及び移動対象の文章を挿入させる為の移動先キーKB4等
を有する。
入力するキーKB1、スペースを入力するスペースキーKB
2、入力された文章を移動させる為の移動範囲キーKB3、
及び移動対象の文章を挿入させる為の移動先キーKB4等
を有する。
KBCはキーボードコントローラで、キーボードKBより入
力されたデータをエンコードし、またインタラプト信号
をコントロールバスCBに送る。DPCはCRTコントローラ
で、CRT装置DP、キヤラクタジエネレータCG、リフレツ
シユメモリM、リフレツシユメモリコントローラMC3を
制御する。CRT装置DPは文字、記号、画等を表示しうる
ものである。キヤラクタジエネレータCGは文字コード記
号コード及び文字記号パターンの行アドレス等のコード
入力により所望の文字記号パターンを出力する。上記文
字記号パターンはマトリクス状に形成され、行アドレス
を変えることで、文字記号パターンが出力される。リフ
レツシユメモリRはCRT装置DPに表示される文字記号コ
ードを記憶し、CRTコントローラDPCの制御の下に繰り返
し文字記号コードを出力する。リフレツシユメモリコン
トローラMC3はCRTコントローラDPCの指示に従ってリフ
レツシユメモリRのリフレツシユサイクルとマイクロプ
ロセツサーCPUよりのデータの書き込み、読み出しを制
御する。ROMは制御メモリで、各種処理手順及び第4図
〜第20図に示す制御手順及び漢字情報等を記憶するもの
である。
力されたデータをエンコードし、またインタラプト信号
をコントロールバスCBに送る。DPCはCRTコントローラ
で、CRT装置DP、キヤラクタジエネレータCG、リフレツ
シユメモリM、リフレツシユメモリコントローラMC3を
制御する。CRT装置DPは文字、記号、画等を表示しうる
ものである。キヤラクタジエネレータCGは文字コード記
号コード及び文字記号パターンの行アドレス等のコード
入力により所望の文字記号パターンを出力する。上記文
字記号パターンはマトリクス状に形成され、行アドレス
を変えることで、文字記号パターンが出力される。リフ
レツシユメモリRはCRT装置DPに表示される文字記号コ
ードを記憶し、CRTコントローラDPCの制御の下に繰り返
し文字記号コードを出力する。リフレツシユメモリコン
トローラMC3はCRTコントローラDPCの指示に従ってリフ
レツシユメモリRのリフレツシユサイクルとマイクロプ
ロセツサーCPUよりのデータの書き込み、読み出しを制
御する。ROMは制御メモリで、各種処理手順及び第4図
〜第20図に示す制御手順及び漢字情報等を記憶するもの
である。
上記制御メモリROMはROMコントローラMC1により記憶さ
れた処理手順が読み出される。RAMはランダムアクセス
のメモリで、各種データの一時記憶に用いられる。
れた処理手順が読み出される。RAMはランダムアクセス
のメモリで、各種データの一時記憶に用いられる。
第2図はメモリRAMの主要部をさらに説明するもので、M
RSRは移動範囲ステイタスレジスタ、SARは移動範囲始め
アドレスレジスタ、EARは移動範囲終りアドレスレジス
タ、MBは移動用バツフア、IDBは入力データバツフア、U
Bは未使用バツフア、P1〜P4はパラメータレジスタ、CR
はカーソルレジスタ、Nはレジスタ、FDRPは先頭データ
レコードポインタ、LDRPは未尾データレコードポイン
タ、FBRPは先頭未使用レコードポインタ、LBRPは末尾未
使用レコードポインタ、FTBRPは先頭移動用レコードポ
インタ、LTBRPは末尾移動用レコードポインタ等を有
し、さらに図示のレジスタ群を有する。
RSRは移動範囲ステイタスレジスタ、SARは移動範囲始め
アドレスレジスタ、EARは移動範囲終りアドレスレジス
タ、MBは移動用バツフア、IDBは入力データバツフア、U
Bは未使用バツフア、P1〜P4はパラメータレジスタ、CR
はカーソルレジスタ、Nはレジスタ、FDRPは先頭データ
レコードポインタ、LDRPは未尾データレコードポイン
タ、FBRPは先頭未使用レコードポインタ、LBRPは末尾未
使用レコードポインタ、FTBRPは先頭移動用レコードポ
インタ、LTBRPは末尾移動用レコードポインタ等を有
し、さらに図示のレジスタ群を有する。
上述移動対象の文章を格納させるブロツク移動用バツフ
アMBは第3図に示すような構造を有しており、この構造
は入力データを入れる入力データバツフアIDBも同様に
構成されており、また未使用のバツフアUBも同様の構造
となっている。移動用バツフアMB、入力データバツフア
IDB、未使用バツフアUBはそれぞれ第3図に示すレコー
ドが1つもしくは複数個により作られており必要に応じ
て後述の如く増減するものである。
アMBは第3図に示すような構造を有しており、この構造
は入力データを入れる入力データバツフアIDBも同様に
構成されており、また未使用のバツフアUBも同様の構造
となっている。移動用バツフアMB、入力データバツフア
IDB、未使用バツフアUBはそれぞれ第3図に示すレコー
ドが1つもしくは複数個により作られており必要に応じ
て後述の如く増減するものである。
B1はこのレコードの前につながるレコードの先頭アドレ
スを格納するメモリロケーシヨンで、B2はこのレコード
の後につながるレコードの先頭アドレスを格納するメモ
リロケーシヨンで、B3はこのレコードの中に入っている
有効データの長さを格納するメモリロケーシヨンであ
る。レコードに記憶されるデータは最大28ワードまでで
ありメモリロケーシヨンB4の位置より順につめられる。
これは通常リスト構造と言われるものである。
スを格納するメモリロケーシヨンで、B2はこのレコード
の後につながるレコードの先頭アドレスを格納するメモ
リロケーシヨンで、B3はこのレコードの中に入っている
有効データの長さを格納するメモリロケーシヨンであ
る。レコードに記憶されるデータは最大28ワードまでで
ありメモリロケーシヨンB4の位置より順につめられる。
これは通常リスト構造と言われるものである。
複数個のレコードのつながりは上述の如くであるが、あ
るレコードの前につながる先頭のレコードとあるレコー
ドの後につながる末尾のレコードのアドレスは各種のポ
インタにより指示される。即ちこの場合は移動用バツフ
アMBの先頭レコードはポインタFTBRPに記憶され、末尾
レコードはポインタLTBRPに記憶されている。また同様
に入力データバツフアIDBの先頭データレコードポイン
タはポインタFDRPに、それの末尾データレコーダポイン
タはポインタLDRPに、また未使用バツフアUBのレコード
についてはそれぞれポインタFBRP、ポインタLBRPに記憶
されている。
るレコードの前につながる先頭のレコードとあるレコー
ドの後につながる末尾のレコードのアドレスは各種のポ
インタにより指示される。即ちこの場合は移動用バツフ
アMBの先頭レコードはポインタFTBRPに記憶され、末尾
レコードはポインタLTBRPに記憶されている。また同様
に入力データバツフアIDBの先頭データレコードポイン
タはポインタFDRPに、それの末尾データレコーダポイン
タはポインタLDRPに、また未使用バツフアUBのレコード
についてはそれぞれポインタFBRP、ポインタLBRPに記憶
されている。
メモリRAMはRAMコントローラMC2により書き込み、読み
出しがなされる。MDは磁気デイスク装置で、後述する形
式で漢字情報を記憶する。磁気デイスク装置MDは磁気デ
イスクコントローラMDDにより制御される。
出しがなされる。MDは磁気デイスク装置で、後述する形
式で漢字情報を記憶する。磁気デイスク装置MDは磁気デ
イスクコントローラMDDにより制御される。
Pはプリンタで、漢字情報、カタカナ、ひらがな等の情
報を記録するものであり、プリンタコントローラPDで制
御される。
報を記録するものであり、プリンタコントローラPDで制
御される。
上述の構成より成る実施例の作動を次に詳述する。
本文字処理装置はキーボードKBの操作により装置が起動
されるものである。キーボードKBが操作されると、キー
ボードKBより発生するインタラプト信号がマイクロプロ
セツサCPUに伝えられ、これによりマイクロプロセツサC
PUを介して制御メモリROM内の制御手順を呼び出し、制
御手順に従って各制御が行われる。
されるものである。キーボードKBが操作されると、キー
ボードKBより発生するインタラプト信号がマイクロプロ
セツサCPUに伝えられ、これによりマイクロプロセツサC
PUを介して制御メモリROM内の制御手順を呼び出し、制
御手順に従って各制御が行われる。
第1図示メモリROM中に記憶されている制御手順により
本発明の目的を達するものである。キーボードKBより各
種の入力がなされると、インタラプトがかかりROMはROM
中に記憶されているプログラム領域にコントロールが移
る。このコントロールプログラムは第4図以下のフロー
チヤートで示されるもので以下順に説明する。
本発明の目的を達するものである。キーボードKBより各
種の入力がなされると、インタラプトがかかりROMはROM
中に記憶されているプログラム領域にコントロールが移
る。このコントロールプログラムは第4図以下のフロー
チヤートで示されるもので以下順に説明する。
第4図のフローチヤートにおいては特に本発明のブロツ
ク転送機能を特に明確ならしめるためにワードプロセツ
サにおける各種の処理ルーチンは省略して各種ワードプ
ロセツサ処理ルーチン20として示すにとどめる。ブロツ
ク移動をする場合はまずワードプロセツサの処理機能の
一つである、CRT装置DPに表示されるカーソルを用い、
移動したい文章等のブロツクの先頭の位置にカーソルを
位置せしめる。ブロツク移動を行う文章等のデータは入
力データバツフアIDBにすでに入力済のデータであってC
RT装置DP上に表示せられているものである。
ク転送機能を特に明確ならしめるためにワードプロセツ
サにおける各種の処理ルーチンは省略して各種ワードプ
ロセツサ処理ルーチン20として示すにとどめる。ブロツ
ク移動をする場合はまずワードプロセツサの処理機能の
一つである、CRT装置DPに表示されるカーソルを用い、
移動したい文章等のブロツクの先頭の位置にカーソルを
位置せしめる。ブロツク移動を行う文章等のデータは入
力データバツフアIDBにすでに入力済のデータであってC
RT装置DP上に表示せられているものである。
上述の如くブロツク移動したい文章等のデータの先頭に
カーソルをもってきた状態で、キーボードKB上の「移動
範囲」キーKB3を押すと、第4図のフローに於いてステ
ツプ21に入り、マイクロプロセツサーCPUでYES(フロー
においてはYと表示)と判定され、ステツプ22に移る。
ステツプ22においては前述のキー「移動範囲」キーKB3
がすでに押された状態であるかどうかを、第1図示メモ
リRAM中の移動範囲ステイタスレジスタMRSRを検べるこ
とによりテストし、この場合は最初であるため「移動範
囲ステイタスレジスタ」MRSRはセツトされていないので
移動範囲のステイタスではない状態でありNO(フローに
おいてはNと表示)へ進みステツプ23に移る。ステツプ
23においてはじめて「移動範囲」キーKB3が押されたた
め、移動範囲ステイタスレジスタMRSRに移動範囲のステ
イタスをセツトする。次にステツプ24において上述のカ
ーソルの位置に示すデータを記憶しているメモリRAMの
レジスタCR中のアドレスデータをメモリRAMにある範囲
始めアドレスレジスタSARに記憶させ、次のキー入力の
待機状態となる。
カーソルをもってきた状態で、キーボードKB上の「移動
範囲」キーKB3を押すと、第4図のフローに於いてステ
ツプ21に入り、マイクロプロセツサーCPUでYES(フロー
においてはYと表示)と判定され、ステツプ22に移る。
ステツプ22においては前述のキー「移動範囲」キーKB3
がすでに押された状態であるかどうかを、第1図示メモ
リRAM中の移動範囲ステイタスレジスタMRSRを検べるこ
とによりテストし、この場合は最初であるため「移動範
囲ステイタスレジスタ」MRSRはセツトされていないので
移動範囲のステイタスではない状態でありNO(フローに
おいてはNと表示)へ進みステツプ23に移る。ステツプ
23においてはじめて「移動範囲」キーKB3が押されたた
め、移動範囲ステイタスレジスタMRSRに移動範囲のステ
イタスをセツトする。次にステツプ24において上述のカ
ーソルの位置に示すデータを記憶しているメモリRAMの
レジスタCR中のアドレスデータをメモリRAMにある範囲
始めアドレスレジスタSARに記憶させ、次のキー入力の
待機状態となる。
カーソルの位置とこのカーソルの位置に対応するメモリ
RAM中のデータのアドレスはカーソルの移動等において
各種ワードプロセツサ処理ルーチン20において検知せら
れていることはデイスプレイ用のCRT装置DPを用いたワ
ードプロセツサにおいては当然の事であるので本説明に
おいては説明を略す。
RAM中のデータのアドレスはカーソルの移動等において
各種ワードプロセツサ処理ルーチン20において検知せら
れていることはデイスプレイ用のCRT装置DPを用いたワ
ードプロセツサにおいては当然の事であるので本説明に
おいては説明を略す。
次にブロツクを移動したい文章等のデータの最終の位置
にカーソルを移動して、この状態で再びキー「移動範
囲」KB3を押すと、前述の場合と同様にステツプ21を介
して、ステツプ22に入り移動範囲のステイタスがあるか
どうかをテストする。マイクロプロセツサCPUがレジス
タMRSRを調べる。この場合はすでにステツプ23において
セツトされているので、YESの枝が選ばれステツプ25に
移る。
にカーソルを移動して、この状態で再びキー「移動範
囲」KB3を押すと、前述の場合と同様にステツプ21を介
して、ステツプ22に入り移動範囲のステイタスがあるか
どうかをテストする。マイクロプロセツサCPUがレジス
タMRSRを調べる。この場合はすでにステツプ23において
セツトされているので、YESの枝が選ばれステツプ25に
移る。
ステツプ25において範囲終りのカーソル位置に対応する
レジスタCRのアドレスデータが範囲終りアドレスレジス
タEARにセツトされる。次のステツプ26においてブロッ
ク移動を行うデータを一時的に記憶するための記憶領域
をクリアするため、サブルーチンのパラメータレジスタ
P1をセツトする。即ちレジスタP1を2にすることにより
後述の如くブロツク移動用バツフアMBのクリアを指定す
る。
レジスタCRのアドレスデータが範囲終りアドレスレジス
タEARにセツトされる。次のステツプ26においてブロッ
ク移動を行うデータを一時的に記憶するための記憶領域
をクリアするため、サブルーチンのパラメータレジスタ
P1をセツトする。即ちレジスタP1を2にすることにより
後述の如くブロツク移動用バツフアMBのクリアを指定す
る。
移動用バツフアMBは前述の如き構造であるので、第5図
に示す如き手順により移動用バツフアMBの各レコードが
クリアされる。即ち、ステツプ26においてレジスタP1は
2にセツトされているので、ステツプ39及び40に続いて
ステツプ41以下の動作がなされる。ステツプ41は上述の
先頭移動用バツフアポインタFTBRPの内容即ち先頭移動
用レコードの先頭アドレスの次の番地の内容即ちこのレ
コードに連なるレコードの先頭番地が0であるかどうか
をテストしている。
に示す如き手順により移動用バツフアMBの各レコードが
クリアされる。即ち、ステツプ26においてレジスタP1は
2にセツトされているので、ステツプ39及び40に続いて
ステツプ41以下の動作がなされる。ステツプ41は上述の
先頭移動用バツフアポインタFTBRPの内容即ち先頭移動
用レコードの先頭アドレスの次の番地の内容即ちこのレ
コードに連なるレコードの先頭番地が0であるかどうか
をテストしている。
すなわち第3図メモリロケーシヨンB2で示される内容を
テストしている。
テストしている。
第3図においてメモリロケーシヨンB1に書かれている内
容が0である場合、データ等の最初のレコードであるこ
とを示しており、それ以前に続くレコードがないことを
示している。また同様にB2に0が入っている場合、この
レコード以降につながるレコードがない事即ち最後のレ
コードであることを示している。
容が0である場合、データ等の最初のレコードであるこ
とを示しており、それ以前に続くレコードがないことを
示している。また同様にB2に0が入っている場合、この
レコード以降につながるレコードがない事即ち最後のレ
コードであることを示している。
尚ここで述べているフロー等において(XX)で示される
ものはアドレス“XX"の内容を示すもので、例えばステ
ツプ41においてはポインタFTBRPの内容(アドレスデー
タ)に1を加えた結果のアドレスの内容が0であるかど
うかをテストしている。次に続くレコードがない場合は
ステツプ41においてYESとなるためステツプ42に移りポ
インタFTBRPの内容+2のアドレスに0を書き込みこの
サブルーチンからもとにもどる。
ものはアドレス“XX"の内容を示すもので、例えばステ
ツプ41においてはポインタFTBRPの内容(アドレスデー
タ)に1を加えた結果のアドレスの内容が0であるかど
うかをテストしている。次に続くレコードがない場合は
ステツプ41においてYESとなるためステツプ42に移りポ
インタFTBRPの内容+2のアドレスに0を書き込みこの
サブルーチンからもとにもどる。
フロー等において(XX)→YYとの表記はアドレスYYにア
ドレスXXの内容を入れることを意味する。
ドレスXXの内容を入れることを意味する。
一方、ステツプ41において移動用バツフアMBの先頭レコ
ードの次に続くレコードがある場合即ち((FTBRP)+
1)≠0の場合、ステツプ43に移り前述の未使用レコー
ドの末尾、レコードの第2ワード目即ちLBRPの内容に1
を加えたアドレスに、移動バツフアMBの先頭レコードの
先頭番地+1即ち(FTBRP)+1の内容を入れる。言い
かえれば、移動バツフアMBの第2レコード目を未使用レ
コードの末尾レコードの次に続くレコードとして指定す
るものである。
ードの次に続くレコードがある場合即ち((FTBRP)+
1)≠0の場合、ステツプ43に移り前述の未使用レコー
ドの末尾、レコードの第2ワード目即ちLBRPの内容に1
を加えたアドレスに、移動バツフアMBの先頭レコードの
先頭番地+1即ち(FTBRP)+1の内容を入れる。言い
かえれば、移動バツフアMBの第2レコード目を未使用レ
コードの末尾レコードの次に続くレコードとして指定す
るものである。
ステツプ44は未使用レコードの末尾レコードポインタLB
RPに移動用バツフアMBの末尾レコードのアドレスを入れ
る。次にステツプ45,46では移動用バツフアMBの先頭レ
コードの2ワード目と3ワード目に0を書き込む。ステ
ツプ47は移動バツフアMBの先頭移動用レコードポインタ
FTBRPの内容を末尾移動用レコードポインタLTBRPに書き
込み、移動用バツフアMBのクリアのためのサブルーチン
を完了する。
RPに移動用バツフアMBの末尾レコードのアドレスを入れ
る。次にステツプ45,46では移動用バツフアMBの先頭レ
コードの2ワード目と3ワード目に0を書き込む。ステ
ツプ47は移動バツフアMBの先頭移動用レコードポインタ
FTBRPの内容を末尾移動用レコードポインタLTBRPに書き
込み、移動用バツフアMBのクリアのためのサブルーチン
を完了する。
次に第2図のステツプ48,49,50,51により移動用バツフ
アMBへステツプ24,ステツプ25で記憶した範囲で示され
る入力データバツフアIDBのデータを挿入する。詳述す
ると、パラメータレジスタP1,P2,P3にそれぞれ範囲始め
アドレス、範囲終りアドレス、挿入先アドレスを入れ
て、ブロツク挿入のサブルーチン51に入る。
アMBへステツプ24,ステツプ25で記憶した範囲で示され
る入力データバツフアIDBのデータを挿入する。詳述す
ると、パラメータレジスタP1,P2,P3にそれぞれ範囲始め
アドレス、範囲終りアドレス、挿入先アドレスを入れ
て、ブロツク挿入のサブルーチン51に入る。
このサブルーチンは第6図に示されるものであり、ステ
ツプ52〜54においてレジスタP1〜P3の内容をレジスタSF
A,SLA,IAに入れ、パラメータの保存を行い、ステツプ55
において移動元の範囲の先頭アドレスをレジスタSCAに
入れる。次にステツプ56,57によりデータ挿入ステツプ5
8のパラメータをセツトし1データを挿入する。データ
挿入は第7図に示されるものでステツプ59,60において
レジスタP1すなわち挿入すべきデータのアドレスをレジ
スタSDAに、レジスタP2すなわち挿入先のアドレスをレ
ジスタDAに保存する。ステツプ61ではレジスタDAの挿入
先のアドレスと16進法表記におけるIF即ちビツト表記に
よれば00011111とのアンドをとり、即ち言いかえれば、
1ワード(16ビツト)のLSB(リーストシグニフイカン
トビツト)側から5ビツト目のみを押出し、その後にそ
の押出結果より3を減じレジスタDPに記憶する。このス
テツプの意味は該データのレコード即ち第3図に示す形
式のレコードのデータ部分即ち図示ロケーシヨンB4から
始まる28ワードの第何ワード目に挿入するかの数をレジ
スタDPに格納とする。
ツプ52〜54においてレジスタP1〜P3の内容をレジスタSF
A,SLA,IAに入れ、パラメータの保存を行い、ステツプ55
において移動元の範囲の先頭アドレスをレジスタSCAに
入れる。次にステツプ56,57によりデータ挿入ステツプ5
8のパラメータをセツトし1データを挿入する。データ
挿入は第7図に示されるものでステツプ59,60において
レジスタP1すなわち挿入すべきデータのアドレスをレジ
スタSDAに、レジスタP2すなわち挿入先のアドレスをレ
ジスタDAに保存する。ステツプ61ではレジスタDAの挿入
先のアドレスと16進法表記におけるIF即ちビツト表記に
よれば00011111とのアンドをとり、即ち言いかえれば、
1ワード(16ビツト)のLSB(リーストシグニフイカン
トビツト)側から5ビツト目のみを押出し、その後にそ
の押出結果より3を減じレジスタDPに記憶する。このス
テツプの意味は該データのレコード即ち第3図に示す形
式のレコードのデータ部分即ち図示ロケーシヨンB4から
始まる28ワードの第何ワード目に挿入するかの数をレジ
スタDPに格納とする。
次にステツプ62においては挿入先のアドレス即ちレジス
タDAの内容と16進表記のFFEOとのアンドをとりレジスタ
RAに格納する。これは挿入先のアドレスのレコードの先
頭番地をレジスタRAに格納することで第3図により示せ
ば図示B1のアドレスをレジスタRAに格納することであ
る。なおフローにおいて上述のステツプ61,62等で(XXX
X)16と示すのはXXXXが16進表記であることを示すもの
である。
タDAの内容と16進表記のFFEOとのアンドをとりレジスタ
RAに格納する。これは挿入先のアドレスのレコードの先
頭番地をレジスタRAに格納することで第3図により示せ
ば図示B1のアドレスをレジスタRAに格納することであ
る。なおフローにおいて上述のステツプ61,62等で(XXX
X)16と示すのはXXXXが16進表記であることを示すもの
である。
次にステツプ63においてRA+2の内容即ち該レコードの
データの長さが28より小さいかどうかを検べている。長
さが28より小さい場合、このレコード中に空きスペース
があることを示しているので、挿入先のアドレスのデー
タ以後のデータを1ワード分第3図の形において右にシ
フトする。即ちレジスタP1にシフトするワード群の最終
アドレスを、レジスタP2にシフト後のワード群の最終ア
ドレスを、レジスタP3にシフトすべきワード長をそれぞ
れセツトし、ステツプ67によって転送を行う。ステツプ
67を詳述すれば第8図に示すように、まずステツプ68で
レジスタNを0としてステツプ69において上述のレジス
タP3即ちワード長にレジスタNの内容がなったとき、こ
のサブルーチンを終了し、それまではステツプ70によっ
てシフトを行う。この転送ステツプ67が終了すると、次
にステツプ72によってこのレコードのデータのワード長
をインクリメントする。次にステツプ73によって挿入す
べきデータ即ちレジスタSDAの内容を挿入先のアドレス
即ちレジスタDAに入れてデータ転送を終了する。一方ス
テツプ63においてこのレコードのデータワード長が28以
上の場合はこのレコードには空きがない事を示している
ので、挿入部分がこのレコードの先頭アドレスであるか
どうかをまずステツプ74でテストし、即ちレジスタDPが
1かどうかをテストし1でない場合は新たにレジスタを
新設すべくへ移る。第9図において、ステツプ75〜78
でそれぞれ現先頭未使用レコードポインタFTBRPの内容
をレジスタNEWRPに、現レコードに続くレコードのアド
レスをレジスタCNRPに、現先頭未使用レコードの次のレ
コードのアドレスをレジスタCNBRPに、現データレコー
ドのレングスをレジスタCRLに保存する。次にステツプ7
9から84により新たに設けるレコードの接続と未使用レ
コードの接続の変更を行う。ステツプ79では先頭未使用
レコードポインタCNBRPの内容を未使用レコードの第2
レコード目のアドレスに変更する。次にステツプ80はこ
の新しく示された先頭未使用レコードポインタFBRPの示
すレコードの先頭アドレスに0を入れる。次にステツプ
81により現レコードの第2ワード目即ち次に続くレコー
ドのアドレスを示すワードにステツプ75で保存した内容
を入れる。次にステツプ82でステツプ76で保存したレジ
スタCNRPのコンテンツのアドレスにレジスタNEWRPのコ
ンテンツを入れる。次にステツプ83では(NEWRP)+1
で示されるアドレスにレジスタCNRPのコンテンツを入れ
る。ステツプ84ではレジスタRAをレジスタNEWRPのコン
テンツで示されるアドレスに入れて、新しいレコードの
結合と、未使用レコードのつながりの変更を完了する。
データの長さが28より小さいかどうかを検べている。長
さが28より小さい場合、このレコード中に空きスペース
があることを示しているので、挿入先のアドレスのデー
タ以後のデータを1ワード分第3図の形において右にシ
フトする。即ちレジスタP1にシフトするワード群の最終
アドレスを、レジスタP2にシフト後のワード群の最終ア
ドレスを、レジスタP3にシフトすべきワード長をそれぞ
れセツトし、ステツプ67によって転送を行う。ステツプ
67を詳述すれば第8図に示すように、まずステツプ68で
レジスタNを0としてステツプ69において上述のレジス
タP3即ちワード長にレジスタNの内容がなったとき、こ
のサブルーチンを終了し、それまではステツプ70によっ
てシフトを行う。この転送ステツプ67が終了すると、次
にステツプ72によってこのレコードのデータのワード長
をインクリメントする。次にステツプ73によって挿入す
べきデータ即ちレジスタSDAの内容を挿入先のアドレス
即ちレジスタDAに入れてデータ転送を終了する。一方ス
テツプ63においてこのレコードのデータワード長が28以
上の場合はこのレコードには空きがない事を示している
ので、挿入部分がこのレコードの先頭アドレスであるか
どうかをまずステツプ74でテストし、即ちレジスタDPが
1かどうかをテストし1でない場合は新たにレジスタを
新設すべくへ移る。第9図において、ステツプ75〜78
でそれぞれ現先頭未使用レコードポインタFTBRPの内容
をレジスタNEWRPに、現レコードに続くレコードのアド
レスをレジスタCNRPに、現先頭未使用レコードの次のレ
コードのアドレスをレジスタCNBRPに、現データレコー
ドのレングスをレジスタCRLに保存する。次にステツプ7
9から84により新たに設けるレコードの接続と未使用レ
コードの接続の変更を行う。ステツプ79では先頭未使用
レコードポインタCNBRPの内容を未使用レコードの第2
レコード目のアドレスに変更する。次にステツプ80はこ
の新しく示された先頭未使用レコードポインタFBRPの示
すレコードの先頭アドレスに0を入れる。次にステツプ
81により現レコードの第2ワード目即ち次に続くレコー
ドのアドレスを示すワードにステツプ75で保存した内容
を入れる。次にステツプ82でステツプ76で保存したレジ
スタCNRPのコンテンツのアドレスにレジスタNEWRPのコ
ンテンツを入れる。次にステツプ83では(NEWRP)+1
で示されるアドレスにレジスタCNRPのコンテンツを入れ
る。ステツプ84ではレジスタRAをレジスタNEWRPのコン
テンツで示されるアドレスに入れて、新しいレコードの
結合と、未使用レコードのつながりの変更を完了する。
次にステツプ85〜88で挿入すべきアドレスからそのレコ
ードの最も終の部分までのデータにつき新しいレコード
に転送する。この転送のルーチンは前述したものと同様
第8図に示すものである。ステツプ89ではデータを挿入
するレコードのレコードレングスを新しいものに変え
る。即ちデータを挿入する場所即ちレジスタDPの内容を
RA+2で示されるアドレスに入れる。ステツプ90では新
しいレコードのデータレングスを転送したデータレング
スにする。次にへ移って第7図示73のステツプ挿入す
べきデータをレジスタDAで示されるアドレスに入れデー
タ挿入のルーチンを終了する。またステツプ74におい
て、レジスタDPすなわち挿入位置が該レコードのデータ
部分の第1ワード目である場合、ALへ移り即ち第10図に
移りステツプ91〜95で挿入部分のアドレスより一つ前の
データのあるアドレスを求める。詳述すれば、ステツプ
95のデータスキヤナはパラメータとして、レジスタP1は
スキヤンの開始アドレスであり、レジスタP2はデータの
スキヤン長さであり、レジスタP3はスキヤン最終アドレ
スであり、レジスタP4はスキヤン方向であり、0は順方
向、1′は逆方向を示す。なおレジスタP2とレジスタP3
は排他的に用いられ使用しない場合0を入れておくとデ
ータスキヤナ95を完了した時に答が入れられるものであ
る。例えば本例においてはステツプ91〜94によりP1=D
A、P2=1,P3=0,P4=1と指定するので、レジスタP3に
はレジスタP1即ちレジスタDAよりレジスタP2即ち1ワー
ドだけレジスタP4で示される方向すなわち逆方向へスキ
ヤンした位置のアドレスをデータスキヤナ95は出力す
る。更に詳述すれば、第11図においてステツプ96〜99で
上記レジスタP1からP4の保存を行いそれぞれレジスタCS
BA,CSL,CSEA,CSDに格納する。ステツプ100及び101にお
いてそれぞれレジスタSCAをレジスタCSBAの内容にし、
レジスタDSCを0とし初期値をセツトする。
ードの最も終の部分までのデータにつき新しいレコード
に転送する。この転送のルーチンは前述したものと同様
第8図に示すものである。ステツプ89ではデータを挿入
するレコードのレコードレングスを新しいものに変え
る。即ちデータを挿入する場所即ちレジスタDPの内容を
RA+2で示されるアドレスに入れる。ステツプ90では新
しいレコードのデータレングスを転送したデータレング
スにする。次にへ移って第7図示73のステツプ挿入す
べきデータをレジスタDAで示されるアドレスに入れデー
タ挿入のルーチンを終了する。またステツプ74におい
て、レジスタDPすなわち挿入位置が該レコードのデータ
部分の第1ワード目である場合、ALへ移り即ち第10図に
移りステツプ91〜95で挿入部分のアドレスより一つ前の
データのあるアドレスを求める。詳述すれば、ステツプ
95のデータスキヤナはパラメータとして、レジスタP1は
スキヤンの開始アドレスであり、レジスタP2はデータの
スキヤン長さであり、レジスタP3はスキヤン最終アドレ
スであり、レジスタP4はスキヤン方向であり、0は順方
向、1′は逆方向を示す。なおレジスタP2とレジスタP3
は排他的に用いられ使用しない場合0を入れておくとデ
ータスキヤナ95を完了した時に答が入れられるものであ
る。例えば本例においてはステツプ91〜94によりP1=D
A、P2=1,P3=0,P4=1と指定するので、レジスタP3に
はレジスタP1即ちレジスタDAよりレジスタP2即ち1ワー
ドだけレジスタP4で示される方向すなわち逆方向へスキ
ヤンした位置のアドレスをデータスキヤナ95は出力す
る。更に詳述すれば、第11図においてステツプ96〜99で
上記レジスタP1からP4の保存を行いそれぞれレジスタCS
BA,CSL,CSEA,CSDに格納する。ステツプ100及び101にお
いてそれぞれレジスタSCAをレジスタCSBAの内容にし、
レジスタDSCを0とし初期値をセツトする。
次にステツプ102においてレジスタCSLが0以下即ちスキ
ヤンの長さが0以下の場合はステツプ103においてレジ
スタCSEA即ちスキヤン最終アドレスのチエツクを行い、
これも0以下である場合はパラメータ不良でありこのサ
ブルーチンを終える。その他の場合はに移りスキヤン
を始める。第12図においてステツプ104においてスキヤ
ン中の現アドレスのレコードの先頭アドレスをレジスタ
SRAに格納する。次にステツプ105においてSCA+1−2
×CSDをレジスタSCAに格納する即ちレジスタCSDが0の
場合即ち順方向スキヤンの場合はレジスタSCAをカウン
トアツプし、レジスタSCAが1の場合、即ち逆方向の場
合はカウントダウンする(この例ではカウントダウンに
なる。)。
ヤンの長さが0以下の場合はステツプ103においてレジ
スタCSEA即ちスキヤン最終アドレスのチエツクを行い、
これも0以下である場合はパラメータ不良でありこのサ
ブルーチンを終える。その他の場合はに移りスキヤン
を始める。第12図においてステツプ104においてスキヤ
ン中の現アドレスのレコードの先頭アドレスをレジスタ
SRAに格納する。次にステツプ105においてSCA+1−2
×CSDをレジスタSCAに格納する即ちレジスタCSDが0の
場合即ち順方向スキヤンの場合はレジスタSCAをカウン
トアツプし、レジスタSCAが1の場合、即ち逆方向の場
合はカウントダウンする(この例ではカウントダウンに
なる。)。
次にステツプ106では上記でカウントアツプもしくはダ
ウンしたレジスタSCAの内容がSRA+3より小即ち、第3
図により説明すれば、該レコードの図示B1,B2,B3,B4の
アドレスに入っているかどうかをチエツクして、この間
に入っていれなければ、ステツプ108に移る。これはSCA
≦SRA+(SRA+2)」3即ちレジスタSCAの内容がレジ
スタSRAの内容で始まるレコードの最終データのあるア
ドレス以内であるかどうかをテストするものである。YE
Sであればステツプ109に移りスキヤンの長さを計数して
いるレジスタDSCをインクリメントする。次にステツプ1
10においてレジスタCSLが0以下かどうかをチエツクし
ている。即ちレジスタCSLの内容が0より大のときは前
述のごとくスキヤンのレングスが指定されていることが
示されているので、ステツプ111に移りレジスタDSCとレ
ジスタCSLを比較しレジスタDSCの方がレジスタCSLより
小さい場合は再びAMより上述と同様のルーチンをくり返
し実行し、DSC=CSLとなったときにはステツプ112に入
る。ステツプ112においてレジスタP3の内容をレジスタS
CAに格納する。即ちレジスタP3を現アドレスとしてこの
サブルーチンをぬける。
ウンしたレジスタSCAの内容がSRA+3より小即ち、第3
図により説明すれば、該レコードの図示B1,B2,B3,B4の
アドレスに入っているかどうかをチエツクして、この間
に入っていれなければ、ステツプ108に移る。これはSCA
≦SRA+(SRA+2)」3即ちレジスタSCAの内容がレジ
スタSRAの内容で始まるレコードの最終データのあるア
ドレス以内であるかどうかをテストするものである。YE
Sであればステツプ109に移りスキヤンの長さを計数して
いるレジスタDSCをインクリメントする。次にステツプ1
10においてレジスタCSLが0以下かどうかをチエツクし
ている。即ちレジスタCSLの内容が0より大のときは前
述のごとくスキヤンのレングスが指定されていることが
示されているので、ステツプ111に移りレジスタDSCとレ
ジスタCSLを比較しレジスタDSCの方がレジスタCSLより
小さい場合は再びAMより上述と同様のルーチンをくり返
し実行し、DSC=CSLとなったときにはステツプ112に入
る。ステツプ112においてレジスタP3の内容をレジスタS
CAに格納する。即ちレジスタP3を現アドレスとしてこの
サブルーチンをぬける。
一方ステツプ110においてCSL≦0の場合即ちスキヤンの
長さが指定されざる場合は、ステツプ113によってレジ
スタSCAとレジスタCSEAが等しいかどうかを比較し、即
ち現アドレスとスキヤン最終アドレスとを比較し等しい
場合はステツプ114によりレジスタP2をレジスタDSCへ格
納し、即ちスキヤン時にカウントアツプしてきた数値に
してこのサブルーチンを終える。
長さが指定されざる場合は、ステツプ113によってレジ
スタSCAとレジスタCSEAが等しいかどうかを比較し、即
ち現アドレスとスキヤン最終アドレスとを比較し等しい
場合はステツプ114によりレジスタP2をレジスタDSCへ格
納し、即ちスキヤン時にカウントアツプしてきた数値に
してこのサブルーチンを終える。
一方ステツプ106においてSCA≦SRA+3である場合はス
テツプ115に移り(SRA+1−CSD)が0かどうかをテス
トする。即ちステツプ115は次にスキヤンすべきレコー
ドが0であるかどうかを調べており、次にスキヤンすべ
きレコードが0のとき、即ちもはや現レコードに続くレ
コードがない場合はステツプ116に移りCSL≦0のときは
ステツプ117でP3にCSD−1を格納し、CSL>0のときは
ステツプ118でP2=DSCとしてこのサブルーチンを終え
る。またステツプ115で次にスキヤンすべきレコードが
あることが判明した場合はステツプ119にうつり、SRAを
(SRA+1−CSD)とし、ステツプ120においてSCAをSRA
+4+CSD×〔(SRA+2)〕即ちSCAをCSD(スキヤン方
向)が0の場合はSRA+4として、またCSDが1のとき
は、SRA+4+CSD×〔(SRA+2)〕とする。
テツプ115に移り(SRA+1−CSD)が0かどうかをテス
トする。即ちステツプ115は次にスキヤンすべきレコー
ドが0であるかどうかを調べており、次にスキヤンすべ
きレコードが0のとき、即ちもはや現レコードに続くレ
コードがない場合はステツプ116に移りCSL≦0のときは
ステツプ117でP3にCSD−1を格納し、CSL>0のときは
ステツプ118でP2=DSCとしてこのサブルーチンを終え
る。またステツプ115で次にスキヤンすべきレコードが
あることが判明した場合はステツプ119にうつり、SRAを
(SRA+1−CSD)とし、ステツプ120においてSCAをSRA
+4+CSD×〔(SRA+2)〕即ちSCAをCSD(スキヤン方
向)が0の場合はSRA+4として、またCSDが1のとき
は、SRA+4+CSD×〔(SRA+2)〕とする。
この式においても他の場合と同様(SRA+2)はSRA+2
のコンテンツを示すものである。上記のステツプ終了後
再びステツプ105にもどり上述と同様のステツプをくり
返す。又ステツプ108においてNOの場合はステツプ119に
入り上述と同様のステツプを実行する。上記によりデー
タスキヤナのサブルーチン第10図ステツプ95を終了する
と次にステツプ120に入る。ステツプ120ではP3と(FFE
O)16のアンドをとりレジスタPRに格納する。即ち挿入
しようとしたアドレスが当レコードのデータ部分の先頭
の場合、前のレコードのアドレスをレジスタPRに格納し
たわけである。然る後ステツプ121においてレジスタPR
で示したレコードのデータの長さを調べ即ち(PR+2)
≧29を検べYESであればもはやここには挿入すべき空き
アドレスがないわけであるのでにうつり上で述べたス
テツプを同様に実行する。NOの場合はステツプ122に移
り押すべきデータ即ち(SDA)をP3+1即ちデータスキ
ヤナステツプ95で求めたP3のアドレスの次のアドレスに
書き込む。次にステツプ123によってこのレコードのデ
ータ長さをインクリメントしてこのデータ挿入のサブル
ーチンを終了し第6図のステツプ58を完了する。
のコンテンツを示すものである。上記のステツプ終了後
再びステツプ105にもどり上述と同様のステツプをくり
返す。又ステツプ108においてNOの場合はステツプ119に
入り上述と同様のステツプを実行する。上記によりデー
タスキヤナのサブルーチン第10図ステツプ95を終了する
と次にステツプ120に入る。ステツプ120ではP3と(FFE
O)16のアンドをとりレジスタPRに格納する。即ち挿入
しようとしたアドレスが当レコードのデータ部分の先頭
の場合、前のレコードのアドレスをレジスタPRに格納し
たわけである。然る後ステツプ121においてレジスタPR
で示したレコードのデータの長さを調べ即ち(PR+2)
≧29を検べYESであればもはやここには挿入すべき空き
アドレスがないわけであるのでにうつり上で述べたス
テツプを同様に実行する。NOの場合はステツプ122に移
り押すべきデータ即ち(SDA)をP3+1即ちデータスキ
ヤナステツプ95で求めたP3のアドレスの次のアドレスに
書き込む。次にステツプ123によってこのレコードのデ
ータ長さをインクリメントしてこのデータ挿入のサブル
ーチンを終了し第6図のステツプ58を完了する。
続いてステツプ124から128によりレジスタSCAのアドレ
スの次のデータのアドレスを求める。ステツプ128のデ
ータスキヤナは第11図以下で説明したものと全く同じも
のである。従ってデータスキヤナステツプ128では次の
アドレスをレジスタP3に入れる。次にステツプ129によ
りSCAとSLA即ちステツプ58で実行したデータ挿入のため
の源データのアドレスとブロツク挿入の最終アドレスを
比較し等しければステツプ130によりデータスキヤナス
テツプ128で求めたアドレスを格納するレジスタP3の内
容を現在値レジスタNRに入れてブロツク挿入を完了す
る。またステツプ129においてNOであればステツプ131に
よりレジスタSCAにP3の内容を格納してステツプ132にう
つり、ステツプ58において挿入したデータが文字コード
かどうかを検べYESならばステツプ133によりCRTの表示
におけるカーソル位置をインクリメントした後に、また
NOであればすぐステツプ134に移る。ステツプ134〜138
により次の挿入先のアドレスを求める。この結果即ちレ
ジスタP3の内容をステツプ139でIAに格納し再びステツ
プ56へもどりすでに述べたルーチンをくり返す。上述の
行程によりブロツク挿入第4図51を終了すると、第4図
140のステツプに入る。ステツプ140〜142によってステ
ツプ51によって挿入したデータの源のデータ即ちステツ
プ24及びステツプ25で範囲を設定したブロツクを削除す
る。詳述すれば、ステツプ140においてレジスタP1の内
容を削除すべきデータの先頭アドレスとし、P2に削除す
べきデータの最終のアドレスをセツトする。次にステツ
プ142に移り、即ち第13図のステツプ143に入る。ステツ
プ143〜144は上記のレジスタP1,P2のパラメータをそれ
ぞれレジスタDLFA及びDLLAに保存し、レジスタDLCAの内
容をDLLAに格納する。このブロツク削除は削除するブロ
ツクの最後のデータより順にさかのぼって先頭のデータ
までを削除するものである。削除するブロツクの最終ア
ドレスを格納するレジスタDLLAの内容をステツプ145に
よりレジスタDLCAに格納し、ステツプ146以下でレジス
タDLCAで示されるアドレスのデータを削除し次にレジス
タDLCAの一つ前のデータを探して再び削除することによ
りブロツク削除を行う。更に詳述すればステツプ146でP
1=DLCAとしデータ削除のサブルーチン147に入る。ステ
ツプ147は第14図で説明する。ステツプ148は削除すべき
データのアドレスをレジスタSDLAに保存し、ステツプ14
9で削除すべきデータのアドレスのレコードのアドレス
をレジスタSDRAに格納する。次にステツプ150でこのレ
コードのデータ長が1以下かどうかをテストし、1以下
でない場合はステツプ151に入る。ステツプ151ではレジ
スタSDLAの内容がそのレコードの終りのデータのアドレ
スであるかどうかを検べて、即ちSDLA≧SDLRA+(SDLRA
+2)+3ならばステツプ152に入り、このレコードの
データ長をデイクリメントする。
スの次のデータのアドレスを求める。ステツプ128のデ
ータスキヤナは第11図以下で説明したものと全く同じも
のである。従ってデータスキヤナステツプ128では次の
アドレスをレジスタP3に入れる。次にステツプ129によ
りSCAとSLA即ちステツプ58で実行したデータ挿入のため
の源データのアドレスとブロツク挿入の最終アドレスを
比較し等しければステツプ130によりデータスキヤナス
テツプ128で求めたアドレスを格納するレジスタP3の内
容を現在値レジスタNRに入れてブロツク挿入を完了す
る。またステツプ129においてNOであればステツプ131に
よりレジスタSCAにP3の内容を格納してステツプ132にう
つり、ステツプ58において挿入したデータが文字コード
かどうかを検べYESならばステツプ133によりCRTの表示
におけるカーソル位置をインクリメントした後に、また
NOであればすぐステツプ134に移る。ステツプ134〜138
により次の挿入先のアドレスを求める。この結果即ちレ
ジスタP3の内容をステツプ139でIAに格納し再びステツ
プ56へもどりすでに述べたルーチンをくり返す。上述の
行程によりブロツク挿入第4図51を終了すると、第4図
140のステツプに入る。ステツプ140〜142によってステ
ツプ51によって挿入したデータの源のデータ即ちステツ
プ24及びステツプ25で範囲を設定したブロツクを削除す
る。詳述すれば、ステツプ140においてレジスタP1の内
容を削除すべきデータの先頭アドレスとし、P2に削除す
べきデータの最終のアドレスをセツトする。次にステツ
プ142に移り、即ち第13図のステツプ143に入る。ステツ
プ143〜144は上記のレジスタP1,P2のパラメータをそれ
ぞれレジスタDLFA及びDLLAに保存し、レジスタDLCAの内
容をDLLAに格納する。このブロツク削除は削除するブロ
ツクの最後のデータより順にさかのぼって先頭のデータ
までを削除するものである。削除するブロツクの最終ア
ドレスを格納するレジスタDLLAの内容をステツプ145に
よりレジスタDLCAに格納し、ステツプ146以下でレジス
タDLCAで示されるアドレスのデータを削除し次にレジス
タDLCAの一つ前のデータを探して再び削除することによ
りブロツク削除を行う。更に詳述すればステツプ146でP
1=DLCAとしデータ削除のサブルーチン147に入る。ステ
ツプ147は第14図で説明する。ステツプ148は削除すべき
データのアドレスをレジスタSDLAに保存し、ステツプ14
9で削除すべきデータのアドレスのレコードのアドレス
をレジスタSDRAに格納する。次にステツプ150でこのレ
コードのデータ長が1以下かどうかをテストし、1以下
でない場合はステツプ151に入る。ステツプ151ではレジ
スタSDLAの内容がそのレコードの終りのデータのアドレ
スであるかどうかを検べて、即ちSDLA≧SDLRA+(SDLRA
+2)+3ならばステツプ152に入り、このレコードの
データ長をデイクリメントする。
次にステツプ153においてレジスタSDLAもデイクリメン
トして第16図に移りステツプ154〜157によって現レジ
スタSDLAの次のデータのアドレスを求めステツプ159に
よりP2=P3とし、このサブルーチンを終る。また、ステ
ツプ151でNOの場合はステツプ160〜162で逆転送ステツ
プ163のパラメータを指定する。即ち、レジスタP1は転
送元の先頭アドレス、レジスタP2は転送先の先頭アドレ
ス、レジスタP3は転送長さとし、転送すべきデータの先
頭から順に転送長さだけ転送先に転送するものである。
更に詳しく述べると、第15図においてステツプ164でN
=0として、次にステツプ165においてレジスタNとレ
ジスタP3即ち転送長さと比較し等しくなるまではステツ
プ166,167をくり返し転送を行い、等しくなるとこの逆
転送のルーチンを終り第14図ステツプ168に入る。ステ
ツプ168ではこのレコードのデータ長をデイクリメント
し次にステツプ168′によりP2=SDLAとしデータ削除の
サブルーチンをぬける。またステツプ150においてこの
レコードのデータ長が1である場合はに入り、第17図
ステツプ169においてこのレコードがデータレコードの
最終レコード即ち末尾データレコードポインタのコンテ
ンツであるかどうかをテストし、最終レコードでない場
合即ちSDLR≠(LDRP)の場合はステツプ170〜177により
このレコード削除を行う。詳しく説明すると、ステツプ
170で末尾未使用レコードポインタLBRPのコンテンツを
レジスタLBR1の内容として保存し、ステツプ171におい
て(SDLRA+1)で示されるアドレス即ち削除すべきレ
コードの次に続くレコードの先頭アドレスに、レジスタ
SDLRAで示されるアドレス即ち削除すべきレコードの前
に続くレコードの先頭アドレスを入れる。次にステツプ
172において(SDLRA+1)を(SDLRA)+1で示される
アドレスに入れ、即ち上記前に続くレコードの第2ワー
ド目に、前記次に続くレコードの先頭番地を入れる。次
にステツプ173においてSDLRAを(LBRP)+1で示される
アドレスに入れ、即ち、削除すべきレコードを未使用レ
コードのストリングに入れる。次にステツプ174におい
てこの削除すべきレコードの第2ワード目を0にする。
ステツプ175に於いて末尾未使用レコードポインタLBRP
にレジスタSDLRA即ち削除すべきレコードのアドレスを
入れる。次にステツプ176に於いて、レジスタP2の内容
を削除したデータに続くデータの入っているアドレスと
する。次にステツプ177に於いて削除したレコード即ち
末尾未使用レコードポインタLBRPの示すアドレスにステ
ツプ170で保存したものを入れてデータ削除のサブルー
チンを終る。また、ステツプ169でYESとなった場合即ち
削除すべきレコードが末尾データレコードである場合は
AJに移り、第18図ステツプ178〜186によりこのレコード
を削除する。詳しく説明すると、ステツプ178及びステ
ツプ179により末尾データレコードポインタLDRPと末尾
未使用レコードポインタLBRPの示すアドレスをそれぞれ
レジスタLDR1とLBR1に保存する。ステツプ180において
末尾データレコードポインタLDRPに削除すべきレコード
の前に続くレコードの先端アドレス即ちレジスタLDR1の
コンテンツを入れ、次にステツプ181に於いて末尾未使
用レコードポインタLBRPにステツプ178で保存したLDR1
即ち削除するレコードの先頭アドレスを入れる。次にス
テツプ182に於いて、(LDRP)+1で示されるアドレス
に0を入れる。次にステツプ183においてレジスタLDR1
で示されるアドレスにLBR1を入れる。次にステツプ184
においてLBR1+1で示されるアドレスにレジスタLDR1の
内容を入れる。
トして第16図に移りステツプ154〜157によって現レジ
スタSDLAの次のデータのアドレスを求めステツプ159に
よりP2=P3とし、このサブルーチンを終る。また、ステ
ツプ151でNOの場合はステツプ160〜162で逆転送ステツ
プ163のパラメータを指定する。即ち、レジスタP1は転
送元の先頭アドレス、レジスタP2は転送先の先頭アドレ
ス、レジスタP3は転送長さとし、転送すべきデータの先
頭から順に転送長さだけ転送先に転送するものである。
更に詳しく述べると、第15図においてステツプ164でN
=0として、次にステツプ165においてレジスタNとレ
ジスタP3即ち転送長さと比較し等しくなるまではステツ
プ166,167をくり返し転送を行い、等しくなるとこの逆
転送のルーチンを終り第14図ステツプ168に入る。ステ
ツプ168ではこのレコードのデータ長をデイクリメント
し次にステツプ168′によりP2=SDLAとしデータ削除の
サブルーチンをぬける。またステツプ150においてこの
レコードのデータ長が1である場合はに入り、第17図
ステツプ169においてこのレコードがデータレコードの
最終レコード即ち末尾データレコードポインタのコンテ
ンツであるかどうかをテストし、最終レコードでない場
合即ちSDLR≠(LDRP)の場合はステツプ170〜177により
このレコード削除を行う。詳しく説明すると、ステツプ
170で末尾未使用レコードポインタLBRPのコンテンツを
レジスタLBR1の内容として保存し、ステツプ171におい
て(SDLRA+1)で示されるアドレス即ち削除すべきレ
コードの次に続くレコードの先頭アドレスに、レジスタ
SDLRAで示されるアドレス即ち削除すべきレコードの前
に続くレコードの先頭アドレスを入れる。次にステツプ
172において(SDLRA+1)を(SDLRA)+1で示される
アドレスに入れ、即ち上記前に続くレコードの第2ワー
ド目に、前記次に続くレコードの先頭番地を入れる。次
にステツプ173においてSDLRAを(LBRP)+1で示される
アドレスに入れ、即ち、削除すべきレコードを未使用レ
コードのストリングに入れる。次にステツプ174におい
てこの削除すべきレコードの第2ワード目を0にする。
ステツプ175に於いて末尾未使用レコードポインタLBRP
にレジスタSDLRA即ち削除すべきレコードのアドレスを
入れる。次にステツプ176に於いて、レジスタP2の内容
を削除したデータに続くデータの入っているアドレスと
する。次にステツプ177に於いて削除したレコード即ち
末尾未使用レコードポインタLBRPの示すアドレスにステ
ツプ170で保存したものを入れてデータ削除のサブルー
チンを終る。また、ステツプ169でYESとなった場合即ち
削除すべきレコードが末尾データレコードである場合は
AJに移り、第18図ステツプ178〜186によりこのレコード
を削除する。詳しく説明すると、ステツプ178及びステ
ツプ179により末尾データレコードポインタLDRPと末尾
未使用レコードポインタLBRPの示すアドレスをそれぞれ
レジスタLDR1とLBR1に保存する。ステツプ180において
末尾データレコードポインタLDRPに削除すべきレコード
の前に続くレコードの先端アドレス即ちレジスタLDR1の
コンテンツを入れ、次にステツプ181に於いて末尾未使
用レコードポインタLBRPにステツプ178で保存したLDR1
即ち削除するレコードの先頭アドレスを入れる。次にス
テツプ182に於いて、(LDRP)+1で示されるアドレス
に0を入れる。次にステツプ183においてレジスタLDR1
で示されるアドレスにLBR1を入れる。次にステツプ184
においてLBR1+1で示されるアドレスにレジスタLDR1の
内容を入れる。
次にステツプ185において(LDRP)+1のアドレスに0
を入れる。次にステツプ186においてレジスタP2を−1
として現カーソル位置がレコードの最終位置であること
を示す。かくして上記データ削除ルーチンによりレジス
タP1で指定されたアドレスのデータを削除し、レジスタ
P2に上記削除したデータの次のデータのアドレスを入れ
る仕事を終る。次にステツプ187において上記のレジス
タP2をレジスタDLCAの内容とし、次にステツプ188〜193
によりレジスタDLCAの内容を現在DLCAで示されるデータ
の一つ前のデータのアドレスに変える。即ち前述のデー
タスキヤナにより一つ前のデータのアドレスをレジスタ
P3に返し、ステツプ193でレジスタDLCAの内容とするも
のである。次に194のステツプでレジスタDLCAの内容が
ステツプ143で保存したレジスタDLFA即ち削除すべきデ
ータブロツクの先頭アドレスと等しくなるまでステツプ
146〜193をくり返し、等しくなったらブロツク削除が完
了したことになるのでブロツク削除のサブルーチンを終
る。
を入れる。次にステツプ186においてレジスタP2を−1
として現カーソル位置がレコードの最終位置であること
を示す。かくして上記データ削除ルーチンによりレジス
タP1で指定されたアドレスのデータを削除し、レジスタ
P2に上記削除したデータの次のデータのアドレスを入れ
る仕事を終る。次にステツプ187において上記のレジス
タP2をレジスタDLCAの内容とし、次にステツプ188〜193
によりレジスタDLCAの内容を現在DLCAで示されるデータ
の一つ前のデータのアドレスに変える。即ち前述のデー
タスキヤナにより一つ前のデータのアドレスをレジスタ
P3に返し、ステツプ193でレジスタDLCAの内容とするも
のである。次に194のステツプでレジスタDLCAの内容が
ステツプ143で保存したレジスタDLFA即ち削除すべきデ
ータブロツクの先頭アドレスと等しくなるまでステツプ
146〜193をくり返し、等しくなったらブロツク削除が完
了したことになるのでブロツク削除のサブルーチンを終
る。
上記により第4図のステツプ142のブロツク削除をして
ステツプ194により移動範囲のステイタスをリセツト
し、ZZに入る。
ステツプ194により移動範囲のステイタスをリセツト
し、ZZに入る。
第19図ZZよりステツプ195に入り、CRT装置DPの先頭デー
タのアドレスLHA(1)をレジスタP1に記憶してデイス
プレイのサブルーチンに入り第1図メモリMの内容を新
規に書きかえる。即ち順に読み出し文字コードを順次デ
イスプレイ先頭データのアドレスLHA(1)よりメモリM
10に入れることにより、CRT装置DPに表示させるもので
ある。この結果「移動範囲」で定めた範囲のデータは移
動用バツフアに記憶されると共に元のデータから削除さ
れ、またCRT画面よりも削除される。
タのアドレスLHA(1)をレジスタP1に記憶してデイス
プレイのサブルーチンに入り第1図メモリMの内容を新
規に書きかえる。即ち順に読み出し文字コードを順次デ
イスプレイ先頭データのアドレスLHA(1)よりメモリM
10に入れることにより、CRT装置DPに表示させるもので
ある。この結果「移動範囲」で定めた範囲のデータは移
動用バツフアに記憶されると共に元のデータから削除さ
れ、またCRT画面よりも削除される。
次にカーソルを所望の移動先にもってきてキーボード5
上の「移動先」のキーを押すと、ステツプ197(第4
図)によりへ移り第20図ステツプ198により移動先の
アドレスを記憶する。次にステツプ199〜202により前記
移動用バツフアに記憶したデータを所望の位置に挿入す
るものである。
上の「移動先」のキーを押すと、ステツプ197(第4
図)によりへ移り第20図ステツプ198により移動先の
アドレスを記憶する。次にステツプ199〜202により前記
移動用バツフアに記憶したデータを所望の位置に挿入す
るものである。
ブロツク挿入ステツプ202は前記に説明したと全く同じ
ものである。次にZZに移り、前記のステツプ194から入
ったときと同様、新しい表示をCRTに行う。
ものである。次にZZに移り、前記のステツプ194から入
ったときと同様、新しい表示をCRTに行う。
以上でブロツク転送が行われたのであるが、転送後も移
動用バツフアのデータは保存されているので、再び所望
の位置にカーソルをおいて「転送先」のキーを押すこと
により同様のデータを複製して挿入することができる。
動用バツフアのデータは保存されているので、再び所望
の位置にカーソルをおいて「転送先」のキーを押すこと
により同様のデータを複製して挿入することができる。
[効果] 以上、詳述した様に、本発明により、第1記憶手段上に
記憶された文書内の所望の任意の長さの一部の文字列を
指定することにより、前記一部の文字列を第2記憶手段
に記憶させ、それに伴って変化する前記第1記憶手段に
おける未使用領域を管理することができ、更に、該文書
中の所望の位置への転送の指示に基づいて、前記所望の
可変量の文字列を前記文書中に転送することができ、そ
れに伴って変化する前記未使用領域を更に管理すること
ができ、文書の作成をその文書中の所望の文字列を複製
しながら行え、かつ、記憶手段の未使用領域も管理する
ことができる文字処理方法を提供することが可能となっ
た。
記憶された文書内の所望の任意の長さの一部の文字列を
指定することにより、前記一部の文字列を第2記憶手段
に記憶させ、それに伴って変化する前記第1記憶手段に
おける未使用領域を管理することができ、更に、該文書
中の所望の位置への転送の指示に基づいて、前記所望の
可変量の文字列を前記文書中に転送することができ、そ
れに伴って変化する前記未使用領域を更に管理すること
ができ、文書の作成をその文書中の所望の文字列を複製
しながら行え、かつ、記憶手段の未使用領域も管理する
ことができる文字処理方法を提供することが可能となっ
た。
第1図は本発明による文字処理装置の一実施例を示すブ
ロツク図、 第2図は第1図に示すメモリRAMの詳細図、 第3図は第2図に示す移動用バツフアMBの説明図、 第4図〜第20図は制御手順を説明する図である。 KB3…移動範囲キー KB4…移動先キー ROM…制御メモリ RAM…メモリ
ロツク図、 第2図は第1図に示すメモリRAMの詳細図、 第3図は第2図に示す移動用バツフアMBの説明図、 第4図〜第20図は制御手順を説明する図である。 KB3…移動範囲キー KB4…移動先キー ROM…制御メモリ RAM…メモリ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 正木 克己 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 市村 秀志 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (56)参考文献 特開 昭54−56726(JP,A) 特開 昭54−44442(JP,A) 情報処理学会「電子計算機ハンドブッ ク」(昭41−5−25)オーム社,P.7− 23〜7−25
Claims (1)
- 【請求項1】文書データを記憶するための第1及び第2
のデータ記憶手段を有する文字処理装置において、前記
第1データ記憶手段上の未使用領域に基づいて、前記第
1のデータ記憶手段に記憶された文書データの編集を行
う文字処理方法であって、 前記第1のデータ記憶手段に記憶された文書データ内の
所望の任意の長さの一部のデータ列が指定された場合
に、当該指定された一部のデータ列を、前記第1のデー
タ記憶手段から前記第2のデータ記憶手段へ転送して記
憶させ、 前記第1データ記憶手段において、転送された前記一部
のデータ列の記憶されていた領域を前記未使用領域に追
加し、 前記第2のデータ記憶手段に記憶された前記一部のデー
タ列について、前記第1のデータ記憶手段に記憶されて
いる文書データ中における転送先が指示される毎に、前
記第1のデータ記憶手段において、前記一部のデータ列
を記憶する領域を前記未使用領域より指示された転送先
に確保し、当該確保された領域へ、前記第2のデータ記
憶手段に記憶された前記一部のデータ列を転送して記憶
させ、 前記第1のデータ記憶手段において、前記確保された領
域を前記未使用領域から削除することを特徴とする文字
処理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1111848A JPH0778798B2 (ja) | 1989-04-28 | 1989-04-28 | 文字処理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1111848A JPH0778798B2 (ja) | 1989-04-28 | 1989-04-28 | 文字処理方法 |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP12720579A Division JPS5650465A (en) | 1979-10-01 | 1979-10-01 | Character processor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02236661A JPH02236661A (ja) | 1990-09-19 |
| JPH0778798B2 true JPH0778798B2 (ja) | 1995-08-23 |
Family
ID=14571682
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1111848A Expired - Lifetime JPH0778798B2 (ja) | 1989-04-28 | 1989-04-28 | 文字処理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0778798B2 (ja) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5444442A (en) * | 1977-09-14 | 1979-04-07 | Nec Corp | Character display system |
| JPS5456726A (en) * | 1977-10-14 | 1979-05-08 | Fujitsu Ltd | Display control system |
-
1989
- 1989-04-28 JP JP1111848A patent/JPH0778798B2/ja not_active Expired - Lifetime
Non-Patent Citations (1)
| Title |
|---|
| 情報処理学会「電子計算機ハンドブック」(昭41−5−25)オーム社,P.7−23〜7−25 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH02236661A (ja) | 1990-09-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4620295A (en) | Method for accessing a data set in a word processing system | |
| JPH0541997B2 (ja) | ||
| US5157784A (en) | Memory control system responsive to determination, allocating adjacent test space for editing space, relocating adjacent text and editing selected text | |
| JP2686758B2 (ja) | 図形編集装置 | |
| EP0197907B1 (en) | Display device | |
| JPH0562348B2 (ja) | ||
| JPS6326909B2 (ja) | ||
| JPS6365988B2 (ja) | ||
| JPH02236661A (ja) | 文字処理装置 | |
| JPS58205277A (ja) | 線表示・消去方式 | |
| JPS63835B2 (ja) | ||
| JP2567187B2 (ja) | 文字処理方法 | |
| JPH03176759A (ja) | 文字処理装置及びその方法 | |
| JPH025175A (ja) | 文字処理装置 | |
| JPH0567126A (ja) | 表計算処理方法および装置 | |
| JPH03141461A (ja) | 文書処理方法及び装置 | |
| JPS5840755B2 (ja) | 表示制御方式 | |
| Pramanik | Map editing. | |
| JPH02161557A (ja) | 文字処理装置 | |
| JPH0578036B2 (ja) | ||
| JPH09231210A (ja) | 文字処理装置および読み出し可能な記憶媒体 | |
| Pramanik et al. | A data-handling mechanics of on-line text editing system with efficient secondary storage access | |
| JPH0314166A (ja) | 文書表示装置 | |
| JPH03141462A (ja) | 文書処理装置 | |
| JPS6113488A (ja) | 非消去型デイスク装置の記憶管理方式 |