== BASIC VALUE ==
01 BUFFER-X PIC X(5)
MOVE "ABC" TO BUFFER-X. *>0x 41 42 43 20 20 = "ABC "
MOVE "123" TO BUFFER-X. *>0x 31 32 33 20 20 = "123 "
MOVE 123 TO BUFFER-X. *>0x 31 32 33 20 20 = "123 "
01 BUFFER-9 PIC X(5)
MOVE "123" TO BUFFER-X. *>0x 30 30 31 32 33 = 00123
MOVE 123 TO BUFFER-X. *>0x 30 30 31 32 33 = 00123
01 BUFFER-COMP-3 PIC 9(07) COMP-3.
MOVE 123 TO BUFFER-COMP-3. >*0x 00 00 12 3F MOVE +123 TO BUFFER-COMP-3. >*0x 00 00 12 3F
MOVE -123 TO BUFFER-COMP-3. >*0x 00 00 12 3F
01 BUFFER-COMP-3 PIC S9(07) COMP-3.
MOVE "123" TO BUFFER-COMP-3. >*0x 00 00 12 3C, "123" is interpreted as 9(3)
MOVE 123 TO BUFFER-COMP-3. >*0x 00 00 12 3C
MOVE +123 TO BUFFER-COMP-3. >*0x 00 00 12 3C
MOVE -123 TO BUFFER-COMP-3. >*0x 00 00 12 3D
01 BUFFER-COMP-5 PIC 9(07) COMP-5.
MOVE 123 TO BUFFER-COMP-5. >*0x 7B 00 00 00 MOVE +123 TO BUFFER-COMP-5. >*0x 7B 00 00 00
MOVE -123 TO BUFFER-COMP-5. >*0x 85 FF FF FF
01 BUFFER-COMP-5 PIC S9(07) COMP-5.
MOVE "123" TO BUFFER-COMP-5. >*0x 7B 00 00 00, "123" is interpreted as 9(3)
MOVE 123 TO BUFFER-COMP-5. >*0x 7B 00 00 00
MOVE +123 TO BUFFER-COMP-5. >*0x 7B 00 00 00
MOVE -123 TO BUFFER-COMP-5. >*0x 85 FF FF FF
== MOVE VALUE==
-- COMP-3 -> COMP-5 --
MOVE 123 TO BUFFER-COMP-3.
MOVE BUFFER-COMP-3 TO BUFFER-COMP-5. *>0x 7B 00 00 00
-- COMP-5 -> COMP-3 --
MOVE 123 TO BUFFER-COMP-5.
MOVE BUFFER-COMP-5 TO BUFFER-COMP-3. *>0x 00 00 12 3F
-- COMP-3/5 -> 9(...)
MOVE 123 TO BUFFER-COMP-5.
MOVE BUFFER-COMP-5 TO BUFFER-9. *>0x 30 30 31 32 33
MOVE 123 TO BUFFER-COMP-3.
MOVE BUFFER-COMP-3 TO BUFFER-9. *>0x 30 30 31 32 33
-- 9(...) -> COMP-3/5 --
MOVE 123 TO BUFFER-9.
MOVE BUFFER-9 TO BUFFER-COMP-3. *>0x 00 00 12 3F
MOVE BUFFER-9 TO BUFFER-COMP-5. *>0x 7B 00 00 00
-- COMP-3/5 -> X(...)
MOVE 123 TO BUFFER-COMP-5.
MOVE BUFFER-COMP-5 TO BUFFER-X. *>0x 30 30 30 30 31 ????
MOVE 123 TO BUFFER-COMP-3.
MOVE BUFFER-COMP-3 TO BUFFER-X. *>0x 30 30 30 30 31 ????
-- X(...) -> COMP-3/5 --
MOVE 123 TO BUFFER-X.
MOVE BUFFER-X TO BUFFER-COMP-3. *>0x 00 12 30 0F ????
MOVE BUFFER-X TO BUFFER-COMP-5. *>0x 0C 30 00 00 ????
Summary
- Numeric data can be moved with each other, e.g., 9(...), COMP-3, COMP-5, but numeric cannot be moved with non-numeric data type, i.e., X(...).
- And numeric formatting string constant ("123") is interpreted as 9(3).