JPH0778798B2 - Character processing method - Google Patents

Character processing method

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
Application number
JP1111848A
Other languages
Japanese (ja)
Other versions
JPH02236661A (en
Inventor
駿平 竹中
浩 大和田
克己 正木
秀志 市村
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP1111848A priority Critical patent/JPH0778798B2/en
Publication of JPH02236661A publication Critical patent/JPH02236661A/en
Publication of JPH0778798B2 publication Critical patent/JPH0778798B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 [技術分野] 本発明は、複数個の文字列を表わすデータからなるブロ
ックの複数個を互いに関連づけて記憶することができる
文字処理装置に関する。
Description: TECHNICAL FIELD The present invention relates to a character processing device capable of storing a plurality of blocks of data representing a plurality of character strings in association with each other.

[従来技術] 従来、複数個の文字列を表わすデータから成るブロック
の複数個を互いに関連づけて記憶することができる文字
処理装置は存在しなかった。
[Prior Art] Conventionally, there has not been a character processing device capable of storing a plurality of blocks of data representing a plurality of character strings in association with each other.

更に編集が行える文字処理装置は期待できないという欠
点があった。
Further, there is a drawback that a character processing device capable of editing cannot be expected.

[目的] 以上の点に鑑み、本発明の目的は、第1記憶手段上に記
憶された文書内の所望の任意の長さの一部の文字列を指
定することにより、前記一部の文字列を第2記憶手段に
記憶させ、それに伴って変化する前記第1記憶手段にお
ける未使用領域を管理することができ、更に、該文書中
の所望の位置への転送の指示に基づいて、前記所望の可
変量の文字列を前記文書中に転送することができ、それ
に伴って変化する前記未使用領域を更に管理することが
でき、文書の作成をその文書中の所望の文字列を複製し
ながら行え、かつ、記憶手段の未使用領域も管理するこ
とができる文字処理方法を提供することにある。
[Object] In view of the above points, an object of the present invention is to specify a part of a character string of a desired arbitrary length in a document stored in the first storage unit, thereby enabling the partial character It is possible to store a column in the second storage means and manage the unused area in the first storage means that changes accordingly, and further, based on an instruction of transfer to a desired position in the document, A desired variable amount of character string can be transferred into the document, the unused area that changes accordingly can be further managed, and the creation of the document can be performed by copying the desired character string in the document. Another object of the present invention is to provide a character processing method that can be performed while maintaining the unused area of the storage means.

[実施例] 以下本発明による一実施例を説明する。[Example] An example according to the present invention will be described below.

第1図は本発明による文字処理装置のブロツク図であ
る。同図に於いて、CPUはマイクロプロセツサーで、演
算、論理判断等を行う。ABはアドレスバスで、制御対象
を指示する信号を転送する。DBはデータバスで、各種デ
ータを転送するもので、双方向性のバスである。CBはコ
ントロールバスで、各種制御対象に制御信号を印加する
ものである。
FIG. 1 is a block diagram of a character processing device according to the present invention. In the figure, the CPU is a microprocessor, which performs arithmetic operations and logical judgments. AB is an address bus and transfers a signal indicating a control target. DB is a data bus that transfers various data and is a bidirectional bus. CB is a control bus that applies control signals to various control targets.

KBはキーボードで、文字やフアンクシヨン及びモードを
入力するキーKB1、スペースを入力するスペースキーKB
2、入力された文章を移動させる為の移動範囲キーKB3、
及び移動対象の文章を挿入させる為の移動先キーKB4等
を有する。
KB is a keyboard, key KB1 to enter characters, functions and modes, space key KB to enter a space
2, move range key KB3 to move the entered text,
And a destination key KB4 or the like for inserting a sentence to be moved.

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図に示す制御手順及び漢字情報等を記憶するもの
である。
KBC is a keyboard controller, which encodes data input from the keyboard KB and sends an interrupt signal to the control bus CB. DPC is a CRT controller, which controls the CRT device DP, the character generator CG, the refresh memory M, and the refresh memory controller MC3. The CRT device DP can display characters, symbols, pictures and the like. The character generator CG outputs a desired character / symbol pattern by inputting a code such as a character code / symbol code and a line address of the character / symbol pattern. The character / symbol pattern is formed in a matrix, and the character / symbol pattern is output by changing the row address. The refresh memory R stores the character / symbol code displayed on the CRT device DP and repeatedly outputs the character / symbol code under the control of the CRT controller DPC. The refresh memory controller MC3 controls the refresh cycle of the refresh memory R and the writing and reading of data from the microprocessor CPU according to the instruction of the CRT controller DPC. The ROM is a control memory that stores various processing procedures, the control procedures shown in FIGS. 4 to 20, and kanji information.

上記制御メモリROMはROMコントローラMC1により記憶さ
れた処理手順が読み出される。RAMはランダムアクセス
のメモリで、各種データの一時記憶に用いられる。
The processing procedure stored by the ROM controller MC1 is read out from the control memory ROM. RAM is a random access memory and is used for temporary storage of various data.

第2図はメモリRAMの主要部をさらに説明するもので、M
RSRは移動範囲ステイタスレジスタ、SARは移動範囲始め
アドレスレジスタ、EARは移動範囲終りアドレスレジス
タ、MBは移動用バツフア、IDBは入力データバツフア、U
Bは未使用バツフア、P1〜P4はパラメータレジスタ、CR
はカーソルレジスタ、Nはレジスタ、FDRPは先頭データ
レコードポインタ、LDRPは未尾データレコードポイン
タ、FBRPは先頭未使用レコードポインタ、LBRPは末尾未
使用レコードポインタ、FTBRPは先頭移動用レコードポ
インタ、LTBRPは末尾移動用レコードポインタ等を有
し、さらに図示のレジスタ群を有する。
FIG. 2 further explains the main part of the memory RAM.
RSR is the movement range status register, SAR is the movement range start address register, EAR is the movement range end address register, MB is the movement buffer, IDB is the input data buffer, U
B is an unused buffer, P1 to P4 are parameter registers, CR
Is a cursor register, N is a register, FDRP is the first data record pointer, LDRP is the last data record pointer, FBRP is the first unused record pointer, LBRP is the last unused record pointer, FTBRP is the first movement record pointer, and LTBRP is the last. It has a move record pointer and the like, and further has the illustrated register group.

上述移動対象の文章を格納させるブロツク移動用バツフ
アMBは第3図に示すような構造を有しており、この構造
は入力データを入れる入力データバツフアIDBも同様に
構成されており、また未使用のバツフアUBも同様の構造
となっている。移動用バツフアMB、入力データバツフア
IDB、未使用バツフアUBはそれぞれ第3図に示すレコー
ドが1つもしくは複数個により作られており必要に応じ
て後述の如く増減するものである。
The block transfer buffer MB that stores the above-mentioned transfer target text has a structure as shown in FIG. 3, and this structure has the same structure as the input data buffer IDB that stores the input data, and is unused. The buffer UB has a similar structure. Transfer buffer MB, input data buffer
Each of the IDB and the unused buffer UB is made up of one or a plurality of records shown in FIG. 3, and the number of records is increased or decreased as necessary as described later.

B1はこのレコードの前につながるレコードの先頭アドレ
スを格納するメモリロケーシヨンで、B2はこのレコード
の後につながるレコードの先頭アドレスを格納するメモ
リロケーシヨンで、B3はこのレコードの中に入っている
有効データの長さを格納するメモリロケーシヨンであ
る。レコードに記憶されるデータは最大28ワードまでで
ありメモリロケーシヨンB4の位置より順につめられる。
これは通常リスト構造と言われるものである。
B1 is a memory location that stores the start address of the record that is connected before this record, B2 is a memory location that stores the start address of the record that is connected after this record, and B3 is valid in this record. It is a memory location that stores the length of data. The data stored in the record is up to 28 words, and is sequentially filled from the position of the memory location B4.
This is what is commonly called a list structure.

複数個のレコードのつながりは上述の如くであるが、あ
るレコードの前につながる先頭のレコードとあるレコー
ドの後につながる末尾のレコードのアドレスは各種のポ
インタにより指示される。即ちこの場合は移動用バツフ
アMBの先頭レコードはポインタFTBRPに記憶され、末尾
レコードはポインタLTBRPに記憶されている。また同様
に入力データバツフアIDBの先頭データレコードポイン
タはポインタFDRPに、それの末尾データレコーダポイン
タはポインタLDRPに、また未使用バツフアUBのレコード
についてはそれぞれポインタFBRP、ポインタLBRPに記憶
されている。
The connection of a plurality of records is as described above, but the addresses of the first record connected before a certain record and the last record connected after a certain record are designated by various pointers. That is, in this case, the first record of the moving buffer MB is stored in the pointer FTBRP, and the last record thereof is stored in the pointer LTBRP. Similarly, the head data record pointer of the input data buffer IDB is stored in the pointer FDRP, the tail data recorder pointer thereof is stored in the pointer LDRP, and the record of the unused buffer UB is stored in the pointer FBRP and the pointer LBRP, respectively.

メモリRAMはRAMコントローラMC2により書き込み、読み
出しがなされる。MDは磁気デイスク装置で、後述する形
式で漢字情報を記憶する。磁気デイスク装置MDは磁気デ
イスクコントローラMDDにより制御される。
The memory RAM is written and read by the RAM controller MC2. MD is a magnetic disk device, which stores kanji information in a format described later. The magnetic disk device MD is controlled by the magnetic disk controller MDD.

Pはプリンタで、漢字情報、カタカナ、ひらがな等の情
報を記録するものであり、プリンタコントローラPDで制
御される。
A printer P records information such as kanji information, katakana, and hiragana, and is controlled by the printer controller PD.

上述の構成より成る実施例の作動を次に詳述する。The operation of the embodiment configured as described above will be described in detail below.

本文字処理装置はキーボードKBの操作により装置が起動
されるものである。キーボードKBが操作されると、キー
ボードKBより発生するインタラプト信号がマイクロプロ
セツサCPUに伝えられ、これによりマイクロプロセツサC
PUを介して制御メモリROM内の制御手順を呼び出し、制
御手順に従って各制御が行われる。
The character processing device is activated by operating the keyboard KB. When the keyboard KB is operated, the interrupt signal generated from the keyboard KB is transmitted to the microprocessor CPU, which causes the microprocessor C to operate.
The control procedure in the control memory ROM is called via the PU, and each control is performed according to the control procedure.

第1図示メモリROM中に記憶されている制御手順により
本発明の目的を達するものである。キーボードKBより各
種の入力がなされると、インタラプトがかかりROMはROM
中に記憶されているプログラム領域にコントロールが移
る。このコントロールプログラムは第4図以下のフロー
チヤートで示されるもので以下順に説明する。
The object of the present invention is achieved by the control procedure stored in the first illustrated memory ROM. When various inputs are made from the keyboard KB, the interrupt is applied and the ROM is ROM
Control is transferred to the program area stored in it. This control program is shown in the flow chart of FIG. 4 and subsequent figures, and will be described in order below.

第4図のフローチヤートにおいては特に本発明のブロツ
ク転送機能を特に明確ならしめるためにワードプロセツ
サにおける各種の処理ルーチンは省略して各種ワードプ
ロセツサ処理ルーチン20として示すにとどめる。ブロツ
ク移動をする場合はまずワードプロセツサの処理機能の
一つである、CRT装置DPに表示されるカーソルを用い、
移動したい文章等のブロツクの先頭の位置にカーソルを
位置せしめる。ブロツク移動を行う文章等のデータは入
力データバツフアIDBにすでに入力済のデータであってC
RT装置DP上に表示せられているものである。
In the flow chart of FIG. 4, various processing routines in the word processor are omitted and shown as various word processor processing routines 20 in order to make the block transfer function of the present invention particularly clear. When moving the block, first use the cursor displayed on the CRT device DP, which is one of the processing functions of the word processor,
Position the cursor at the beginning of the block of the text you want to move. The data such as the text to move the block is already entered in the input data buffer IDB.
It is what is displayed on the RT device 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に記憶させ、次のキー入力の
待機状態となる。
As described above, when the cursor is at the beginning of the data of the text or the like to be moved, press the "Movement range" key KB3 on the keyboard KB to enter step 21 in the flow shown in FIG. The CPU determines YES (displayed as Y in the flow), and proceeds to step 22.
In step 22, the above-mentioned key "Movement range" key KB3
Is already pressed by checking the movement range status register MRSR in the first memory RAM shown in the figure. In this case, the movement range status register MRSR has been set. Since this is not the case, the status is not within the movement range, and the routine proceeds to NO (displayed as N in the flow) and proceeds to step 23. Step
Since the "moving range" key KB3 is pressed for the first time in 23, the moving range status is set in the moving range status register MRSR. Next, in step 24, the address data in the register CR of the memory RAM that stores the data shown at the above-mentioned cursor position is stored in the range start address register SAR in the memory RAM, and the next key input standby state is set. .

カーソルの位置とこのカーソルの位置に対応するメモリ
RAM中のデータのアドレスはカーソルの移動等において
各種ワードプロセツサ処理ルーチン20において検知せら
れていることはデイスプレイ用のCRT装置DPを用いたワ
ードプロセツサにおいては当然の事であるので本説明に
おいては説明を略す。
The cursor position and the memory corresponding to this cursor position
It is natural in the word processor using the CRT device DP for display that the address of the data in the RAM is detected in the various word processor processing routines 20 when the cursor is moved, etc. Is omitted.

次にブロツクを移動したい文章等のデータの最終の位置
にカーソルを移動して、この状態で再びキー「移動範
囲」KB3を押すと、前述の場合と同様にステツプ21を介
して、ステツプ22に入り移動範囲のステイタスがあるか
どうかをテストする。マイクロプロセツサCPUがレジス
タMRSRを調べる。この場合はすでにステツプ23において
セツトされているので、YESの枝が選ばれステツプ25に
移る。
Next, move the cursor to the final position of the data such as the text you want to move, and press the key "Move range" KB3 again in this state, and go to step 22 via step 21 as in the case above. Test if there is status of incoming movement range. The microprocessor CPU examines the register MRSR. In this case, since YES has already been set in step 23, the YES branch is selected and step 25 is entered.

ステツプ25において範囲終りのカーソル位置に対応する
レジスタCRのアドレスデータが範囲終りアドレスレジス
タEARにセツトされる。次のステツプ26においてブロッ
ク移動を行うデータを一時的に記憶するための記憶領域
をクリアするため、サブルーチンのパラメータレジスタ
P1をセツトする。即ちレジスタP1を2にすることにより
後述の如くブロツク移動用バツフアMBのクリアを指定す
る。
At step 25, the address data of the register CR corresponding to the cursor position at the end of the range is set to the end-of-range address register EAR. At the next step 26, the parameter register of the subroutine is used to clear the storage area for temporarily storing the data for moving the block.
Set P1. That is, by setting the register P1 to 2, clearing of the block moving buffer MB is specified as described later.

移動用バツフアMBは前述の如き構造であるので、第5図
に示す如き手順により移動用バツフアMBの各レコードが
クリアされる。即ち、ステツプ26においてレジスタP1は
2にセツトされているので、ステツプ39及び40に続いて
ステツプ41以下の動作がなされる。ステツプ41は上述の
先頭移動用バツフアポインタFTBRPの内容即ち先頭移動
用レコードの先頭アドレスの次の番地の内容即ちこのレ
コードに連なるレコードの先頭番地が0であるかどうか
をテストしている。
Since the transfer buffer MB has the above-described structure, each record of the transfer buffer MB is cleared by the procedure shown in FIG. That is, since the register P1 is set to 2 in step 26, the operations following step 41 are performed after steps 39 and 40. Step 41 tests whether or not the contents of the above-mentioned buffer buffer pointer FTBRP for moving the head, that is, the contents of the address next to the head address of the record for moving the head, that is, the head address of the record connected to this record is zero.

すなわち第3図メモリロケーシヨンB2で示される内容を
テストしている。
That is, the contents shown in FIG. 3 memory location B2 are being tested.

第3図においてメモリロケーシヨンB1に書かれている内
容が0である場合、データ等の最初のレコードであるこ
とを示しており、それ以前に続くレコードがないことを
示している。また同様にB2に0が入っている場合、この
レコード以降につながるレコードがない事即ち最後のレ
コードであることを示している。
When the content written in the memory location B1 in FIG. 3 is 0, it indicates that it is the first record of data or the like, and that there is no record that follows it. Similarly, if B2 contains 0, it means that there is no record connected to this record, that is, the last record.

尚ここで述べているフロー等において(XX)で示される
ものはアドレス“XX"の内容を示すもので、例えばステ
ツプ41においてはポインタFTBRPの内容(アドレスデー
タ)に1を加えた結果のアドレスの内容が0であるかど
うかをテストしている。次に続くレコードがない場合は
ステツプ41においてYESとなるためステツプ42に移りポ
インタFTBRPの内容+2のアドレスに0を書き込みこの
サブルーチンからもとにもどる。
Note that in the flow and the like described here, what is indicated by (XX) indicates the contents of the address "XX". For example, in step 41, the contents of the pointer FTBRP (address data) I'm testing if the content is zero. If there is no next record, the result in step 41 is YES, so the process moves to step 42 and 0 is written in the address +2 of the content of the pointer FTBRP to return from this subroutine.

フロー等において(XX)→YYとの表記はアドレスYYにア
ドレスXXの内容を入れることを意味する。
In the flow etc., the notation (XX) → YY means to put the contents of address XX in address YY.

一方、ステツプ41において移動用バツフアMBの先頭レコ
ードの次に続くレコードがある場合即ち((FTBRP)+
1)≠0の場合、ステツプ43に移り前述の未使用レコー
ドの末尾、レコードの第2ワード目即ちLBRPの内容に1
を加えたアドレスに、移動バツフアMBの先頭レコードの
先頭番地+1即ち(FTBRP)+1の内容を入れる。言い
かえれば、移動バツフアMBの第2レコード目を未使用レ
コードの末尾レコードの次に続くレコードとして指定す
るものである。
On the other hand, if there is a record following the first record of the transfer buffer MB in step 41, that is, ((FTBRP) +
1) If ≠ 0, move to step 43 and set 1 at the end of the unused record, the second word of the record, that is, the content of LBRP.
The contents of the first address +1 of the first record of the moving buffer MB, that is, (FTBRP) +1, are put in the address added with. In other words, the second record of the moving buffer MB is designated as the record following the last record of the unused record.

ステツプ44は未使用レコードの末尾レコードポインタLB
RPに移動用バツフアMBの末尾レコードのアドレスを入れ
る。次にステツプ45,46では移動用バツフアMBの先頭レ
コードの2ワード目と3ワード目に0を書き込む。ステ
ツプ47は移動バツフアMBの先頭移動用レコードポインタ
FTBRPの内容を末尾移動用レコードポインタLTBRPに書き
込み、移動用バツフアMBのクリアのためのサブルーチン
を完了する。
Step 44 is the end record pointer LB of the unused record
Enter the address of the last record of the transfer buffer MB in RP. Next, in steps 45 and 46, 0 is written in the second and third words of the first record of the moving buffer MB. Step 47 is the record pointer for moving the beginning of the moving buffer MB.
The contents of FTBRP are written to the end move record pointer LTBRP, and the subroutine for clearing the move buffer MB is completed.

次に第2図のステツプ48,49,50,51により移動用バツフ
アMBへステツプ24,ステツプ25で記憶した範囲で示され
る入力データバツフアIDBのデータを挿入する。詳述す
ると、パラメータレジスタP1,P2,P3にそれぞれ範囲始め
アドレス、範囲終りアドレス、挿入先アドレスを入れ
て、ブロツク挿入のサブルーチン51に入る。
Then, the data of the input data buffer IDB indicated by the range stored in steps 24 and 25 is inserted into the moving buffer MB by steps 48, 49, 50 and 51 of FIG. More specifically, the range start address, the range end address, and the insertion destination address are entered in the parameter registers P1, P2, and P3, respectively, and the block insertion subroutine 51 is entered.

このサブルーチンは第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に格納とする。
This subroutine is shown in FIG. 6, and in steps 52 to 54, the contents of the registers P1 to P3 are stored in the register SF.
Put it in A, SLA, IA, save the parameters, and
At, the start address of the source range is placed in register SCA. Next, in steps 56 and 57, the data insertion step 5
Set 8 parameters and insert 1 data. The data insertion is shown in FIG. 7, and in steps 59 and 60, the register P1 or the address of the data to be inserted is stored in the register SDA, and the register P2 or the insertion destination address is stored in the register DA. In step 61, the address of the insertion destination of the register DA and the IF in hexadecimal notation, that is, 0111111 according to bit notation, is taken, that is, in other words,
Only the 5th bit is extruded from the 1st word (16bits) LSB (least signature bit) side, and then 3 is subtracted from the extruded result and stored in the register DP. The meaning of this step is to store in the register DP the record of the data, that is, the data portion of the record of the type shown in FIG. 3, that is, the number of the 28th word to be inserted starting from the illustrated location B4.

次にステツプ62においては挿入先のアドレス即ちレジス
タDAの内容と16進表記のFFEOとのアンドをとりレジスタ
RAに格納する。これは挿入先のアドレスのレコードの先
頭番地をレジスタRAに格納することで第3図により示せ
ば図示B1のアドレスをレジスタRAに格納することであ
る。なおフローにおいて上述のステツプ61,62等で(XXX
X)16と示すのはXXXXが16進表記であることを示すもの
である。
Next, in step 62, the AND address of the insertion destination, that is, the contents of register DA and FFEO in hexadecimal notation
Store in RA. This is to store the head address of the record of the address of the insertion destination in the register RA, and thereby store the address of B1 shown in FIG. 3 in the register RA. In the flow, in steps 61, 62, etc. above (XXX
X) 16 indicates that XXXX is in hexadecimal notation.

次にステツプ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のコン
テンツで示されるアドレスに入れて、新しいレコードの
結合と、未使用レコードのつながりの変更を完了する。
Next, in step 63, it is checked whether or not the content of RA + 2, that is, the data length of the record is smaller than 28. If the length is less than 28, this indicates that there is an empty space in this record, so the data after the data of the address of the insertion destination is shifted to the right by one word in the form of FIG. That is, the final address of the word group to be shifted to the register P1, the final address of the word group after the shift to the register P2, and the word length to be shifted to the register P3 are set, and transfer is performed by the step 67. Step
As will be described in detail with reference to 67, as shown in FIG. 8, first, the register N is set to 0 at step 68, and when the content of the register N becomes the above-mentioned register P3, that is, the word length at step 69, this sub-routine is finished. Until step 70 shifts. When this transfer step 67 ends, the word length of the data of this record is then incremented by step 72. Next, in step 73, the data to be inserted, that is, the content of the register SDA is put into the address of the insertion destination, that is, the register DA, and the data transfer is completed. On the other hand, if the data word length of this record is 28 or more at step 63, it means that there is no space in this record, so first test at step 74 whether the inserted portion is the start address of this record, That is, it is tested whether or not the register DP is 1, and if it is not 1, the process moves to to newly install a register. In FIG. 9, steps 75-78
The contents of the current head unused record pointer FTBRP are registered in the register NEWRP, the address of the record following the current record is registered in the register CNRP, the address of the record next to the current head unused record is registered in the register CNBRP, and the length of the current data record is recorded. Save to register CRL. Then step 7
Change the connection of new record and the connection of unused record by 9 to 84. In step 79, the contents of the first unused record pointer CNBRP are set to the second unused record.
Change to the record address. Next, the step 80 puts 0 into the head address of the record indicated by the newly shown head unused record pointer FBRP. Next step
At step 81, the contents stored at step 75 are put into the second word of the current record, that is, the word indicating the address of the succeeding record. Next, in step 82, the content of the register NEWRP is put into the address of the content of the register CNRP saved in step 76. Then in step 83 (NEWRP) +1
Put the contents of register CNRP at the address indicated by. In step 84, the register RA is put in the address indicated by the contents of the register NEWRP to complete the merging of new records and the change of connection of unused records.

次にステツプ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とし初期値をセツトする。
Then, in steps 85 to 88, the data from the address to be inserted to the end of the record is transferred to the new record. The transfer routine is shown in FIG. 8 as described above. In step 89, the record length of the record in which the data is inserted is changed to a new one. That is, the place to insert the data, that is, the contents of the register DP
Enter at the address indicated by RA + 2. At step 90, the data length of the new record is set to the transferred data length. Moving to the next step, the data to be inserted in step 73 shown in FIG. 7 is placed in the address indicated by the register DA and the data insertion routine is ended. In step 74, if the register DP, that is, the insertion position is the first word of the data portion of the record, the operation moves to AL, that is, FIG. Ask for an address. In detail, the step
The data scanner of 95 is a parameter, the register P1 is the scan start address, the register P2 is the scan length of the data, the register P3 is the scan end address, the register P4 is the scan direction, 0 is the forward direction, 1'indicates the opposite direction. Register P2 and register P3
Is used exclusively, and when it is not used, if 0 is entered, the answer will be entered when the data scanner 95 is completed. For example, in this example, P1 = D according to steps 91 to 94.
Since A, P2 = 1, P3 = 0, P4 = 1 are specified, the register P3 has the address of the position skipped from the register P1 (register DA) to the register P2 (1 word) in the direction indicated by the register P4, that is, in the reverse direction. The data scanner 95 outputs. More specifically, the registers P1 to P4 are saved in steps 96 to 99 in FIG.
Store in BA, CSL, CSEA, CSD. In steps 100 and 101, set register SCA to the contents of register CSBA,
Set the register DSC to 0 and set the initial value.

次にステツプ102においてレジスタCSLが0以下即ちスキ
ヤンの長さが0以下の場合はステツプ103においてレジ
スタCSEA即ちスキヤン最終アドレスのチエツクを行い、
これも0以下である場合はパラメータ不良でありこのサ
ブルーチンを終える。その他の場合はに移りスキヤン
を始める。第12図においてステツプ104においてスキヤ
ン中の現アドレスのレコードの先頭アドレスをレジスタ
SRAに格納する。次にステツプ105においてSCA+1−2
×CSDをレジスタSCAに格納する即ちレジスタCSDが0の
場合即ち順方向スキヤンの場合はレジスタSCAをカウン
トアツプし、レジスタSCAが1の場合、即ち逆方向の場
合はカウントダウンする(この例ではカウントダウンに
なる。)。
Next, when the register CSL is 0 or less, that is, the scan length is 0 or less in step 102, the register CSEA, that is, the scan final address is checked in step 103.
If this is also 0 or less, the parameter is defective and this subroutine is terminated. In other cases, move to and start skiyan. In FIG. 12, the start address of the record of the current address in the scan is registered in step 104.
Store in SRA. Next, at step 105, SCA + 1-2
Store CSD in register SCA, that is, if register CSD is 0, that is, forward scan, count up register SCA, and if register SCA is 1, that is, reverse direction, count down (in this example, count down). Become.).

次にステツプ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を現アドレスとしてこの
サブルーチンをぬける。
Next, at step 106, the content of the register SCA counted up or down is smaller than SRA + 3, that is, the third
Explaining with reference to the figure, it is checked whether the address is in the address B1, B2, B3, B4 shown in the record, and if it is not within this period, the process proceeds to step 108. This is SCA
≤SRA + (SRA + 2) "3, that is, whether the content of the register SCA is within an address of the final data of the record starting with the content of the register SRA. YE
If it is S, the process proceeds to step 109 and the register DSC that counts the length of the scan is incremented. Then step 1
In 10 it is checking whether the register CSL is 0 or less. That is, when the content of the register CSL is greater than 0, it is indicated that the scan length is specified as described above. Therefore, the process moves to step 111, the register DSC is compared with the register CSL, and the register DSC is the register CSL. If it is smaller, the same routine as above is repeatedly executed from AM again, and when DSC = CSL, step 112 is entered. At step 112, the contents of register P3 are changed to register S
Store in CA. That is, this subroutine is skipped with the register P3 as the current address.

一方ステツプ110においてCSL≦0の場合即ちスキヤンの
長さが指定されざる場合は、ステツプ113によってレジ
スタSCAとレジスタCSEAが等しいかどうかを比較し、即
ち現アドレスとスキヤン最終アドレスとを比較し等しい
場合はステツプ114によりレジスタP2をレジスタDSCへ格
納し、即ちスキヤン時にカウントアツプしてきた数値に
してこのサブルーチンを終える。
On the other hand, if CSL ≦ 0 in step 110, that is, if the scan length is not specified, step 113 compares whether the register SCA and the register CSEA are equal, that is, the current address and the scan final address are compared and equal. Stores the register P2 in the register DSC in step 114, that is, sets the value counted up at the time of scanning to the end of this subroutine.

一方ステツプ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)〕とする。
On the other hand, if SCA≤SRA + 3 in step 106, the process moves to step 115 to test whether (SRA + 1-CSD) is 0 or not. That is, step 115 is checking whether the record to be skipped next is 0, and when the record to be skipped next is 0, that is, when there is no record following the current record, the process proceeds to step 116 and CSL≤0. If it is, CSD-1 is stored in P3 at step 117, and if CSL> 0, then at step 118 P2 = DSC is set and this subroutine is finished. If it is found in step 115 that there is a record to be skipped next, it is transferred to step 119, SRA is set to (SRA + 1-CSD), and SCA is set to SRA in step 120.
+ 4 + CSD × [(SRA + 2)] That is, SCA is SRA + 4 when CSD (scan direction) is 0, and when CSD is 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を完了する。
In this formula as well as in other cases (SRA + 2) is SRA + 2
It shows the contents of. After completion of the above steps, the process returns to step 105 and the same steps as above are repeated. If NO in step 108, step 119 is entered and the same step as above is executed. When the data scanner subroutine of FIG. 10 is completed as described above, step 120 is entered next. In Step 120, P3 and (FFE
O) The AND of 16 is taken and stored in the register PR. That is, when the address to be inserted is the head of the data portion of this record, the address of the previous record is stored in the register PR. Then, at step 121, register PR
Check the data length of the record shown in, ie (PR + 2)
If ≧ 29 can be checked and YES is determined, there is no free address to be inserted here. Therefore, the above steps are similarly executed. In the case of NO, the data to be pushed to step 122, that is, (SDA), is written in P3 + 1, that is, the address next to the address of P3 obtained in the data scan step 95. Next, at step 123, the data length of this record is incremented, the data insertion subroutine is ended, and step 58 of FIG. 6 is completed.

続いてステツプ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に入り、このレコードの
データ長をデイクリメントする。
Then, in steps 124 to 128, the address of the data next to the address of the register SCA is obtained. The data scanner of step 128 is exactly the same as that described with reference to FIG. Therefore, in the data scan step 128, the next address is placed in the register P3. Next, in step 129, the SCA and SLA, that is, the register for storing the address obtained in the data scanner step 128 in step 130 if the address of the source data for data insertion executed in step 58 and the final address of block insertion are compared. Put the contents of P3 into the current value register NR and complete the block insertion. If NO in step 129, the contents of P3 are stored in the register SCA by step 131 and transferred to step 132, and it is checked whether the data inserted in step 58 is a character code. If YES, step 133 displays the CRT display. After incrementing the cursor position,
If NO, move to step 134 immediately. Steps 134-138
Then, the address of the next insertion destination is obtained. As a result, that is, the contents of the register P3 are stored in IA in step 139, the process returns to step 56 and the above-mentioned routine is repeated. When the block insertion process shown in FIG.
Enter 140 steps. Steps 140-142 delete the source data of the data inserted by step 51, i.e. the blocks bounded by steps 24 and 25. More specifically, in step 140, the content of the register P1 is set as the start address of the data to be deleted, and the final address of the data to be deleted is set in P2. Then move to step 142, that is, enter step 143 of FIG. Steps 143 to 144 save the parameters of the registers P1 and P2 in the registers DLFA and DLLA, respectively, and the contents of the register DLCA in DLLA. In this block deletion, the last data of the block to be deleted is traced back to the top data in order. The contents of the register DLLA that stores the final address of the block to be deleted are stored in the register DLCA in step 145, the data of the address indicated by the register DLCA is deleted in step 146 and thereafter, and the data immediately before the register DLCA is searched. The block is deleted by deleting again. More specifically, in step 146, P
1 = DLCA is set and the data deletion subroutine 147 is entered. Step 147 is illustrated in FIG. Step 148 saves the address of the data to be deleted in register SDLA,
The record address of the data address to be deleted in 9 is stored in the register SDRA. Next, in step 150, it is tested whether the data length of this record is 1 or less, and if it is not 1 or less, step 151 is entered. In step 151, it is checked whether the contents of the register SDLA is the address of the data at the end of the record, that is, SDLA ≧ SDLRA + (SDLRA
If +2) +3, step 152 is entered and the data length of this record is decremented.

次にステツプ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の
内容を入れる。
Next, in step 153, the register SDLA is also decremented, and the process proceeds to FIG. 16. In steps 154 to 157, the address of the next data of the current register SDLA is obtained, and in step 159, P2 = P3 is set, and this subroutine is ended. If NO in step 151, the parameters of the reverse transfer step 163 are specified in steps 160 to 162. That is, the register P1 is the transfer source start address, the register P2 is the transfer destination start address, and the register P3 is the transfer length. The transfer length is transferred to the transfer destination in order from the start of the data to be transferred.
More specifically, in step 15 of FIG.
= 0, next, in step 165, the register N and the register P3 are compared, that is, the transfer length is compared, and steps 166 and 167 are repeatedly transferred until they become equal. When they become equal, this reverse transfer routine is ended and step 168 in FIG. 14 is entered. At step 168, the data length of this record is decremented, and then at step 168 ', P2 = SDLA is set and the data deletion subroutine is skipped. Also, if the data length of this record is 1 in step 150, it is entered, and in step 169 of FIG. 17, it is tested whether this record is the last record of the data record, that is, the content of the end data record pointer, and it is not the last record. In case of SDLR ≠ (LDRP), this record is deleted in steps 170 to 177. In detail, step
At 170, the content of the unused record pointer LBRP at the end is saved as the content of the register LBR1, and at the address indicated by (SDLRA + 1) in step 171, that is, at the head address of the record following the record to be deleted, the register is stored.
Enter the address indicated by SDLRA, that is, the start address of the record preceding the record to be deleted. Next step
In (172), (SDLRA + 1) is put in the address indicated by (SDLRA) +1, that is, the head address of the next succeeding record is put in the second word of the preceding succeeding record. Next, in step 173, SDLRA is put in the address indicated by (LBRP) +1, that is, the record to be deleted is put in the string of unused records. Next, at step 174, the second word of the record to be deleted is set to 0.
End unused record pointer LBRP in step 175
Into the register SDRRA, that is, the address of the record to be deleted. Next, at step 176, the content of the register P2 is set to the address containing the data following the deleted data. Then, in step 177, the record deleted in step 177, that is, the address stored in the trailing unused record pointer LBRP is set to the address stored in step 170 and the data deletion subroutine is terminated. If YES in step 169, that is, if the record to be deleted is the end data record,
Move to AJ and delete this record by steps 178 to 186 in FIG. More specifically, in steps 178 and 179, the addresses indicated by the end data record pointer LDRP and the end unused record pointer LBRP are stored in the registers LDR1 and LBR1, respectively. In step 180, the end address of the record preceding the record to be deleted, that is, the content of the register LDR1 is put in the end data record pointer LDRP, and then in step 181 the LDR1 stored in the end unused record pointer LBRP in step 178 is stored.
That is, the start address of the record to be deleted is entered. Next, at step 182, 0 is put in the address indicated by (LDRP) +1. Then in step 183 the register LDR1
Insert LBR1 at the address indicated by. Then step 184
In, the contents of the register LDR1 are put into the address indicated by LBR1 + 1.

次にステツプ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をくり返し、等しくなったらブロツク削除が完
了したことになるのでブロツク削除のサブルーチンを終
る。
Next, at step 185, 0 is added to the (LDRP) +1 address.
Put in. Next, in step 186, the register P2 is set to -1.
Indicates that the current cursor position is the final position of the record. Thus, the data at the address specified by register P1 is deleted by the above data deletion routine, and the register
The work of putting the address of the next data of the above deleted data into P2 is completed. Next, in step 187, the above-mentioned register P2 is set to the contents of the register DLCA, and next, in steps 188 to 193
Causes the contents of register DLCA to be changed to the address of the data immediately before the data currently indicated by DLCA. That is, the address of the previous data is registered by the data scanner described above.
It is returned to P3, and the contents of the register DLCA are set in step 193. Next, in step 194, the contents of the register DLCA are equal to the register DLFA saved in step 143, that is, the start address of the data block to be deleted.
146 to 193 are repeated, and if they are equal, it means that the block deletion is completed, so the block deletion subroutine is ended.

上記により第4図のステツプ142のブロツク削除をして
ステツプ194により移動範囲のステイタスをリセツト
し、ZZに入る。
As described above, the block of the step 142 shown in FIG. 4 is deleted, the status of the movement range is reset by the step 194, and the step ZZ is entered.

第19図ZZよりステツプ195に入り、CRT装置DPの先頭デー
タのアドレスLHA(1)をレジスタP1に記憶してデイス
プレイのサブルーチンに入り第1図メモリMの内容を新
規に書きかえる。即ち順に読み出し文字コードを順次デ
イスプレイ先頭データのアドレスLHA(1)よりメモリM
10に入れることにより、CRT装置DPに表示させるもので
ある。この結果「移動範囲」で定めた範囲のデータは移
動用バツフアに記憶されると共に元のデータから削除さ
れ、またCRT画面よりも削除される。
From ZZ in FIG. 19, the step 195 is entered, the address LHA (1) of the head data of the CRT device DP is stored in the register P1, the display subroutine is entered, and the contents of the memory M in FIG. 1 are newly rewritten. That is, the read character code is sequentially read from the address LHA (1) of the display start data in the memory M
By putting in 10, it is displayed on the CRT device DP. As a result, the data within the range defined by the "moving range" is stored in the moving buffer, deleted from the original data, and deleted from the CRT screen.

次にカーソルを所望の移動先にもってきてキーボード5
上の「移動先」のキーを押すと、ステツプ197(第4
図)によりへ移り第20図ステツプ198により移動先の
アドレスを記憶する。次にステツプ199〜202により前記
移動用バツフアに記憶したデータを所望の位置に挿入す
るものである。
Next, bring the cursor to the desired destination and press the keyboard 5
When you press the "Move to" key above, step 197 (4th
Then, the address of the destination is stored by step 198 in FIG. Next, in steps 199 to 202, the data stored in the moving buffer is inserted into a desired position.

ブロツク挿入ステツプ202は前記に説明したと全く同じ
ものである。次にZZに移り、前記のステツプ194から入
ったときと同様、新しい表示をCRTに行う。
The block insertion step 202 is exactly the same as described above. Then move to ZZ, and make a new display on the CRT, just as when entering from step 194 above.

以上でブロツク転送が行われたのであるが、転送後も移
動用バツフアのデータは保存されているので、再び所望
の位置にカーソルをおいて「転送先」のキーを押すこと
により同様のデータを複製して挿入することができる。
The block transfer was performed as above, but since the data in the transfer buffer is saved even after the transfer, move the cursor to the desired position again and press the "transfer destination" key to copy the same data. Can be duplicated and inserted.

[効果] 以上、詳述した様に、本発明により、第1記憶手段上に
記憶された文書内の所望の任意の長さの一部の文字列を
指定することにより、前記一部の文字列を第2記憶手段
に記憶させ、それに伴って変化する前記第1記憶手段に
おける未使用領域を管理することができ、更に、該文書
中の所望の位置への転送の指示に基づいて、前記所望の
可変量の文字列を前記文書中に転送することができ、そ
れに伴って変化する前記未使用領域を更に管理すること
ができ、文書の作成をその文書中の所望の文字列を複製
しながら行え、かつ、記憶手段の未使用領域も管理する
ことができる文字処理方法を提供することが可能となっ
た。
[Effect] As described above in detail, according to the present invention, by designating a partial character string of a desired arbitrary length in the document stored in the first storage means, the partial character It is possible to store a column in the second storage means and manage the unused area in the first storage means that changes accordingly, and further, based on an instruction of transfer to a desired position in the document, A desired variable amount of character string can be transferred into the document, the unused area that changes accordingly can be further managed, and the creation of the document can be performed by copying the desired character string in the document. However, it is possible to provide a character processing method that can be performed while maintaining the unused area of the storage unit.

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

第1図は本発明による文字処理装置の一実施例を示すブ
ロツク図、 第2図は第1図に示すメモリRAMの詳細図、 第3図は第2図に示す移動用バツフアMBの説明図、 第4図〜第20図は制御手順を説明する図である。 KB3…移動範囲キー KB4…移動先キー ROM…制御メモリ RAM…メモリ
FIG. 1 is a block diagram showing an embodiment of a character processing device according to the present invention, FIG. 2 is a detailed diagram of the memory RAM shown in FIG. 1, and FIG. 3 is an explanatory diagram of a transfer buffer MB shown in FIG. 4 to 20 are diagrams for explaining the control procedure. KB3 ... Move range key KB4 ... Move destination key ROM ... Control memory RAM ... Memory

───────────────────────────────────────────────────── フロントページの続き (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 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Katsumi Masaki 3-30-2 Shimomaruko, Ota-ku, Tokyo Canon Inc. (72) Hideshi Ichimura 3-30-2 Shimomaruko, Ota-ku, Tokyo Kya Non-Incorporated (56) Reference JP 54-56726 (JP, A) JP 54-44442 (JP, A) Information Processing Society of Japan "Electronic Computer Handbook" (SHO 41-5-25) Ohmsha , P .; 7-23 ~ 7-25

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】文書データを記憶するための第1及び第2
のデータ記憶手段を有する文字処理装置において、前記
第1データ記憶手段上の未使用領域に基づいて、前記第
1のデータ記憶手段に記憶された文書データの編集を行
う文字処理方法であって、 前記第1のデータ記憶手段に記憶された文書データ内の
所望の任意の長さの一部のデータ列が指定された場合
に、当該指定された一部のデータ列を、前記第1のデー
タ記憶手段から前記第2のデータ記憶手段へ転送して記
憶させ、 前記第1データ記憶手段において、転送された前記一部
のデータ列の記憶されていた領域を前記未使用領域に追
加し、 前記第2のデータ記憶手段に記憶された前記一部のデー
タ列について、前記第1のデータ記憶手段に記憶されて
いる文書データ中における転送先が指示される毎に、前
記第1のデータ記憶手段において、前記一部のデータ列
を記憶する領域を前記未使用領域より指示された転送先
に確保し、当該確保された領域へ、前記第2のデータ記
憶手段に記憶された前記一部のデータ列を転送して記憶
させ、 前記第1のデータ記憶手段において、前記確保された領
域を前記未使用領域から削除することを特徴とする文字
処理方法。
1. A first and a second for storing document data.
In the character processing device having the data storage means, a character processing method for editing document data stored in the first data storage means based on an unused area on the first data storage means, When a partial data string of a desired arbitrary length is specified in the document data stored in the first data storage means, the specified partial data string is replaced with the first data. Transferring from the storage means to the second data storage means for storage, and adding the stored area of the transferred partial data string to the unused area in the first data storage means; Each time the transfer destination in the document data stored in the first data storage unit is designated for the partial data string stored in the second data storage unit, the first data storage unit smell An area for storing the part of the data string is reserved at a transfer destination designated by the unused area, and the part of the data string stored in the second data storage means is allocated to the reserved area. Is transferred and stored, and the secured area is deleted from the unused area in the first data storage means.
JP1111848A 1989-04-28 1989-04-28 Character processing method Expired - Lifetime JPH0778798B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1111848A JPH0778798B2 (en) 1989-04-28 1989-04-28 Character processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1111848A JPH0778798B2 (en) 1989-04-28 1989-04-28 Character processing method

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 (en) 1990-09-19
JPH0778798B2 true JPH0778798B2 (en) 1995-08-23

Family

ID=14571682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1111848A Expired - Lifetime JPH0778798B2 (en) 1989-04-28 1989-04-28 Character processing method

Country Status (1)

Country Link
JP (1) JPH0778798B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
情報処理学会「電子計算機ハンドブック」(昭41−5−25)オーム社,P.7−23〜7−25

Also Published As

Publication number Publication date
JPH02236661A (en) 1990-09-19

Similar Documents

Publication Publication Date Title
KR860001071B1 (en) Method for editing document
US4620295A (en) Method for accessing a data set in a word processing system
JPH0541997B2 (en)
US5157784A (en) Memory control system responsive to determination, allocating adjacent test space for editing space, relocating adjacent text and editing selected text
JP2686758B2 (en) Graphic editing device
JPH0778798B2 (en) Character processing method
EP0197907B1 (en) Display device
JP2891322B2 (en) Smooth text display system
JPS6326909B2 (en)
JPS6365988B2 (en)
JPH0452859A (en) Character processor
JPS63835B2 (en)
JP2567187B2 (en) Character processing method
JPH0567126A (en) Method and device for list calculation processing
JPH03141461A (en) Document processor
JPS5840755B2 (en) Display control method
Pramanik Map editing.
JPH0578036B2 (en)
Pramanik et al. A data-handling mechanics of on-line text editing system with efficient secondary storage access
JPS6113488A (en) Storage control system of nonerase type disk device
JPH03176759A (en) Character processor
JPH03141462A (en) Document processor
JPS59142591A (en) Generation of character pattern
JPH02998A (en) Character pattern control method
JPH04282755A (en) Word processor