JPS6242234A - Arithmetic processing system for variable having bit train attribute - Google Patents
Arithmetic processing system for variable having bit train attributeInfo
- Publication number
- JPS6242234A JPS6242234A JP60182488A JP18248885A JPS6242234A JP S6242234 A JPS6242234 A JP S6242234A JP 60182488 A JP60182488 A JP 60182488A JP 18248885 A JP18248885 A JP 18248885A JP S6242234 A JPS6242234 A JP S6242234A
- Authority
- JP
- Japan
- Prior art keywords
- variable
- arithmetic processing
- bit
- data set
- bytes
- 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)
- Devices For Executing Special Programs (AREA)
Abstract
Description
【発明の詳細な説明】
〔概要〕
PL/I言語で記述されたビット列属性を持つ変数の演
算処理を8バイト単位で行うための命令列をPL/Iラ
イブラリに登録しておき、ビット列属性を持つ演算処理
を行うためのPL/rのソースプログラムを翻訳して得
られるオブジェクト・モジュールと上記PL/Iライブ
ラリに格納されているオブジェクト・モジュールをリン
クするようにしたものである。[Detailed Description of the Invention] [Summary] An instruction sequence for performing arithmetic processing on a variable with a bit string attribute written in the PL/I language in 8-byte units is registered in the PL/I library, and the bit string attribute is An object module obtained by translating a PL/r source program for performing arithmetic processing in the PL/I library is linked with an object module stored in the PL/I library.
本発明は、PL/r言語で記述されたビット列属性を持
つ変数の演算処理を8バイト単位で行い得るよにしたビ
ット列属性を持つ変数の演算処理方式に関するものであ
る。The present invention relates to an arithmetic processing method for variables having bit string attributes written in the PL/r language, which allows arithmetic processing of variables having bit string attributes to be performed in units of 8 bytes.
C従来技術と問題点〕
ビット列属性を持つ言語としてはCHILL言語が知ら
れているが、CHILL言語ではビット列属性を持つ変
数の演算処理をピント単位で演算している。PL/I言
語もビット列属性を持つ変数の演算処理を行うことがで
きるが、従来のPL/IコンパイラもPL/I言語で記
述されたビット列属性を持つ変数の演算処理を行うため
のソース命令の列を、ビット単位の処理を行う機械語命
令の列に変換している。ビット列属性を持つ変数の演算
処理をビット単位で行うと、処理時間が長(なるという
欠点が生ずる。C. Prior Art and Problems] The CHILL language is known as a language having a bit string attribute, and in the CHILL language, arithmetic processing of variables having a bit string attribute is performed in units of focus. The PL/I language can also perform arithmetic processing on variables with bit string attributes, but conventional PL/I compilers also create source instructions for performing arithmetic processing on variables with bit string attributes written in the PL/I language. It converts a sequence into a sequence of machine language instructions that perform bit-by-bit processing. If the arithmetic processing of variables with bit string attributes is performed bit by bit, the disadvantage is that the processing time is long.
本発明は、上記の考察に基づくものであって、ビット列
属性を持つ変数の演算処理を8バイト単位で行い得るよ
うにしたビット列属性を持つ変数の演算処理方式を提供
することを目的としている。The present invention is based on the above consideration, and an object of the present invention is to provide an arithmetic processing method for a variable having a bit string attribute, which allows arithmetic processing of a variable having a bit string attribute to be performed in units of 8 bytes.
そしてそのため本発明のビット列属性を持つ変数の演算
処理方式は、PL/I言語で記述されたビット列属性を
持つ変数の演算を実行するための機械語命令列をPL/
Iライブラリに登録して置き、他のオブジェクト・モジ
ュールと上記機械語命令列をリンクすることによりロー
ド・モジュールを作成するようになった計算機システム
において、上記機械語命令列は、ビット属性を持つ変数
を8バイト単位で処理するように構成されていることを
特徴とするものである。Therefore, the arithmetic processing method for variables with bit string attributes according to the present invention uses machine language instruction strings to execute operations on variables with bit string attributes written in PL/I language.
In a computer system in which a load module is created by registering the above machine language instruction string in the I library and linking it with other object modules, the above machine language instruction string is a variable with a bit attribute. This feature is characterized in that it is configured to process data in units of 8 bytes.
〔発明の実施例〕 以下、本発明を実施例を参照しつつ説明する。[Embodiments of the invention] Hereinafter, the present invention will be explained with reference to Examples.
PL/I言語で記述されたピント属性を持つ変数の演算
処理の例を下記に示す。An example of arithmetic processing of a variable with a focus attribute written in the PL/I language is shown below.
DECLARE I A。DECLARE I A.
2 8 B(T(68) ALIGEND。2 8 B (T (68) ALIGEND.
2 CBIT(64) UNALIGEND。2 CBIT (64) UNALIGEND.
2 D BIT(64) UNALIGEND。2 D BIT (64) UNALIGEND.
D−B&C
上記プログラムは、変数B及びCの先頭から1ビツト毎
にAND演算した結果を変数りに代入するプログラムで
ある。上記プログラム中の変数B。D-B&C The above program is a program that performs an AND operation on each bit from the beginning of variables B and C, and assigns the result to each variable. Variable B in the above program.
C及びDは、第1図のように記憶域上に割付けられる。C and D are allocated on the storage area as shown in FIG.
上記のようなビット列属性を持つ変数の演算処理を行う
ための処理手順は下記の通りである。The processing procedure for performing arithmetic processing on variables having bit string attributes as described above is as follows.
(1) 変数Bを連続したレジスタXI、X2に代入
し、変数CをレジスタYl、Y2に代入する。(1) Assign variable B to consecutive registers XI and X2, and assign variable C to registers Yl and Y2.
1−11バイト:ICMXl又はYl、8.変数1−2
2バイト: I CM Xi又はY2.12.変数1−
33バイト:ICMXl又はY2,14.変数1−44
バイト:LXl又はYl、変数1−55バイト:LXl
又はYl、変数ICMX2又はY2,8.変数
1−66バイト:LXl又はYl、変数ICMX2又は
Y2.12.変数
1−77パイト:LXl又はYl、変数ICMX2又は
Y2,14.変数
1−88バイト:LMXl又はYl、変数(2)変数が
レジスタの先頭にないとき(レジスタ間に跨がっている
又はバイト境界にない)を考慮し、シフト処理等を行う
。1-11 bytes: ICMXl or Yl, 8. Variable 1-2
2 bytes: I CM Xi or Y2.12. Variable 1-
33 bytes: ICMXl or Y2, 14. Variable 1-44
Byte: LXl or Yl, variable 1-55 byte: LXl
or Yl, variable ICMX2 or Y2,8. Variable 1-66 bytes: LXl or Yl, variable ICMX2 or Y2.12. Variable 1-77 part: LXl or Yl, variable ICMX2 or Y2, 14. Variable 1-88 bytes: LMXl or Yl, variable (2) Perform shift processing, etc., taking into account when the variable is not at the beginning of the register (straddling between registers or not at a byte boundary).
(3)NR命令を実行する。(3) Execute the NR command.
(41(3)の結果を変数りに代入する。(Substitute the result of 41(3) into the variable.
4−11バイト:STCMXl又はYl、8.変数4−
22バイト:STCMXl又はY2.12.変数4−3
3バイト:STCMXl又はY2.14.変数4−44
バイト:5TX1又はYl、変数4−55バイト:5T
X1又はYl、変数STCMX2又はY2.8.変数
4−66バイト:5TX1又はYl、変数STCMX2
又はY2.12.変数
4−77バイト:5TX1又はYl、変数STCMX2
又はY2.14.変数
4−88バイト:STMXl又はYl、変数(51(1
1,(2]、 (41,(5)の繰返しなお、ICMは
lN5ERT CHRACTERS [INIIERM
ASK命令、STCMは5TORE CHRACTER
S UNDERMASK命令りはロード命令、LMは倍
語長のロード命令、STはストア命令、STMは倍語長
のストア命令、NRはAND命令ををそれぞれ示してい
る。なお、ビット属性を持つ変数の演算処理としては、
AND演算の他に、
・ OR又はNOT演算
・ ALL又はANY組込み関数
・ BOOLMi込み関数
・INDEX 、 5UBSTR,VERIFY組込み
関数・ 連結演算
等がある。第2図はビット列演算モジュールのフローチ
ャートを示す。4-11 bytes: STCMXl or Yl, 8. Variable 4-
22 bytes: STCMXl or Y2.12. Variable 4-3
3 bytes: STCMXl or Y2.14. Variable 4-44
Byte: 5TX1 or Yl, variable 4-55 byte: 5T
X1 or Yl, variable STCMX2 or Y2.8. Variable 4-66 bytes: 5TX1 or Yl, variable STCMX2
Or Y2.12. Variable 4-77 bytes: 5TX1 or Yl, variable STCMX2
Or Y2.14. Variable 4-88 bytes: STMXl or Yl, variable (51 (1
1, (2], (41, (5)). Note that the ICM is 1, (2), (41, (5)).
ASK instruction, STCM is 5TORE CHRACTER
The S UNDERMASK instruction is a load instruction, LM is a double-length load instruction, ST is a store instruction, STM is a double-length store instruction, and NR is an AND instruction. Note that the calculation process for variables with bit attributes is as follows:
In addition to the AND operation, there are also the following: - OR or NOT operation - ALL or ANY built-in function - BOOLMi built-in function - INDEX, 5UBSTR, VERIFY built-in function - Concatenation operation, etc. FIG. 2 shows a flowchart of the bit string operation module.
上記の(1)ないしく5)の処理を行うための機械語命
令列及びビット長に応じて対応するルーチンを選択する
ための機械語命令列は、予めPL/Iランプラリに格納
されおり、ロード・モジュール作成時に他のオブジェク
ト・モジュールにリンクされる。第3図はPL/I言語
処理の流れを示す図であり、ソース・データセットがP
L/Iコンパイラに入力され、その出力がオブジェクト
・データセントに格納され、オブジェクト・データセッ
トとPL/Iレジデント・ライブラリの内容がリングさ
れ、ロードモジュール・データセントが生成され、実行
される。The machine language instruction sequence for performing the processing in (1) to 5) above and the machine language instruction sequence for selecting the corresponding routine according to the bit length are stored in advance in the PL/I lamp library and loaded. - Linked to other object modules when creating a module. Figure 3 is a diagram showing the flow of PL/I language processing, where the source data set is P
It is input to the L/I compiler, its output is stored in an object datacent, the object data set and the contents of the PL/I resident library are ringed, a load module datacent is generated and executed.
以上の説明から明らかなように、本発明によれば、ビッ
ト列属性を持つ変数の演算を8バイト単位で実行できる
ので、効率よくこの種の演算を処理することが出来る。As is clear from the above description, according to the present invention, operations on variables having bit string attributes can be executed in units of 8 bytes, so this type of operation can be processed efficiently.
第1図は記憶域上におけるビット列属性を持つ変数の割
付は例を示す図、第2図はビット列演算モジュールのフ
ローチャート、第3図はPL/1言語処理の流れを示す
図である。FIG. 1 is a diagram showing an example of the allocation of variables with bit string attributes on a storage area, FIG. 2 is a flowchart of a bit string operation module, and FIG. 3 is a diagram showing the flow of PL/1 language processing.
Claims (1)
算を実行するための機械語命令列をPL/Iライブラリ
に登録して置き、他のオブジェクト・モジュールと上記
機械語命令列をリンクすることによりロード・モジュー
ルを作成するようになった計算機システムにおいて、上
記機械語命令列は、ビット属性を持つ変数を8バイト単
位で処理するように構成されていることを特徴とするビ
ット列属性を持つ変数の演算処理方式。Registering and placing a machine language instruction sequence for executing operations on variables with bit string attributes written in the PL/I language in a PL/I library, and linking the machine language instruction sequence with other object modules. In a computer system in which a load module is created by the following, the machine language instruction string is configured to process a variable having a bit attribute in units of 8 bytes. calculation processing method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60182488A JPS6242234A (en) | 1985-08-20 | 1985-08-20 | Arithmetic processing system for variable having bit train attribute |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60182488A JPS6242234A (en) | 1985-08-20 | 1985-08-20 | Arithmetic processing system for variable having bit train attribute |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6242234A true JPS6242234A (en) | 1987-02-24 |
Family
ID=16119155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60182488A Pending JPS6242234A (en) | 1985-08-20 | 1985-08-20 | Arithmetic processing system for variable having bit train attribute |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6242234A (en) |
-
1985
- 1985-08-20 JP JP60182488A patent/JPS6242234A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6242234A (en) | Arithmetic processing system for variable having bit train attribute | |
JP3318051B2 (en) | Translation processing method | |
JP2585793B2 (en) | Compiler system | |
JP2943590B2 (en) | Interpreted simulation method | |
JPH0337726A (en) | Case statement optimizing system | |
JP2827724B2 (en) | Program debug processing method | |
JPH0414144A (en) | Compiling processing method | |
JP3464019B2 (en) | Register allocation method | |
JPH0411888B2 (en) | ||
JPS64725B2 (en) | ||
JP2786689B2 (en) | Compiler processing method | |
JPH04167134A (en) | Bit transcription system | |
JPH05233241A (en) | Program forming device | |
JPS5846439A (en) | Program editing method of computer | |
JPH0250730A (en) | Language converting system based upon common machine word | |
JPS62264333A (en) | Processing method for optimization of program | |
JPH0357022A (en) | Arithmetic processing system | |
JPH01177128A (en) | Assembler system | |
JPH03296134A (en) | Compiling processor | |
JPH0293948A (en) | Computer system | |
JPH01236327A (en) | Interruption mask control method | |
JPH0279127A (en) | Fortran compile processing system | |
JPS61216085A (en) | Vector processing program producing system | |
JPS62182843A (en) | Fast compiling/linking system | |
JPS61109145A (en) | Calculation system for memory address |