JPH0512821Y2 - - Google Patents

Info

Publication number
JPH0512821Y2
JPH0512821Y2 JP1987147376U JP14737687U JPH0512821Y2 JP H0512821 Y2 JPH0512821 Y2 JP H0512821Y2 JP 1987147376 U JP1987147376 U JP 1987147376U JP 14737687 U JP14737687 U JP 14737687U JP H0512821 Y2 JPH0512821 Y2 JP H0512821Y2
Authority
JP
Japan
Prior art keywords
data
calculation
delimiter
digit
variable
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
JP1987147376U
Other languages
English (en)
Other versions
JPS6454149U (ja
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 filed Critical
Priority to JP1987147376U priority Critical patent/JPH0512821Y2/ja
Publication of JPS6454149U publication Critical patent/JPS6454149U/ja
Application granted granted Critical
Publication of JPH0512821Y2 publication Critical patent/JPH0512821Y2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【考案の詳細な説明】 〔産業上の利用分野〕 本考案は電子計算機に係り、特に数値演算を行
う演算処置装置に関する。
〔考案の概要〕
従来のコンピユータにおいて、可変長データの
演算機能をハードウエアやフアームウエアにより
サポートしているのは、大型コンピユータやスー
パー・ミニコンピユータ等の高価なコンピユータ
のみであり、パーソナル・コンピユータや安価な
オフイス・コンピユータ等の一般ユーザ向けのコ
ンピユータでは固定長データの演算機能しかサポ
ートされていないのが現状である。このため、パ
ーソナル・コンピユータ等で可変長データの演算
を行うためには、そのためのソフトを作成する必
要があつた。
本考案は、パーソナル・コンピユータ等に組み
込めば、CPUから簡単なコマンドを送るだけで
可変長データの演算をハードウエアにより高速に
行えるようにしたものであり、パーソナル・コン
ピユータ上で、給与計算や伝票処理のような10進
の可変長データの演算を行う処理の処理速度が向
上する。また、従来のように可変長データの演算
のための特別のプログラムを作成する必要がなく
なるので、可変長データの演算処置を取り扱う事
務処理等のソフトパツケージのプログラムの生産
性が向上する。
〔従来の技術〕
事務処理における数値演算では、科学技術計算
のような膨大な計算は必要なく、10進演算を行う
場合がほとんどである。コンピユータでの10進デ
ータの表現形式としては、10進1桁を4ビツトで
表現し、1バイトに10進2桁を格納するパツク形
式と、1バイトに10進1桁を格納するアンパツク
形式がある。
パーソナル・コンピユータやオフイス・コンピ
ユータ等で、オペレータがキーボードから入力す
る数値データは、キーボード・ドライバにより
JISコードまたはASCIIコードに変換され、さら
に、システムで用意されたライブラリプログラム
により内部コードに変換される。数値データの内
部コードの形式としては、10進のBCDコード、
単精度または倍精度の2進コード、浮動少数点の
2進コード等があるが、事務処理においては、帳
票出力を行う場合が多いので、一般にJISコード
またはASCIIコードに変換が容易な10進BCDコ
ードを内部コードとしている。したがつて、数値
演算もBCDコードによる10進演算を行つている。
〔考案が解決しようとする問題点〕
ところで、BCDコードで数値データを表現し
た場合、数値データは可変長データとなる。しか
し、可変長データの演算をハードウエアやサポー
トしているのは大型コンピユータやスーパー・ミ
ニコンピユータ等の高価なコンピユータのみであ
り、パーソナル・コンピユータ等の一般ユーザー
向けの安価なコンピユータではハードウエアでは
固定長データの演算しかサポートされていない。
このため、パーソナル・コンピユータ等で可変長
のBCDデータの10進演算を行なうためには、そ
のためのアプリケーシヨンプログラムを作成する
必要があつた。また、可変長のBCDデータの10
進演算をソフトウエアにより実行しているため、
処理速度が遅いという問題があつた。
本考案の課題は、可変長データの演算機能がサ
ポートにされていないコンピユータの可変長デー
タの演算処理の処理速度の向上を可能にし、さら
に10進演算を行う事務処理用のプログラムの作成
を容易にすることである。
〔問題点を解決するための手段〕
本考案は次の通りである。
デリミタで区切られる可変長の演算データと、
デリミタで区切られる可変長の被演算データとを
演算する演算装置において、デリミタ検出手段1
(第1図のブロツク図を参照、以下同じ)は入力
されるデータがデリミタであるか否かを検出す
る。供給手段2は、上記演算データ及び上記被演
算データを夫々桁単位に順次読み出し、この読み
出した桁の各データをデリミタ検出手段1に供給
する。
演算制御手段3は、デリミタ検出手段に供給さ
れた各データの検出結果に応じて、上記読み出し
た桁の各データの演算、上記読み出した各データ
の一方を修正した上でのデータの演算、あるいは
演算の終了、を制御する。
〔作用〕
本考案の手段の作用は次の通りである。
演算の開始が指示されると、供給手段2は演算
データと被演算データとの各桁のデータを桁単位
で順次読み出し、デリミタ検出手段1に供給す
る。デリミタ検出手段1は供給された桁の各デー
タについて、個別のデリミタか否かを検出し、演
算制御手段3は、その各データの検出結果の内容
に応じて、上記読み出した桁の各データの演算を
行なつたり、上記読み出した各データの一方を補
正した上でのデータの演算を行なつたり、あるい
は演算の終了、を制御する。
従つて、デリミタで区切られるだけのシンプル
なデータ構造の可変長データについての演算を、
シンプルな構成及び制御により実現できるもので
あり、また高速演算が可能となる。
〔実施例〕
以下、一実施例を第2図ないし第7図を参照し
ながら説明する。
第2図は、一実施例である可変長データ演算装
置12を適用したコンピユータのシステム構成図
である。同図において、CPU11は、システム
全体の制御を行なう中央処理装置であり、メモリ
13内に格納されたプログラムを解読して動作す
る。CPU11は、アドレスバスAB、データバス
DBにより、可変長データ演算装置12、メモリ
13、フロツピイデイスク・コントローラFDC
14、キーボード・コントローラ16と接続され
ており、キーボード17からプログラム実行のた
めのコマンド入力を行うと、キーボード・ドライ
バ16を介してコマンドデータがCPU11に送
られ、そのコマンドデータがCPU11により解
読される。CPU11は、コマンドデータを解読
するとメモリ13またはフロツピイデイスク15
から前記コマンドにより指定されたプログラムを
読み出しそのプログラムの実行を開始する。尚、
フロツピイデイスク15内に格納されたプログラ
ムが実行される場合には指定されたプログラムの
実行形式フアイルのデータがフロツピイデイス
ク・コントローラFDC14を介しメモリ13内
の所定領域に格納された後、プログラムの実行が
開始される。
次に、図中一点鎖線で囲んで示す可変長データ
演算装置12の回路構成及び動作を説明する。
まず、CPU11は可変長の10進データの演算
命令を解読すると、可変長データ演算装置12の
演算部27に対し演算実行命令、被演算データと
演算データ及び演算結果を格納するメモリ13内
の格納アドレスを出力し、アドレスバスAB、デ
ータバスDBの制御権を可変長データ演算装置1
2に移す。演算部27は、アドレスバスABに被
演算データ及び演算データのアドレス(バイトア
ドレス)を順次出力し、メモリ13から被演算デ
ータ及び演算データの桁データを最下位桁から順
次読み出す。メモリ13からデータバスDBを介
して読み出された被演算データ及び演算データの
1バイト(桁)データは、内部バスIBを介しデ
ータラツチ部24及びデリミタ検出部25にラツ
チされる。デリミタ検出部25は、データラツチ
部24にラツチされた被演算データまたは演算デ
ータがデリミタであるかどうかを判別するブロツ
クであり、デリミタであると判別した場合には、
データ0変換部26にデータ検出信号を加える。
デリミタ検出信号には2種類あり、被演算データ
がデリミタであつた場合には被演算データデリミ
タ検出信号が、演算データがデリミタであつた場
合には演算データデリミタ検出信号がデータ0変
換部26に加えられる。データ0変換部26は、
被演算データデリミタ検出信号が加えられた場合
には、データラツチ部24から入力する1桁の被
演算データを0(BCDコード)に変換して演算部
27に出力する。ま、デリミタ検出部25から演
算データデリミタ検出信号が加えられた場合に
は、データラツチ部24から入力する1桁の演算
データを0(BCDコード)に変換して演算部27
に出力する。
演算部27は、データ0変換部26から入力す
る1桁の被演算データと演算データを基に1桁単
位で演算を行うブロツクであり、演算の結果、桁
上りが生じた場合にはキヤリー信号をデリミタ検
出部25に加える。また、演算部27は演算を終
了すると演算結果をデータバスDBを介しメモリ
13内の演算結果格納アドレスに書き込む。
ところで、デリミタ検出部25は被演算データ
と演算データが共にデリミタであることを検出し
かつ演算部27からキヤリー信号が加わつていな
い場合には演算部27に演算終了信号を加える。
演算部27は、演算終了信号が加わつた場合には
データバスDBを介して、メモリ13内に格納さ
れた演算結果の最上位桁の次のアドレスにデリミ
タデータを書き込み、CPU11に対し、演算命
令実行終了信号を出力する。そして、アドレスバ
スAB、データバスDBの制御権をCPU11に移
す。
次に本実施例を用いる可変長データ40の形式
を第3図に示す。同図に示すように可変長データ
40は最上位桁doの次にデリミタ40aが付加さ
れている。本実施例では、デリミタとして“,”
を用いている。尚、第3図の中で“,”と示して
いるが、実際には、“,”を示すJISコードが格納
される。各桁のデータd1,d2,d3,……,do-1
doは1バイトであり、アンパツクのBCDコード、
すなわちバイトの下位4ビツトに4ビツトの10進
数が格納されている。
次に、以上のように構成された可変長データ演
算装置12の全体的な動作を加算の場合を取り上
げて第4図のフローチヤートを参照しながら説明
する。
演算部27により、データバスDBを介しメモ
リ13から1桁の被演算データと演算データが読
み出され、データラツチ部24及びデリミタ検出
部25にラツチされると、デリミタ検出部25
は、被演算データと演算データの両方でデリミタ
(“,”)が検出されたかどうか判別し(処理ST1)、
両方ともまだデリミタが検出されていなければ、
一方のデータでデリミタが検出されたかどうか判
別する(処理ST2)。そして、どちらのデータで
もまだデリミタが検出されていなければデータラ
ツチ部24に格納された被演算データと演算デー
タはデータ0変換部26により0(BCD)に変換
されずそのまま演算部27に出力される。そし
て、演算部27は、1桁の被演算データと演算デ
ータに対する演算を実行し、その演算結果をデー
タバスDBを介しメモリ13内の演算結果格納ア
ドレスに書き込む(処理ST3)。
すなわち、被演算データと演算データの同一桁
のデータがどちらも10進データである時は、その
10進データによる演算を行う。
一方、上記処理ST2でデリミタ検出部25は一
方のデータのデリミタ検出信号のみが加えられて
いると判別した場合には、データ0変換部26は
デリミタが検出されたデータ(被演算データまた
は演算データ)のみを“0”(BCD)に変換しも
う一方のデリミタ検出信号が加えられていないデ
ータはそのままの値のまま演算部27に出力す
る。(処理ST2→処理ST4)。そして、前記処理
ST3で演算部27は被演算データと演算データの
演算を行い、演算結果をメモリ13内の演算結果
格納アドレスにデータバスDBを介し書き込む。
すなわち、一方のデータの有効桁が終了した場
合(デリミタ検出)、それより上位の桁は0とし
て演算を行う。また、上記処理ST1でデリミタ検
出部25は被演算データと演算データとの両方に
ついてデリミタを検出すると、キヤリー信号が加
えられていないか判別し(処理ST5)、抑えられ
ていない場合には、演算部27に演算終了信号を
加える。演算部27は、演算終了信号が加えられ
るとデータバスDBを介しモリ13内に格納され
た演算結果の最上位桁の次のアドレスにデリミタ
を書き込む。(処理ST6)。すなわち、演算結果
は、データの最後にデリミタが付加された可変長
の10進データとして演算結果格納アドレスに記憶
される。
一方、キヤリー信号が加えられていた場合には
データ0変換部26は被演算データ及び演算デー
タ(両方ともデリミタ)を共に0(BCD)に変換
し演算部27に出力し、前記処理ST3で演算部2
7はキヤリー信号(1)と被演算データ(0)及
び演算データ(0)の演算を行う。( )内は、
BCDの10進表現を示す。この演算により演算部
27はデリミタ検出部25にはキヤリー信号を加
えなくするので、前記処理ST1→ST2→ST6が行
われ、演算は終了する。
ここで、前記第4図に示すフローチヤートによ
り行われる可変長データ演算装置12の動作を、
具体例によりさらに詳しく説明する。ここでは、
加算の場合をいくつかの例を取り上げて説明す
る。
{被加数データと加数データが同桁の場合} 第5図aに示す被加数データ41aと加数デー
タ41bの加算の場合には、第4図のフローチヤ
ートの処理ST1→ST2→ST3の繰り返しにより、
被加数データと加数データの同桁どうしの加算が
一の桁から順次行なわれ、可変長データ演算装置
12による演算結果8(1+7),6(5+1),5
(2+3)が、演算部27によりメモリ13上の
所定領域に順次書き込まれる(第5図c参照)。
そして、次のデータラツチ部24にラツチされる
被加数データと加数データの桁データは両方とも
デリミタであり前回の加算(2+3)の結果桁上
りは生じなかつたのでキヤリー信号はデリミタ検
出部25には加えられておらず、デリミタ検出部
25から演算部27に演算終了信号が加えられ、
演算部27によりデータバスDBを介しデリミタ
がメモリ13に格納された演算結果の最上位桁の
次のアドレスに書き込まれる(第5図c参照)。
{被加数データと加数データの桁数が異なる場
合} 例えば、第6図a,bに示す3桁の被加数デー
タ42a,157と2桁の加数データ42b,5
1の加算の場合、第4図の処理ST1→ST2→ST3
の繰り返しにより一の桁、十の桁の加算が行われ
た後、デリミタ検出部25により加数データ42
bのデリミタが検出され、デリミタ検出部25は
データ0変換部26に加数データのデリミタ検出
信号を加える。データ0変換部26は、加数デー
タ42bのデリミタを“0”(BCD)に変換し
(処理ST4)、被加数データ42aの百桁のデータ
“1”と共に演算部27に出力する。そして、演
算部27により被被加数データと加数データの百
の桁の加算が行われる。この時、十の桁の加算に
よりキヤリが生じたので、1(キヤリ)+1(被加
数データ)+0(加数データ)の加算が行なわれ、
その加算結果“2”が演算部27によりメモリ1
3に書き込まれる。次に、被加数データ42aの
デリミタがデータラツチ部24にラツチされ、デ
リミタ検出部25は被加数データ42aのデリミ
タを検出するが、既に加数データ42bのデリミ
タを検出しているので、演算部27に演算終了信
号に出力する。以後、前述と同様に演算部27に
よりデータバスDBを介しメモリ13に格納され
た加算結果データの最上位の次のアドレスにデリ
ミタが書き込まれる(第6図c参照)。
{加算の結果、桁あふれが生じる場合} 第7図a,bに示す被加数データ43aと加数
データ43bの加算の場合、第4図に示す処理
ST1→ST2→ST3の繰り返しにより百の桁までの
加算が行なわれた後、処理ST1でデリミタ検出部
25により被加数データ43aと加数データ43
bのデリミタが共に検出される。しかし、百の桁
の加算により生じたキヤリ信号がデリミタ検出部
25に加わつているため、デリミタ検出部25は
演算部27に演算終了信号を出力せず、被加数デ
ータ43aと加数データ43bのデリミタ検出信
号をデータ0変換部26に加える。データ0変換
部26は、デリミタ検出信号を入力すると、デー
タラツチ部24から入力する被加数データ43a
と加数データ43bのデリミタを0に変換して演
算部27に出力する。そして、演算部27により
キヤリ(“1”)と被加数データ43a(“0”)及
び加数データ43b(“0”)の加算が行われ、演
算部27はその加算結果“1”をデータバスDB
を介しメモリ13の演算結果格納アドレスに書き
込む。今回のキヤリ(“1”)と被加数データ
(“0”)及び加数データ(“0”)との加算の結果
キヤリは発生しないので、デリミタ検出部25に
は演算部27からのキヤリ信号は加わらず、デリ
ミタ検出部25は演算部27に演算終了信号を出
力する。そして、前述と同様演算部27によりデ
ータバスDBを介しデリミタがメモリ13内に格
納された上記加算結果の最上位桁の次のアドレス
に書き込まれ(第7図c参照)、演算は終了する。
尚、上記実施例では加算のみを取り上げたが、
本考案は加算のみならず、減算や乗算、除算等の
演算も行うことができ、可変長データの形式も
BCDに限定されることはない。
〔考案の効果〕
本考案によればCPU等から演算データ、被演
算データ及び演算命令等を指示するコマンドを与
えるだけで、可変長データの演算をハードウエア
により高速に行えるので、本考案を取り込むこと
により可変長データの演算機能がサポートされて
いないコンピユータでも数ステツプの簡単なプロ
グラムを作成するだけで可変長データの演算をハ
ードウエアにより高速に行なうことができ、事務
処理用のプログラムの作成が容易になると共に事
務処理等の処理速度が向上する。
【図面の簡単な説明】
第1図は、本考案のブロツク図、第2図は、コ
ンピユータに適用した実施例のシステム構成図、
第3図は、本実施例で用いる可変長データの形式
を説明する図、第4図は、本実施例の動作を説明
するフローチヤート、第5図a〜c、第6図a〜
c、第7図a〜cは、本実施例による加算処理の
動作を具体的に説明する図である。 24……データラツチ部、25……デリミタ検
出部、26……データ0変換部、27……演算
部。

Claims (1)

  1. 【実用新案登録請求の範囲】 デリミタで区切られる可変長の演算データと、
    デリミタで区切られる可変長の被演算データとを
    演算する演算装置において、 入力されるデータがデリミタであるか否かを検
    出するデリミタ検出手段と、 上記演算データ及び上記被演算データを夫々桁
    単位に順次読み出し、この読み出した桁の各デー
    タを上記デリミタ検出手段に供給する供給手段
    と、 上記デリミタ検出手段に供給された各データの
    検出結果に応じて、上記読み出した桁の各データ
    の演算、上記読み出した各データの一方を修正し
    た上でのデータの演算、あるいは演算の終了、を
    制御する演算制御手段と、 を有することを特徴とする可変長データ演算装
    置。
JP1987147376U 1987-09-25 1987-09-25 Expired - Lifetime JPH0512821Y2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1987147376U JPH0512821Y2 (ja) 1987-09-25 1987-09-25

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1987147376U JPH0512821Y2 (ja) 1987-09-25 1987-09-25

Publications (2)

Publication Number Publication Date
JPS6454149U JPS6454149U (ja) 1989-04-04
JPH0512821Y2 true JPH0512821Y2 (ja) 1993-04-05

Family

ID=31417715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1987147376U Expired - Lifetime JPH0512821Y2 (ja) 1987-09-25 1987-09-25

Country Status (1)

Country Link
JP (1) JPH0512821Y2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51120138A (en) * 1975-04-14 1976-10-21 Toshiba Corp Long variable data recording control system
JPS5783846A (en) * 1980-11-12 1982-05-25 Fujitsu Ltd Operation system for variable length data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51120138A (en) * 1975-04-14 1976-10-21 Toshiba Corp Long variable data recording control system
JPS5783846A (en) * 1980-11-12 1982-05-25 Fujitsu Ltd Operation system for variable length data

Also Published As

Publication number Publication date
JPS6454149U (ja) 1989-04-04

Similar Documents

Publication Publication Date Title
JP3377419B2 (ja) 命令列生成方法及び装置、変換方法、及びコンピュータ
CA2852862C (en) Convert from zoned format to decimal floating point format
CA2852861C (en) Convert to zoned format from decimal floating point format
JPH1091443A (ja) 情報処理回路、マイクロコンピュータ及び電子機器
JP2847974B2 (ja) データ処理装置
JPH0145649B2 (ja)
JPH0113130B2 (ja)
JP2669158B2 (ja) データ処理装置
JP3369204B2 (ja) プログラマブルコントローラ
JPS6124729B2 (ja)
JPH0512821Y2 (ja)
JP3630804B2 (ja) データ処理装置
JP2668456B2 (ja) ビット検索回路及びそれを備えたデータ処理装置
JP2646855B2 (ja) データ処理装置
JP2778583B2 (ja) 低消費電力マイクロプロセッサ
US7103751B1 (en) Method and apparatus for representation of an address in canonical form
JP2510691B2 (ja) 演算処理方法
JPS62293432A (ja) 情報処理装置
JP3137636B2 (ja) データ処理装置
JPH1097462A (ja) ビット演算プロセッサ及び計算機システム
JP2000148477A (ja) アドレス計算方法およびその機構
JPS61210426A (ja) 書式変換回路
JPH02171922A (ja) 中央演算処理装置
JPH0855011A (ja) 異機種間データ変換方法
JPS6332587A (ja) 表示制御装置