JPS6285325A - Edit command processing method - Google Patents
Edit command processing methodInfo
- Publication number
- JPS6285325A JPS6285325A JP22472985A JP22472985A JPS6285325A JP S6285325 A JPS6285325 A JP S6285325A JP 22472985 A JP22472985 A JP 22472985A JP 22472985 A JP22472985 A JP 22472985A JP S6285325 A JPS6285325 A JP S6285325A
- Authority
- JP
- Japan
- Prior art keywords
- register
- data
- editing
- operand
- 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
Links
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、編集処理に係り、特に編集命令の高速処理が
可能な編集命令処理方式に関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Application of the Invention] The present invention relates to editing processing, and particularly to an editing command processing method capable of high-speed processing of editing commands.
情報処理装置で使用される編集命令は、1o進演算の結
果をプリント・アウトする場合に、小数点を入れたり、
3桁ごとにコンマを挿入したり、頭の不要なゼロを消し
たりするため、あるいは2種以上のデータを編集するた
めに使用される。Editing instructions used in information processing devices include inserting a decimal point when printing out the result of a decimal operation,
It is used to insert commas every three digits, delete unnecessary leading zeros, or edit two or more types of data.
情報処理装置において、10進数オペランドは次のよう
に取り扱われている。すなわち、10進数1桁を4ビツ
トの2進数により表現する。例えば、10進数の“0″
は2進数“0000”、10進数のit 1 uは2進
数”0001”で表現し、最大数9は2進数”1001
”に対応しているので、10進数は4ビツトの2進数“
0000”から”1001”までで表現することができ
る。これが数字であって、2進数のうちの残りの“10
10”から” i i t i”までは。In information processing devices, decimal operands are handled as follows. That is, one decimal digit is expressed as a 4-bit binary number. For example, decimal “0”
is expressed as a binary number "0000", the decimal number it 1 u is expressed as a binary number "0001", and the maximum number 9 is expressed as a binary number "1001".
”, so a decimal number is a 4-bit binary number “
It can be expressed as a number from ``0000'' to ``1001.'' This is a number, and the remaining ``10'' of the binary number
From 10” to “i it i”.
正、負の符号を表す。Represents positive and negative signs.
情報処理装置内では、この数字と符号を用いて、第1図
(a)に示すような4ビツトごとにフォーマットで取り
扱われるにれをパック形式10進デ−夕と呼ぶ、バック
形式では、1バイトで2つの数字を表すことができるの
で、記憶容量に対して有利である。なお、第1図(a)
では4バイト(32ビツト)の長さになっているが、実
際には何ビットであってもよく、最後の4ビツトの符号
により、数字列の終了を検知する。In an information processing device, using these numbers and codes, data that is handled in a format of every 4 bits as shown in Figure 1(a) is called a packed decimal data. Since two numbers can be represented in a byte, it is advantageous in terms of storage capacity. In addition, Fig. 1(a)
Although the length is 4 bytes (32 bits), it can actually be any number of bits, and the end of the number string is detected by the sign of the last 4 bits.
ところで、パック形式10進データをプリント・アウト
する場合、このままのフォーマットでは処理できない。By the way, when printing out packed format decimal data, it cannot be processed in the current format.
プリンタは、O〜9の数字の他にも、A−Zのアルファ
ベット、特殊文字等を解読する必要があり、2進数4ビ
ツトでは16字分しか表現できないから、これらすべて
をパック形式のままプリンタに送っても識別不能となる
。したがって、プリンタ等の出力装置に文字認識をさせ
るため、パック形式10進データとは異なる表現方法、
つまりビット数の多いパターンで表す方法が用いられて
いる。これを、ゾーン形式と呼ぶ。In addition to numbers O to 9, printers also need to decipher alphabets from A to Z, special characters, etc. Since only 16 characters can be expressed in 4-bit binary numbers, printers can print all of these characters in packed format. Even if sent to Therefore, in order to allow an output device such as a printer to recognize characters, a different representation method than packed decimal data,
In other words, a method of representing a pattern with a large number of bits is used. This is called a zone format.
ゾーン形式では、すべての数字、アルファベット。In zone format, all numbers, alphabets.
特殊文字は、1字を1バイト(8ビツト)で表現する。One special character is expressed in one byte (8 bits).
特に、O〜9の数字は、第1図(b)に示すように、1
バイトの左4ビツトを”+111’“ (つまり16進
でF)とし、右4ビツトを”oooo”〜” 1ooi
” c o〜9に対応)で表す。したがって、第1
図(a)のバック形式で(1)(2)(3)(4)の数
字が各4ビツトで配列されていれば、それらをゾーン形
式に変換すると、第1図(b)のように、F(1)、F
(2)、F(3)、F(4)の各8ビツトの配列となる
。In particular, the numbers 0 to 9 are 1 as shown in Figure 1(b).
The left 4 bits of the byte are "+111'" (that is, F in hexadecimal), and the right 4 bits are "oooo"~" 1ooi
” (corresponding to c o ~ 9). Therefore, the first
If the numbers (1), (2), (3), and (4) are arranged with 4 bits each in the back format shown in Figure (a), then when they are converted to the zone format, they will be as shown in Figure 1 (b). , F(1), F
(2), F(3), and F(4), each consisting of 8 bits.
バック形式では“0101”で表現される数字5は、ゾ
ーン形式のJIIIOIOI”に変換される。The number 5, which is expressed as "0101" in the back format, is converted to "JIIIOIOI" in the zone format.
情報処理装置内で使用される編集命令は、パック形式1
0進データをゾーン形式に変換する命令である。この命
令は、バック形式10進データをゾーン形式に変換する
とともに、小数点の挿入。The editing instructions used within the information processing device are in pack format 1.
This is an instruction to convert 0-decimal data to zone format. This instruction converts back format decimal data to zoned format and inserts a decimal point.
3桁ごとのコンマの挿入1頭の不要なゼロの削除等を行
う。Insert a comma every three digits, delete one unnecessary zero, etc.
編集命令には、2つのオペランドが含まれるが、それら
のうち第2のオペランドにバック形式のデータが入れら
れ、第1のオペランドに編集パターン(マスク・パター
ン)が入れられる。編集パターンにしたがって第2オペ
ランドのバック形式がゾーン形式に変換され、結果が第
1オペランドに入れられる。The edit command includes two operands, the second of which contains data in back format, and the first of which contains an edit pattern (mask pattern). The back format of the second operand is converted to zone format according to the edit pattern and the result is placed in the first operand.
第2図は、編集を行うための編集パターンとして用いら
れる制御コードを示す図である。FIG. 2 is a diagram showing control codes used as editing patterns for editing.
第2図に示す5稚魚の制御コード(1バイト畏)が第1
オペランドに入れられ、この制御コードにしたがって、
第2オペランドの文字が変換される。The control code (1 byte) for the 5 fry shown in Figure 2 is the first
is placed in the operand and according to this control code,
The characters of the second operand are converted.
すなわち、先ず第】オペランドの編集パターンの先頭の
制御コードを読み、制御コードの指示にしたがって第2
オペランドのパック形式データの先頭ディジットを、ゾ
ーン形式に変換し、その結果を第1オペランドの制御コ
ードと入れ替える。以後、第1オペランドの制御コード
を1バイトずつ読み出し、第2オペランドのパック形式
データを。That is, first read the control code at the beginning of the editing pattern of the [] operand, and then read the control code at the beginning of the edit pattern of the [] operand, and then
The first digit of the packed format data of the operand is converted to the zone format, and the result is replaced with the control code of the first operand. After that, read the control code of the first operand one byte at a time, and read the packed format data of the second operand.
制御コードの指示にしたがって1デイジツトずつゾーン
形式に変換する。Each digit is converted into zone format according to the instructions of the control code.
5種の制御コー1への動作は、次のとおりである。The operations of the five types of control code 1 are as follows.
先ず、理学は11集したいデータの不要な頭の0を、他
の文字に置き換えたいときに用いら九る。First of all, Rigaku is used when you want to replace unnecessary leading zeros of the data you want to collect with other characters.
通常、置き換える文字としては、ブランク(40)1[
1,あるいはアスタリスク(5C)等が用いられる。第
1オペランドの先rfi1バイト目のパターンが理学と
して扱われる。Usually, the characters to be replaced are blank (40) 1 [
1, or an asterisk (5C), etc. are used. The pattern of the first rfi byte of the first operand is treated as physical data.
次に、数字選択文字(20)xeは、バック形式の4ビ
ツトからなる10進数字をゾーン形式の8ビツトからな
る数字に変換して、編集パターンの(20)xeの場所
に入れる指示を行う。なお、第2オペランドの1バイト
の右側4ビツトに符号があった場合には、符号のかわり
に符号の次の4ビツトの数字がゾーン形式に変換される
。ただし、第2オペランドの先頭から110 IIが続
いている場合は、先行110 IIと呼び、II OI
Iに対するゾーン形式のかわりに理学を数字選択文字と
置き換える。Next, the number selection character (20) xe instructs to convert the 4-bit decimal number in the back format into an 8-bit number in the zone format and insert it into the location of (20) xe in the edit pattern. . Note that if there is a code in the right 4 bits of 1 byte of the second operand, the 4-bit number next to the code is converted into the zone format instead of the code. However, if 110 II continues from the beginning of the second operand, it is called the preceding 110 II, and II OI
Replace the zone form for I with a numeric selection letter for science.
110 I+以外の数字が現れると、数字選択文字はゾ
ーン形式の数字で置き換えられるにの後″O′″が現れ
ると、理学ではなく、ゾーン形式の110 ITに置き
換えられる。このように、バック形式の′0″′を先行
110 ++とみなさないような状態を、「有意である
Jという。If a digit other than 110 I+ appears, the numeric selection character is replaced by a zoned digit; if "O'" appears after it, it is replaced by a zoned 110 IT instead of a digit. In this way, a state in which '0''' in the back form is not regarded as a leading 110 ++ is called "significant J."
次に、メツセージ文字は、編集に際して、符号、コンマ
、小数点等を入れるためのものであって、第1オペラン
ドにはメツセージ文字がそのまま残る。ただし、処理状
態が「有意でないJ、つまり先行″′0″′が続いてい
る場合には理学と置き換えられる。Next, the message characters are used to insert signs, commas, decimal points, etc. during editing, and the message characters remain in the first operand as they are. However, if the processing state is "not significant J," that is, if the preceding "'0"' continues, it is replaced with science.
次に、有意開始文字(21)zeは、有意開始文字が現
れた次の桁から有意状態にさせる制御コードであって、
例えば、小数点の左側の′0″等は先行It OITで
もそのまま残したい場合が多いので。Next, the significant start character (21) ze is a control code that makes the significant state start from the next digit where the significant start character appears,
For example, it is often desirable to leave ``0'' to the left of the decimal point as is even in the preceding IT OIT.
それより1つ前の位置に(21)zsを入れておく。Insert (21) zs one position before that.
これにより、先行“0”の状態であっても。As a result, even in the leading "0" state.
(21)1oの後の桁では、バック形式の′0″に対し
、J[!!字ではなく、ゾーン形式の’FO”が入れら
れる。なお、有意開始文字のある桁自身は。(21) In the digit after 1o, the zone format 'FO' is inserted instead of the J[!! character in place of the back format '0'. In addition, the digit itself with a significant starting character.
数字選択文字と同じようにゾーン形式の数字に置き換え
られる。Replaced with zoned numbers in the same way as numeric selection characters.
次に、欄区切り文字(22)lsは、それ自身は編集パ
ターンの最左端にある理学と置き換えられるが、以後の
桁から有意状態が解除される。すなわち、欄区切り文字
が出現した後で、数字選択文字が′0”に出合うと、先
行re Otoと見て理学と置き換えられる。Next, the column delimiter (22) ls itself is replaced with the leftmost digit of the editing pattern, but the significance status is canceled from the subsequent digits. That is, if the numeric selection character encounters '0' after the column delimiter appears, it is treated as the preceding re Oto and replaced with Rigaku.
第3図は、有意である状態と有意でない状1mの切り換
え時の説明図である。FIG. 3 is an explanatory diagram when switching between a significant state and a non-significant state 1m.
有意でない状態から有意である状態に移るのは、第3図
に示すように、# OI+以外の数字が現れたときと、
有意開始文字(21)1eが現れたときの2つであり、
また有意である状態から有意でない状態に戻るのは、欄
区切り文字(22)reが現れたときと、バック形式デ
ータ1バイトのうち後半4ビツトが正の符号であったと
きの2つである。As shown in Figure 3, the transition from a non-significant state to a significant state occurs when a number other than #OI+ appears.
There are two when significant starting character (21) 1e appears,
There are two cases in which a significant state returns to a non-significant state: when the column delimiter (22) re appears, and when the last 4 bits of 1 byte of back format data have a positive sign. .
以上が、編集命令の説明である。The above is an explanation of the editing command.
編集命令では、マスク・パターンである第1オペランド
の内容により、バック形式データである第2オペランド
の使用量(長さ)が左右される。In an edit command, the usage amount (length) of the second operand, which is back format data, is influenced by the contents of the first operand, which is a mask pattern.
即ち、マスク・パターンが数字選択文字(20)16で
ある場合は、パック形式の第2オペランド4ビツトがゾ
ーン形式の第1オペランド8ビツト(又は理学)に置き
かえられるが、マスク・パターンがメツセージ文字であ
る場合は、パック形式の第2オペランドが使用されずそ
のままメツセージ文字が残る。この様に第1オペランド
の内容によって、必要とする第2オペランドの長さがか
わることが編集命令の特徴であり、編集処理の高速化を
防げる要因の1つになっている。That is, if the mask pattern is a numeric selection character (20) 16, the 4-bit second operand in packed format is replaced by the 8-bit first operand (or physical) in zone format, but if the mask pattern is a message character If so, the second operand of the packed format is not used and the message characters remain as they are. As described above, it is a feature of editing commands that the required length of the second operand changes depending on the content of the first operand, and this is one of the factors that prevents speeding up of editing processing.
従来の処理装置の一例を第4図に示す。An example of a conventional processing device is shown in FIG.
2つのオペランドは、メモリ10に存在し、処理装置に
より固有の長さ、例えば8バイトずつ、切り出されてそ
れぞれレジスタ1、レジスタ2に転送され編集処理が行
われる。編集結果はレジスタ3を介してメモリ1oに格
納される。メモリ10からレジスタ1,2へのデータ転
送及びレジスタ3からメモリ1oへのデータ転送の制御
はマイクロプログラム20により行われることが多い。The two operands exist in the memory 10, and are cut out by the processing device into specific lengths, for example 8 bytes, and transferred to registers 1 and 2, respectively, for editing. The editing result is stored in the memory 1o via the register 3. Control of data transfer from memory 10 to registers 1 and 2 and data transfer from register 3 to memory 1o is often performed by microprogram 20.
編集処理は専用のEDiT回路30で1バイトずつ処理
される。1回の編集処理では、レジスタ1,2から各々
1バイトずつデータを切り出し、結果の1バイトがレジ
スタ3の所定のバイト位置に納められる。この制御はハ
ードウェア又はマイクロプログラムで行われる。ここで
、8回の編集処理を行うことにより、レジスタ1及びレ
ジスタ3の1本分のデータが使用される。従って、マイ
クロプログラムで編集処理回数をカウントすることによ
り、8回に1同の割合で、メモリ10からレジスタ1へ
のデータ転送及びレジスタ3からメモリ10へのデータ
転送を指示することにより、スムーズに処理を継続する
ことができる。一方、第2オペランドであるレジスタ2
については、第1オペランドの内容によりその必要とす
るデータ量が不規則になるため、必ずしも8回の編集処
理でメモリ10からレジスタ2へのデータ転送を指示す
ることができない。そこで、レジスタ2のデータを全て
使い終わった事をEDiT回路30で検出し線31を通
じてマイクロプログラム20へ報告する。Editing processing is performed byte by byte by a dedicated EDiT circuit 30. In one editing process, one byte of data is extracted from each of registers 1 and 2, and the resulting one byte is stored in a predetermined byte position of register 3. This control is performed by hardware or a microprogram. Here, by performing the editing process eight times, data for one register 1 and register 3 is used. Therefore, by counting the number of editing processes in a microprogram and instructing data transfer from memory 10 to register 1 and data transfer from register 3 to memory 10 at a rate of 1 out of 8, smooth processing can be achieved. Processing can continue. On the other hand, the second operand, register 2
Since the amount of data required is irregular depending on the contents of the first operand, it is not necessarily possible to instruct data transfer from the memory 10 to the register 2 in eight editing processes. Therefore, the EDiT circuit 30 detects that all the data in the register 2 has been used and reports it to the microprogram 20 through the line 31.
マイクロプログラム20は線31が′1′になるとm2
1を通じてレジスタ2へのデータ転送を指示(REQ2
と略記)する、REQ2が発行され)るとメモリ10か
ら線12を通じて次の8バイト第2オペランドデータが
レジスタ2へ転送される。The microprogram 20 reads m2 when the line 31 becomes '1'.
1 to instruct data transfer to register 2 (REQ2
When REQ2 is issued, the next 8 bytes of second operand data are transferred from memory 10 to register 2 via line 12.
(S F=: ’I’ 2と略記する)従来方式では、
1同の編集処理に比べ、レジスタ2へのデータ転送時間
力1畏く、例えば、REQ2と5ET2の各各が1回の
!g集処理と同等、即ち、レジスタ2へのデータ転送が
2回の編集処理と同程度の時間を要してしまた。(abbreviated as SF=: 'I' 2) In the conventional method,
Compared to the same editing process, it takes much longer to transfer data to register 2. For example, each of REQ2 and 5ET2 needs to be transferred once! This is equivalent to the g collection process, that is, the data transfer to register 2 takes about the same amount of time as the two editing processes.
この様な処理について、第5図のフローチャートを用い
より詳しく説明する。Such processing will be explained in more detail using the flowchart shown in FIG.
ここで、40二コで示した内容はマイクロプログラムに
よる処理を示し、1回のlJ集処理に要する時間(1ス
テツプと呼ぶ)がかか机◇で示した内容はマイクロプロ
グラムの処理の切り分けを示し5便宜上時間はOである
。又、 ’EDiT’は1回の編集処理、’REQI
”REQ2’はメモリ10から第]、第2オペランドの
次の1ワードデータの読出し指示、’ S E T 、
1 ” S E T 2 ’はメモリ10からレジスタ
1.2へのデータ転送指示、’5TORIE ’はレジ
スタ3からメモリ10へのデータ転送指示、’[Emp
ty 1 ’はあと2回の編集処理によりレジスタ1の
内容を使い終えるか否かの判断、 ’u+npty
2’はレジスタ2の内容を全て使い終えたか否かの判断
、’ Cont 1nu6 ’は編集処理を継続するか
否かの判断を示す。Here, the content indicated by 402 indicates the processing by the microprogram, and the time required for one IJ collection process (called 1 step) is the content indicated by ◇. 5. For convenience, the time is O. Also, 'EDiT' is a one-time editing process, 'REQI
"REQ2" is the instruction to read the next 1 word data from the memory 10], the second operand, ' S ET ,
1 "S E T 2 ' is a data transfer instruction from memory 10 to register 1.2, '5TORIE' is a data transfer instruction from register 3 to memory 10, '[Emp
ty 1' determines whether or not the contents of register 1 will be used after two more editing processes, 'u+npty
2' indicates a determination as to whether all the contents of register 2 have been used, and 'Cont 1nu6' indicates a determination as to whether or not to continue the editing process.
まずレジスタ1及び2にデータが十分存在する場合には
、処理101で1ステツプ分の編集処理が行われ1判断
111,112はいずれも不成立となるので再び処理1
01八戻る。レジスタ1は、編集処理8回に1回の割合
で次の第1オペランドデータを補給すれば良いから、マ
イクロプログラムにより編集処理回数をカウントするこ
とで、補給する時期が予測可能である。マイクロプログ
ラムが次の第1オペランドデータ8バイトの読出しを指
示(REQlと略記)し、メモリ10からレジスタ1ヘ
データを転送(SETlと略記)するに要する時間が2
ステツプであるものとすると。First, if there is enough data in registers 1 and 2, editing processing for one step is performed in process 101, and both judgments 111 and 112 are unsuccessful, so process 1 is repeated.
018 Return. Since the register 1 only needs to be replenished with the next first operand data once every eight editing operations, the timing of replenishment can be predicted by counting the number of editing operations using a microprogram. The time required for the microprogram to instruct reading of the next 8 bytes of first operand data (abbreviated as REQl) and transfer the data from memory 10 to register 1 (abbreviated as SETl) is 2.
Suppose it is a step.
レジスタ1の内容が残り2バイトとなった時点を検出す
れば良い。例えば、マイクロプログラムでの編集処理回
数カウント値が6となったとき、判断112の’Emp
ty 1 ’ を成立させる。判断112が成立すると
処理102へ移り、第1オペランドの補給指示R1ΣQ
1を発行するとともに1ステツプ分の編集処理EDiT
を行う。レジスタ2の内容が十分あれば、判断113は
不成立となり処理103へ移り、1ステツプ分の編集処
理EDiTを行う。この編集処理によりレジスタ1の内
容は全て使用済となるから、先に処理102で発行した
REQIに対応する、“・;の第1オペランドデータ8
バイトをレジスタ1へセット(SETl)する。又、同
時に、編集結果であるレジスタ3も満杯となるため。It is sufficient to detect the point in time when the contents of register 1 have 2 bytes remaining. For example, when the count value of the number of editing processes in the microprogram reaches 6, 'Emp' in judgment 112
ty 1' is established. When judgment 112 is established, the process moves to process 102, and the replenishment instruction R1ΣQ of the first operand is
1 and edit processing for 1 step EDiT
I do. If the contents of register 2 are sufficient, judgment 113 is not satisfied, and the process moves to process 103, where one step of editing processing EDiT is performed. Since the contents of register 1 are all used by this editing process, the first operand data 8 of "・;" corresponding to the REQI issued in process 102
Set byte to register 1 (SETl). Moreover, at the same time, register 3, which is the editing result, also becomes full.
レジスタ3からメモリ10への格納指示5TOREを発
行する6判断114では、第1オペランドが残っており
、#!集焙処理続ける(Conti口uc) kQ合に
は、判断111へ移り、処理が継続される。レジスタ2
の内容が全て使用済となったかどうかは、先に示した様
にマスク・パタンに左右されるため、予atlIできな
いので、実際にレジスタ2が使用済となった事(Emp
ty 2 )を検出して初めてマイクロプログラムの流
れを切りかえる事になる。判断1〕1でEmpty 2
を検出すると、処理104へ移る。処理104では、第
2オペランドの次の8バイトデータの準備指示REQ2
を発行し、次に処理105でメモリ10からレジスタ2
へのデータ転送5ET2が行われる。この間、レジスタ
2は全て使用済状態であるため、編集処理を行うことが
できない、同様に、処理102を行ったあとにEmpt
y 2が判断113で成立すると処理106゜107で
それぞれREQ2,5ET1.が行われるが、この間も
編集処理ED、L丁を行うことができない。In decision 114, which issues a storage instruction 5TORE from register 3 to memory 10, the first operand remains and #! Continuing the collection process (Conti uc) If kQ is determined, the process moves to judgment 111 and the process is continued. register 2
Whether or not the contents of register 2 have been used completely depends on the mask pattern as shown earlier, so it is not possible to make a reservation.
The flow of the microprogram is switched only after detecting ty2). Judgment 1] Empty at 1 2
When detected, the process moves to process 104. In process 104, the next 8-byte data preparation instruction REQ2 of the second operand is issued.
is issued, and then in process 105, register 2 is read from memory 10.
Data transfer 5ET2 to is performed. During this time, all registers 2 are in the used state, so editing processing cannot be performed.Similarly, after performing processing 102, Empt
If y2 is established in judgment 113, REQ2, 5ET1. is performed, but editing processing ED and L cannot be performed during this time as well.
以上の様に、処理101,102,103 (太わくの
部分)では編集処理EDiTが行えるが、Empty2
が成立したあとの処理104,105,106゜107
では編集処理を行うことができない。As mentioned above, editing processing EDiT can be performed in processing 101, 102, and 103 (thick frame parts), but Empty2
Processing after 104, 105, 106゜107
Editing cannot be performed.
このように、従来の編集命令処理に於ては、第2オペラ
ンドをレジスタ2八補給するための処理104.105
又は106,107を行うステップでは編集処理EDL
Tが行えず、編集処理を中断せざるを得ないため、性能
が劣下する。In this way, in the conventional editing command processing, processing steps 104 and 105 for replenishing the second operand in the register 28 are performed.
Or in steps 106 and 107, the editing process EDL
T cannot be performed, and editing processing must be interrupted, resulting in degraded performance.
本発明の目的は、前記従来の欠点を解消するため、第2
オペランドのデータのレジスタ2への補給をスムーズに
行い、この間も編集処理を中断することのない、高速な
、編集命令処理方式を提供することにある。The purpose of the present invention is to solve the above-mentioned conventional drawbacks.
To provide a high-speed editing command processing system that smoothly supplies operand data to a register 2 and does not interrupt editing processing during this period.
上記目的を達成するため、本発明の編集命令処理方式で
は、メモリとレジスタ2の間に、第2オペランドの次の
1ワード分のデータを納めるレジスタ4を設け、かつ、
該レジスタ4からレジスタ2への転送が行われた事を示
すラッチを設け、レジスタ2の内容を全て使用したこと
を検出するとレジスタ4からレジスタ2への転送を行う
とともに、該ラッチを1にセットすることを特徴として
いる。In order to achieve the above object, in the editing instruction processing method of the present invention, a register 4 is provided between the memory and the register 2 to store data for one word next to the second operand, and
A latch is provided to indicate that the transfer from register 4 to register 2 has been performed, and when it is detected that all the contents of register 2 have been used, the transfer is performed from register 4 to register 2, and the latch is set to 1. It is characterized by
以下、本発明の一実施例を説明する。 An embodiment of the present invention will be described below.
第1の実施例のブロック図を第6図、フローチャートを
第7図に示す。A block diagram of the first embodiment is shown in FIG. 6, and a flowchart is shown in FIG. 7.
第6図は従来の処理装置を示す第4図と比べ、メモリ1
0とレジスタ2の間にレジスタ4が、EDiT回路30
とマイクロプログラム20の間に、ラッチ5が付加され
ている。他のレジスタ1,2゜3等についてはほぼ同等
である。まず、レジスタ1.2にはそれぞれ第1.第2
オペランドデータの最初の1ワード(8バイト)が納め
られ、レジスタ4には第2オペランドの次の1ワードが
納められる。8バイトのレジスタ1,2からはそれぞれ
1バイトずつデータが切り出されHDiT回′Nt30
へ送られ編集処理が行われる。結果は1バイトずつレジ
スタ3の所定のバイト位置にセットされる。Figure 6 shows a memory 1 compared to Figure 4 which shows a conventional processing device.
0 and register 2, register 4 is connected to EDiT circuit 30.
A latch 5 is added between the microprogram 20 and the microprogram 20. The other registers 1, 2, 3, etc. are almost the same. First, registers 1.2 and 1. Second
The first word (8 bytes) of operand data is stored, and the next word of the second operand is stored in register 4. One byte of data is extracted from each of the 8-byte registers 1 and 2, and HDiT times'Nt30
The file will be sent to the site for editing. The result is set one byte at a predetermined byte position in register 3.
1回の編集処理でレジスタ1の1バイト分が使用され、
レジスタ3の1バイトに結果がセットされるが、レジス
タ2については必ずしも1バイト分のデータが使用され
ず、もし、該1バイトデータが使用されなかった場合に
は1次の編集処理で。One byte of register 1 is used in one editing process,
The result is set in 1 byte of register 3, but 1 byte of data is not necessarily used for register 2, and if the 1 byte data is not used, it will be used in the primary editing process.
レジスタ2から同一の1バイトデータが切り出さハル。The same 1-byte data is extracted from register 2.
メモリ10からレジスタ1へのデータ転送、および、レ
ジスタ3からメモリ10へのデータ転送はマイクロプロ
グラム20により制御される。Data transfer from memory 10 to register 1 and data transfer from register 3 to memory 10 are controlled by microprogram 20.
8回の編集処理に1回の割合で該データ転送が必要とな
るため、マイクロプログラム20では編集処理回路をカ
ウントし、予測している。一方、レジスタ2の内容が全
て使用済となったか否かは。Since the data transfer is required once in every eight editing processes, the microprogram 20 counts and predicts the number of editing processing circuits. On the other hand, whether or not the contents of register 2 are all used.
実際に編集処理を行って初めてわかるため、EDiT回
路30にてこれを検出し、線31を′1′にする。線3
1が′1′になると、ラッチ5をセットし、かつ、レジ
スタ4からレジスタ2へのデータ転送を行う、レジスタ
4には、次の1ワードデータが準備されているので、レ
ジスタ2が空くと即座に次のデータが補給されることを
意味し、レジスタ2のデータネ足による処理の中断を防
止することができる。又、ラッチ5がセットされている
ことは、レジスタ4からレジスタ2へのデータ転送が行
われたこと、即ち、レジスタ4が空き(Empty 4
)であることを意味している。マイクロプログラム2
0はラッチ5がセットされているかを調べて、もし、セ
ットされている場合には、メモリ10からレジスタ4へ
次の1ワードの第2オペランドデータ転送を摺示し、レ
ジスタ4へのセットが完了したときラッチ5をリセット
する。Since this is known only after the editing process is actually performed, the EDiT circuit 30 detects this and sets the line 31 to '1'. line 3
When 1 becomes '1', latch 5 is set and data is transferred from register 4 to register 2. Register 4 is prepared with the next 1 word data, so when register 2 becomes empty, This means that the next data is immediately replenished, and it is possible to prevent processing from being interrupted due to the lack of data in register 2. Furthermore, the fact that latch 5 is set means that data has been transferred from register 4 to register 2, that is, register 4 is empty (Empty 4).
). Micro program 2
0 checks whether latch 5 is set, and if it is set, transfers the next 1 word of second operand data from memory 10 to register 4, completing setting to register 4. When this occurs, the latch 5 is reset.
この間、レジスタ2よは8バイト分のデータが存在する
ので、少なくとも8回の編集処理を行う時間内に、この
処理を実行すれば第2オペランドデータの不足は生じな
い。During this time, there is 8 bytes worth of data in register 2, so if this process is executed within the time required for at least 8 editing processes, there will be no shortage of second operand data.
第7図のフローチャートを用いてマイクロプログラム2
0の処理を説明する。ここで、口コはマイクロプログラ
ムの処理を示し1回の編集処理時間(1ステツプ)を要
す。◇はマイクロプログラムの判断を示し便宜上時間は
0である。フローチャート中、’EDiT’は1回の編
集処理、’REQI’ ・ ’REQ2’はメモリ1
0からの第1・第2オペランドの次の1ワードの読出し
指示、’5ETI’ ・ ’5ET2’はメモリ10
かレジスタト4へのデータ転送指示、’5TORE ’
はレジスタ3からメモリ10へのデータ転送指示、’E
mpty 1 ’はあと2回の編集処理によりレジスタ
1の内容を使い終えるか否かの判断、’Empty4′
はラッチ5がセットされているか否かの判断、’Con
tinue’は編集処理を継続するか否かの判断を示す
。Microprogram 2 using the flowchart in Figure 7
0 processing will be explained. Here, the word code indicates microprogram processing and requires one editing processing time (one step). ◇ indicates the judgment of the microprogram, and for convenience, the time is 0. In the flowchart, 'EDiT' is one-time editing process, 'REQI' and 'REQ2' are memory 1
Instruction to read the next 1 word of the first and second operands from 0, '5ETI' / '5ET2' is the memory 10
or data transfer instruction to register 4, '5TORE'
is a data transfer instruction from register 3 to memory 10, 'E
mpty 1' determines whether the contents of register 1 will be used after two more editing processes, 'Empty4'
'Con' determines whether latch 5 is set or not.
tinue' indicates a determination as to whether or not to continue the editing process.
レジスタ1及び2にデータが十分存在する場合には、処
理201で1ステップ分の編集処理が行われ、判断21
1,212はいずれも不成立となるので再び処理201
へ戻る。レジスタ1は編集処理8回に1回の割合で次の
第1オペランドデータを補給すれば良いから、マイクロ
プログラムで編集回数をカウントすることにより補給時
期が予測可能である。レジスタ1の内容が残り2バイト
になった時点で判断211 (E+npty 1)が成
立するので処理202へ移る。処理202では編集処理
(El]iT)と同時にメモリ10に対し次の第1オペ
ランドデータの読出しくREQI)を指示する。If there is enough data in registers 1 and 2, one step of editing processing is performed in process 201, and judgment 21 is performed.
Since both 1 and 212 are not satisfied, process 201 is performed again.
Return to Since the register 1 only needs to be replenished with the next first operand data once every eight editing operations, the replenishment time can be predicted by counting the number of edits using a microprogram. When there are only 2 bytes left in the contents of register 1, judgment 211 (E+npty 1) is established, so the process moves to process 202. In process 202, at the same time as the editing process (El]iT), the memory 10 is instructed to read the next first operand data (REQI).
処理203では、ピDiTと同時にS E T 1 、
5TOR[!を指示する5これによりレジスタ1の内容
が使用済となると同時に次の1ワードがレジスタ1にセ
ットされるため、編集処理が継続的に行える。編集処理
を続ける場合は判断214が成立し、処理201へ戻る
。レジスタ2の内容が全て使用済となりレジスタ4の内
容がレジスタ2へ転送された場合、即ち、ラッチ5がセ
ット(Empty 4 )されていると判断212が成
立し、処理204へ移る。In process 203, S E T 1 ,
5TOR [! 5 As a result, the contents of register 1 become used and at the same time the next word is set in register 1, so that editing processing can be continued. If the editing process is to be continued, the judgment 214 is established and the process returns to the process 201. When the contents of register 2 have all been used and the contents of register 4 have been transferred to register 2, that is, when latch 5 is set (Empty 4), judgment 212 is established, and the process moves to process 204.
処理204では、レジスタ4は空きであるがレジスタ2
にはデータが存在するため編集処理を行うことができる
ので、HDiTと第2オペランドの読出し指示(REQ
2)を行う。その後判断213でEmpty 1が不成
立の場合は処理205へ移る。処理205では[EDi
Tを行うと同時にメモリ10からレジスタ4へのデータ
転送指示(SET2)を行う、又、5ET2で同時にラ
ッチ5をリセットする。もし、判19?213が成立し
た場合、即ち、第2オペランドデータの補給と第1オペ
ランドデータの補給が連続して発生した場合、処理20
6へ移る。処理206では+ 1EDjTと同時に5E
T2゜REQIが行われ、処理203へ移る。処理20
6は、処理202と205を混合させたものに相当する
。この様に、レジスタ2の補給をマイクロプログラムで
行わず、ハードウェアによりレジスタ4から補給するこ
とにより常にレジスタ2には使用可能なデータが存在す
るため、処理204゜205.206でも編集処理が行
える様になった。In process 204, register 4 is empty, but register 2
Since there is data in , it is possible to perform editing processing, so HDiT and the second operand read instruction (REQ
Do 2). Thereafter, if Empty 1 is not established in judgment 213, the process moves to process 205. In process 205, [EDi
At the same time as T, a data transfer instruction (SET2) from the memory 10 to the register 4 is issued, and at the same time, the latch 5 is reset at 5ET2. If the judgment 19?213 is established, that is, if the replenishment of the second operand data and the replenishment of the first operand data occur consecutively, the process 20
Move on to 6. In process 206, +1EDjT and 5E at the same time
T2°REQI is performed, and the process moves to process 203. Processing 20
6 corresponds to a mixture of processes 202 and 205. In this way, register 2 is not refilled by a microprogram, but is refilled from register 4 by hardware, so that usable data always exists in register 2, so editing processing can be performed even in processes 204, 205, and 206. It became like that.
又、レジスタ4への補給は、次にレジスタ2が使用済と
なる最少8ステツプ内に行えば良いから、毎ステップE
mpty 4の判断を行う必要がないので。Furthermore, since register 4 only needs to be replenished within at least 8 steps when register 2 becomes used, E
Because there is no need to make a judgment of mpty 4.
処理202及び処理204及び処理206のあとにEm
pty 4の判断を行わなくて良い。After processing 202, processing 204, and processing 206, Em
There is no need to make a pty 4 judgment.
次に、第2の実施例のブロック図を第8図、フローチャ
ートを第9図に示す、第2の実施例は第1の実施例の一
変形であり基本的な考え方に相違はない。Next, the block diagram of the second embodiment is shown in FIG. 8, and the flowchart is shown in FIG. 9.The second embodiment is a modification of the first embodiment, and there is no difference in the basic concept.
第8図のレジスタ2′は、第6図のレジスタ2とレジス
タ4を横畏に並べた植成に等しく、16バイト長のレジ
スタである。レジスタ2′には最初、第2オペランドの
最初の2ワードが納められ。Register 2' in FIG. 8 is equivalent to register 2 and register 4 in FIG. 6 arranged side by side, and is a 16-byte long register. Register 2' initially contains the first two words of the second operand.
レジスタ1には第1オペランドの最初の1ワードが納め
られる。レジスタ1,2′からはそれぞれ1バイトずつ
データが切り出されEDi丁回路30へ送られ編集処理
が行われる。結果は1バイ1−ずつレジスタ3の所定の
バイト位置にセットされる。Register 1 stores the first word of the first operand. One byte of data is extracted from each of the registers 1 and 2' and sent to the EDI circuit 30 for editing processing. The result is set in a predetermined byte position in register 3 one byte by one.
メモリ10からレジスタ1へのデータ転送及びレジスタ
3からメモリ10へのデータ転送は、編集処理の一定回
数毎にマイクロプログラム20の制御により行われる。Data transfer from the memory 10 to the register 1 and data transfer from the register 3 to the memory 10 are performed under the control of the microprogram 20 every predetermined number of editing operations.
メモリ10からレジスタ2′へのデータ転送はラッチ2
L又は2Rを参照して、1ワードずつレジスタ2′の前
半又は後半に行われる。ラッチ2Lはレジスタ2′の前
半が使用済になった時(例えばバイト切出しのためのポ
インタがバイト7からバイト8に切り換った時)に線3
1を介してセットされ、2Rに後半が使用済になった時
セットされる。マイクロプログラム20はラッチ2L又
は2Rがセットされていると線21によりメモリ10か
らのデータ転送を指示し、線12を介してデータを読出
す、もし2Lがセットされていた場合は@22をオンに
してレジスト2′の前半にデータを格納したのちラッチ
2Lをリセットする。もし2Rがセットされていた場合
は線23をオンにしてレジスタ2′の後半にデータを格
納したのちラッチ2Rをリセットする。即ちレジスタ2
′の半分が使用済となる毎にデータを補給し、常にレジ
スタ2′には有効な第2オペランドデータが存在する様
に制御する。Data transfer from memory 10 to register 2' is performed by latch 2.
With reference to L or 2R, the processing is performed one word at a time in the first half or the second half of register 2'. When the first half of register 2' is used (for example, when the pointer for byte extraction is switched from byte 7 to byte 8), latch 2L is connected to line 3.
1 and is set when the second half is used in 2R. Microprogram 20 instructs data transfer from memory 10 via line 21 if latch 2L or 2R is set, and reads data via line 12; if 2L is set, @22 is turned on. After storing the data in the first half of the register 2', the latch 2L is reset. If 2R is set, line 23 is turned on, data is stored in the latter half of register 2', and then latch 2R is reset. That is, register 2
Data is replenished every time half of ' is used, and control is performed so that valid second operand data always exists in register 2'.
第9図のフローチャートを簡単に説明する。The flowchart in FIG. 9 will be briefly explained.
EDiT処理(301)中に第1オペランドの不足を3
11で検出すると判断302,303で、IEDiT処
理を行いながらレジスタ1に次のオペランドデータを補
給する。第2オペランドの不足は判断312でラッチ2
L又は2Rがセットされていると処理304へ移る。ラ
ッチ2Lがセットされている場合は処理305でレジス
タ2′の前半にデータを補充(SET2L)Lラッチ2
Rがセットされている場合は処理306でレジスタ2′
の後半にデータを補充(SET2R)する、同時に第1
オペランドの不足を判断313で検出した場合には、各
々処理307,308で第1オペランドのデータ転送指
示と並行して実施する。ラッチ2Lと2Rは同時にセッ
トされることはないので判断314,315ではラッチ
2Lと2Rのいずれかをみれば良い。During EDiT processing (301), the shortage of the first operand is detected by 3.
If it is detected in step 11, then in judgments 302 and 303, the next operand data is supplied to register 1 while performing IEDiT processing. If the second operand is missing, the decision 312 is to latch 2.
If L or 2R is set, the process moves to step 304. If latch 2L is set, data is replenished in the first half of register 2' in process 305 (SET2L) L latch 2
If R is set, register 2' is set in process 306.
Replenish data (SET2R) in the second half of the first
If a shortage of operands is detected in judgment 313, processes 307 and 308 are executed in parallel with the data transfer instruction for the first operand. Since the latches 2L and 2R are never set at the same time, it is sufficient to look at either the latches 2L or 2R in judgments 314 and 315.
この様に、レジスタ2′の前半と後半に交互にデータを
補給する方式は、第1の実施例の1変形である。又、レ
ジスタ2′は1ワード(8バイト)長でも良くその前・
後半1/2ワード毎に交互にデータを補給する変形例も
容易に考えられる。This method of alternately supplying data to the first half and the second half of the register 2' is a modification of the first embodiment. Also, register 2' may have a length of 1 word (8 bytes).
A modification example in which data is alternately replenished every 1/2 word in the second half can also be easily considered.
本発明によれば、第1オペランドの内容によって、必要
とする第2オペランドの長さがかねる編集命令の処理に
於て、第2オペランドのデータ補給をスムーズに行うこ
とができ、データ補給の処理と編集処理を並行して実施
することができるので、編集命令を高速に行える効果が
ある。According to the present invention, in processing an editing command in which the required length of the second operand depends on the content of the first operand, data replenishment of the second operand can be smoothly performed, and the data replenishment process Since the editing process can be carried out in parallel, there is an effect that editing commands can be executed at high speed.
第1図はバック形式とゾーン形式の10進数の比較説明
図、第2図は編集パターンに用いられる制御コードの説
明図、第3図は有意と非有意との切り換え時の説明図、
第4図は従来例のブロック図、第5図は従来例のフロー
チャート、第6図は第1の実施例のブロック図、第7図
は第1の実施例のフローチャート、第8図は第2の実施
例のブロック図、第9図は第2の実施例のフローチャー
トである。
1.2,3.4・・・レジスタ、10・・・メモリ、2
0・・・マイクロプログラム、30・・・EDiT回路
、5゜2L、2R・・・ラッチ。Fig. 1 is an explanatory diagram comparing decimal numbers in the back format and zone format, Fig. 2 is an explanatory diagram of the control code used in the editing pattern, and Fig. 3 is an explanatory diagram when switching between significant and non-significant.
FIG. 4 is a block diagram of the conventional example, FIG. 5 is a flowchart of the conventional example, FIG. 6 is a block diagram of the first embodiment, FIG. 7 is a flowchart of the first embodiment, and FIG. 8 is a flowchart of the second embodiment. FIG. 9 is a block diagram of the second embodiment, and FIG. 9 is a flowchart of the second embodiment. 1.2, 3.4...Register, 10...Memory, 2
0...Micro program, 30...EDiT circuit, 5°2L, 2R...Latch.
Claims (1)
ランドにあるパック形式10進数をゾーン形式データに
編集する命令を実行する処理装置において、第2オペラ
ンドの1ワード(例えば8バイト)分を保持するレジス
タ2とメモリとの間に、次の1ワード分を保持するため
のレジスタ4と、該レジスタ4から該レジスタ2への転
送が行われたことを示すラッチを有し、 レジスタ2の内容を全て編集処理で使用したことを検出
するとレジスタ4からレジスタ2へのデータ転送を行う
とともに上記ラッチをセットし、レジスタ4へ第2オペ
ランドの次の1ワードをセットしたとき上記ラッチをリ
セットする事を特徴とする編集命令処理方式。[Scope of Claims] In a processing device that executes an instruction for editing a packed decimal number in a second operand into zoned data according to a control code in a first operand, ) between the register 2 that holds the next word and the memory, there is a register 4 that holds the next one word, and a latch that indicates that the transfer from the register 4 to the register 2 has been performed, When it is detected that all the contents of register 2 have been used in editing processing, the data is transferred from register 4 to register 2 and the above latch is set, and when the next word of the second operand is set to register 4, the above latch is set. An editing command processing method characterized by resetting the .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22472985A JPS6285325A (en) | 1985-10-11 | 1985-10-11 | Edit command processing method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22472985A JPS6285325A (en) | 1985-10-11 | 1985-10-11 | Edit command processing method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS6285325A true JPS6285325A (en) | 1987-04-18 |
Family
ID=16818326
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP22472985A Pending JPS6285325A (en) | 1985-10-11 | 1985-10-11 | Edit command processing method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6285325A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04142618A (en) * | 1990-10-04 | 1992-05-15 | Toshiba Corp | Information processing unit |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5526495A (en) * | 1978-06-29 | 1980-02-25 | Fischer & Porter Co | Flow meter with vibratory ball |
| JPS58195253A (en) * | 1982-05-10 | 1983-11-14 | Nec Corp | Information processing device |
-
1985
- 1985-10-11 JP JP22472985A patent/JPS6285325A/en active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5526495A (en) * | 1978-06-29 | 1980-02-25 | Fischer & Porter Co | Flow meter with vibratory ball |
| JPS58195253A (en) * | 1982-05-10 | 1983-11-14 | Nec Corp | Information processing device |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04142618A (en) * | 1990-10-04 | 1992-05-15 | Toshiba Corp | Information processing unit |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6782465B1 (en) | Linked list DMA descriptor architecture | |
| US5031091A (en) | Channel control system having device control block and corresponding device control word with channel command part and I/O command part | |
| US4807181A (en) | Dictionary memory with visual scanning from a selectable starting point | |
| US4359286A (en) | Character set expansion | |
| TW400469B (en) | Device capable of fixing programs in embedded microprocessor | |
| US3810109A (en) | Storage and space availability apparatus for a data processing printout system | |
| TW409204B (en) | Expansion interface conversion device and conversion method therefor | |
| US3166715A (en) | Asynchronous self controlled shift register | |
| EP0077892B1 (en) | Word processing system having a formatting bidirectional printer | |
| US3824551A (en) | Releasable buffer memory for data processor | |
| US3753239A (en) | Data flow in a machine log system | |
| US3599186A (en) | Memory-centered computer system | |
| EP0120481A2 (en) | Method and device for selecting a character shape for each character of a text, e.g. of Arabic, according to four classes | |
| GB886421A (en) | Improvements in or relating to data processing apparatus | |
| IT7370879A1 (en) | ELECTRONIC COMPUTER WITH EQUIPMENT FOR DEVELOPING OPERATIONAL PROGRAMS | |
| US4402058A (en) | Keyboard mismatch correction | |
| US4142244A (en) | Programmable electronic computer | |
| US3316538A (en) | Circuit arrangement for processing parts of words in electronic computers | |
| JPS6236575B2 (en) | ||
| JPH0468656B2 (en) | ||
| JP2564318B2 (en) | Communication processing device | |
| JPS6150332B2 (en) | ||
| JPS61158483A (en) | Electronic apparatus | |
| JP2845780B2 (en) | Data transfer control circuit | |
| JPS5827233A (en) | Controlling system for printing |