Pattern A |
|
The instruction is converted without any changes.
|
|
|
Pattern B |
|
With GP-Pro EX, variables with different lengths can not be allocated on one instruction. In case that the bit lengths of variables allocated on MUL instruction are different, the convert instruction to match the variable lengths is added and converted.
|
- |
Before Conversion |
|
|
Variable
|
Variable Type
|
Int_a.B[0]
|
Integer-Type
(Specified Byte)
|
Int_b
|
Integer-Type
|
Int_c.B[0]
|
Integer-Type
(Specified Byte)
|
|
|
- |
After Conversion |
|
1. |
An instruction to copy the data of "Int_a.B[0]" to 8 lower bits "Int08TmpTran(0).B[0]" of the integer variable "Int08TmpTran(0)" is created.
|
2. |
The integer data stored in "Int08TmpTran(0)" is multiplied by "Int_b". The result of the operation is stored in the integer variable "Int32TmpTran(0)".
|
3. |
An instruction to copy the data of 8 lower bits "Int32TmpTran(0).B[0]" of "Int32TmpTran(0)" to "Int_c.B[0]" is created. |
|
 |
|
Pattern C |
|
With GP-Pro EX, different types of variables can not be allocated on one instruction. In case that the variable types allocated on MUL instruction are different, the convert instruction to match the variable types is added and converted.
|
-
|
Before Conversion |
|
|
Variable
|
Variable Type
|
Real_a
|
Real-Type
|
Int_b
|
Integer-Type
|
Int_c
|
Integer-Type
|
|
|
- |
After Conversion |
|
1. |
An instruction to convert the integer data of "Int_b" to the real data and copy it on the real variable "RealTmpTran(0)" is created.
|
2. |
The real data of "Real_a" is multiplied by "RealTmpTran(0)". The result of the operation is stored in the "RealTmpTran(1)".
|
3. |
An instruction to convert the real data of "RealTmpTran(1)" and copy it on "Int_c" is created. |
|
 |
|
|
MEMO |
* |
The integer variables "Int08TmpTran(0)", "Int32TmpTran(0)", and the real variables "RealTmpTran(0)", "RealTmpTran(1)" are created automatically when conversion. |
|
|