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 SUB 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. |
""Int_b" is subtracted from the integer data stored in "Int08TmpTran(0)". The result of the operation is stored in "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 SUB 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 variable "RealTmpTran(0)" is subtracted from the real data of "Real_a". The result of the operation is stored in "RealTmpTran(1)"
|
3. |
An instruction to convert the real data of "RealTmpTran(1)" to the integer data 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. |
|
|