Changes for page 01 Transfer and comparison
Last modified by Mora Zhou on 2023/11/22 16:08
From version 22.1
edited by Jim(Forgotten)
on 2022/07/13 15:16
on 2022/07/13 15:16
Change comment:
There is no comment for this version
To version 20.2
edited by Jim(Forgotten)
on 2022/07/13 15:13
on 2022/07/13 15:13
Change comment:
Update document after refactoring.
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -07-01 Transfer comparison instruction1 +07-01 - Content
-
... ... @@ -775,3 +775,1740 @@ 775 775 If (0) ≤ (D0) ≤ (100000), then Y1 is ON. 776 776 777 777 If (D0) <(0), then Y2 is ON. 778 + 779 += **Cycle shift instruction** = 780 + 781 +== **ROR/16-bit cycle shift right** == 782 + 783 +**ROR(P)** 784 + 785 +Shift the 16-bit data of the device specified in (D) to the right by (N) bits without including the carry flag. 786 + 787 +-[ROR (D) (N)] 788 + 789 +**Content, range and data type** 790 + 791 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 792 +|(% style="text-align:center; vertical-align:middle" %)(D)|The device start number for cycle shift right|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 793 +|(% style="text-align:center; vertical-align:middle" %)(N)|The number of times to cycle shift right|(% style="text-align:center; vertical-align:middle" %)0 to 15|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 794 + 795 +**Device used** 796 + 797 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)((( 798 +**Pulse extension** 799 +))) 800 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 801 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)ROR|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 802 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 803 + 804 +**Features** 805 + 806 +・The 16-bit data of the device specified in (D) is shifted right by (N) bits without including the carry flag. The carry flag is in the ON or OFF state according to the state before the ROR(P) is executed. 807 + 808 +(% style="text-align:center" %) 809 +[[image:07-1 Basic instructions_html_211c81ae87a63ccc.gif||height="415" width="750"]] 810 + 811 +(N) Specifies 0 to 15. When a value of 16 or more is specified in (N), the remainder value of (N)÷16 is shifted to the right. For example, when (N)=18, 18÷16=1 and the remainder is 2, so a 2-bit right shift is performed. 812 + 813 +**Related device** 814 + 815 +|(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content** 816 +|(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|It turns ON when the last bit shifted from the lowest is 1. 817 + 818 +✎**Note: ** 819 + 820 +Do not set the number of digits (N) shifted right to a negative value. 821 + 822 +In the case of continuous execution type instructions (ROR, RCR), the right shift will be executed every scan time (operation cycle), so be careful. 823 + 824 +When specifying the number of digits to specify the device in (D), only K4 (16-bit instruction) or K8 (32-bit instruction) is valid. (For example, K4Y10, K8M0). 825 + 826 + 827 +**Error code** 828 + 829 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 830 +|(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N). 831 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range 832 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 833 + 834 +**Example** 835 + 836 +(% style="text-align:center" %) 837 +[[image:07-1 Basic instructions_html_3f35914868d0e9df.png]] 838 + 839 +Shift the 1 in the D0 device by 3 bits to the right to get 8192. 840 + 841 +== **DROR/32-bit cycle shift right** == 842 + 843 +**DROR(P)** 844 + 845 +Shift the 32-bit data of the device specified in (D) to the right by (N) bits without including the carry flag. 846 + 847 +-[DROR (D) (N)] 848 + 849 +**Content, range and data type** 850 + 851 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 852 +|(% style="text-align:center; vertical-align:middle" %)(D)|The device start number for cycle shift right|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 853 +|(% style="text-align:center; vertical-align:middle" %)(N)|The number of times to cycle shift right|(% style="text-align:center; vertical-align:middle" %)0 to 31|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 854 + 855 +**Device used** 856 + 857 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)((( 858 +**Pulse extension** 859 +))) 860 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 861 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)DROR|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 862 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 863 + 864 +**Features** 865 + 866 +・The 32-bit data of the device specified in (D) is shifted right by (N) bits without including the carry flag. The carry flag is on or off according to the state before DROR(P) is executed. 867 + 868 +(% style="text-align:center" %) 869 +[[image:07-1 Basic instructions_html_782300af1d1cbbc6.gif||height="292" width="750"]] 870 + 871 +(N) Specifies 0 to 31. When a value of 32 or more is specified in (N), the remainder of (N)÷32 is shifted to the right. For example, when (N)=34, 34÷32=1 and the remainder is 2, so a 2-bit right shift is performed. 872 + 873 +**Related device** 874 + 875 +|(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content** 876 +|(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|It turns ON when the last bit shifted from the lowest is 1. 877 + 878 +✎**Note: ** 879 + 880 +Do not set the number of digits (N) shifted right to a negative value. 881 + 882 +In the case of continuous execution type instructions (ROR, RCR), the right shift will be executed every scan time (operation cycle), so be careful. When specifying the number of digits to specify the device in (D), only K4 (16-bit instruction) or K8 (32-bit instruction) is valid. (For example, K4Y10, K8M0). 883 + 884 +**Error code** 885 + 886 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 887 +|(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N). 888 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range 889 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 890 + 891 +((( 892 +After the rising edge of M1 is triggered, the value 32 of the D0 device is shifted right by 3 bits to get 4. 893 + 894 +**Example** 895 +))) 896 + 897 +(% style="text-align:center" %) 898 +[[image:07-1 Basic instructions_html_50ea116e0a4110c.png]] 899 + 900 +== **RCR/16-bit cycle shift right with carry** == 901 + 902 +**RCR(P)** 903 + 904 +Shift the 16-bit data of the device specified in (D) to the right by (N) bits with the carry flag included. 905 + 906 +-[RCR (D) (N)] 907 + 908 +**Content, range and data type** 909 + 910 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 911 +|(% style="text-align:center; vertical-align:middle" %)(D)|The device start number for cycle shift right|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 912 +|(% style="text-align:center; vertical-align:middle" %)(N)|The number of times to cycle shift right|(% style="text-align:center; vertical-align:middle" %)0 to 15|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 913 + 914 +**Device used** 915 + 916 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)((( 917 +**Pulse extension** 918 +))) 919 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 920 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)RCR|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 921 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 922 + 923 +**Features** 924 + 925 +Shift the BIN 16-bit data of the device specified in (D) to the right by (N) bits with the carry flag included. The carry flag is on or off according to the state before the RCR(P) is executed. 926 + 927 +(% style="text-align:center" %) 928 +[[image:07-1 Basic instructions_html_892489cd33fef35e.gif||height="368" width="750"]] 929 + 930 +(N) Specifies 0 to 15. When a value of 16 or more is specified in (N), the remainder value of (N)÷16 is shifted to the right. For example, when (N)=18, 18÷16=1 and the remainder is 2, so a 2-bit right shift is performed. 931 + 932 +**Related device** 933 + 934 +|(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content** 935 +|(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|It turns ON when the last bit shifted from the lowest is 1. 936 + 937 +✎**Note: ** 938 + 939 +Do not set the number of digits (N) shifted right to a negative value. 940 + 941 +In the case of continuous execution type instructions (ROR, RCR), the right shift will be executed every scan time (operation cycle), so be careful. 942 + 943 +When specifying the number of digits to specify the device in (D), only K4 (16-bit instruction) or K8 (32-bit instruction) is valid. (For example, K4Y10, K8M0). 944 + 945 +**Error code** 946 + 947 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 948 +|(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N) 949 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range 950 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 951 + 952 +**Example** 953 + 954 +(% style="text-align:center" %) 955 +[[image:07-1 Basic instructions_html_d84a8536f60ce54a.png]] 956 + 957 +After the rising edge of M0 is triggered, the carry flag SM151 turns ON, and D0 is assigned the value 1. When M1=ON, the value in the D0 device is shifted right by 4 bits to get 12288. 958 + 959 +== **DRCR/32-bit cycle shift right with carry** == 960 + 961 +**DRCR(P)** 962 + 963 +Shift the 32-bit data of the device specified in (D) to the right by (N) bits with the carry flag included. 964 + 965 +-[DRCR (D) (N)] 966 + 967 +**Content, range and data type** 968 + 969 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 970 +|(% style="text-align:center; vertical-align:middle" %)(D)|The device start number for cycle shift right|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 971 +|(% style="text-align:center; vertical-align:middle" %)(N)|The number of times to cycle shift right|(% style="text-align:center; vertical-align:middle" %)0 to 31|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 972 + 973 +**Device used** 974 + 975 +(% style="width:1487px" %) 976 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)((( 977 +**Pulse extension** 978 +))) 979 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 980 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)DRCR|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 981 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 982 + 983 +**Features** 984 + 985 +・The BIN 32-bit data of the device specified in (D) is shifted right by (N) bits with the carry flag included. The carry flag is in the ON or OFF state according to the state before DRCR(P) is executed. 986 + 987 +(% style="text-align:center" %) 988 +[[image:07-1 Basic instructions_html_f31c6b7fdef32870.gif||height="295" width="750"]] 989 + 990 +(N) Specifies 0 to 31. When a value of 32 or more is specified in (N), the remainder value of (N)÷32 is shifted to the right. For example, when (N)=34, 34÷32=1 and the remainder is 2, so a 2-bit right shift is performed. 991 + 992 +**Related device** 993 + 994 +|(% style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content** 995 +|(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|It turns ON when the last bit shifted from the lowest is 1. 996 + 997 +✎**Note: ** 998 + 999 +Do not set the number of bits (N) to turn right to a negative value. 1000 + 1001 +In the case of continuous execution type instructions (DROR, DRCR), the right shift will be executed every scan time (operation cycle), so be careful. When specifying the number of digits to specify the device in (D), only K4 (16-bit instruction) or K8 (32-bit instruction) is valid. (For example, K4Y10, K8M0). 1002 + 1003 +**Error code** 1004 + 1005 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 1006 +|(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N). 1007 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range 1008 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 1009 + 1010 +**Example** 1011 + 1012 +((( 1013 +After the rising edge of M0 is triggered, the carry flag SM151 turns ON, and D0 is assigned the value 1. When M1=ON, the value in the D0 device is shifted right by 20 bits to get 12288. 1014 + 1015 +(% style="text-align:center" %) 1016 +[[image:07-1 Basic instructions_html_1fa431776b980f3.png]] 1017 +))) 1018 + 1019 +== **ROL/16-bit cycle shift left** == 1020 + 1021 +**ROL(P)** 1022 + 1023 +Shift the 16-bit data of the device specified in (D) to the left by (N) bits without including the carry flag. 1024 + 1025 +-[ROL (D) (N)] 1026 + 1027 +**Content, range and data type** 1028 + 1029 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 1030 +|(% style="text-align:center; vertical-align:middle" %)(D)|The device start number for cycle shift left|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 1031 +|(% style="text-align:center; vertical-align:middle" %)(N)|The number of times to cycle shift left|(% style="text-align:center; vertical-align:middle" %)0 to 15|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 1032 + 1033 +**Device used** 1034 + 1035 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)((( 1036 +**Pulse extension** 1037 +))) 1038 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 1039 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)ROL|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1040 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1041 + 1042 +**Features** 1043 + 1044 +・The 16-bit data of the device specified in (D) is shifted to the left by (N) bits without including the carry flag. The carry flag is in the ON or OFF state according to the state before ROL(P) is executed. 1045 + 1046 +(% style="text-align:center" %) 1047 +[[image:07-1 Basic instructions_html_5368402e0b2f8d39.gif||height="426" width="750"]] 1048 + 1049 +(N) Specify 0 to 15. When a value of 16 or more is specified in (N), the remainder value of (N)÷16 is shifted to the left. For example, when (N)=18, 18÷16=1 and the remainder is 2, so a 2-bit left shift is performed. 1050 + 1051 +**Related device** 1052 + 1053 +|(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content** 1054 +|(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|It turns ON when the last bit shifted from the highest is 1. 1055 + 1056 +✎**Note: ** 1057 + 1058 +Do not set the number of digits (N) shifted to the left to a negative value. In the case of continuous execution type instructions (ROL, RCL), the shift to the left will be executed every scan time (operation cycle), so be careful. When specifying the number of digits to specify the device in (D), only K4 (16-bit instruction) or K8 (32-bit instruction) is valid. (For example, K4Y10, K8M0). 1059 + 1060 +**Error code** 1061 + 1062 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 1063 +|(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N). 1064 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range 1065 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 1066 + 1067 +(% style="text-align:center" %) 1068 +[[image:07-1 Basic instructions_html_89015ce664980431.png]] 1069 + 1070 +**Example** 1071 + 1072 +Shift 1 in the D0 device to the left by 3 bits to get 8. 1073 + 1074 +== **DROL/32-bit cycle shift left** == 1075 + 1076 +**DROL(P)** 1077 + 1078 +Shift the 32-bit data of the device specified in (D) to the left by (N) bits without including the carry flag. 1079 + 1080 +-[DROL (D) (N)] 1081 + 1082 +**Content, range and data type** 1083 + 1084 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 1085 +|(% style="text-align:center; vertical-align:middle" %)(D)|The device start number for cycle shift left|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 1086 +|(% style="text-align:center; vertical-align:middle" %)(N)|The number of times to cycle shift left|(% style="text-align:center; vertical-align:middle" %)0 to 31|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 1087 + 1088 +**Device used** 1089 + 1090 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 1091 +**Offset modification** 1092 +)))|(% style="text-align:center; vertical-align:middle" %)((( 1093 +**Pulse extension** 1094 +))) 1095 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 1096 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)DROL|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1097 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1098 + 1099 +**Features** 1100 + 1101 +・The 32-bit data of the device specified in (D) is shifted left by (N) bits without including the carry flag. The carry flag is on or off according to the state before DROL(P) is executed. 1102 + 1103 +(% style="text-align:center" %) 1104 +[[image:07-1 Basic instructions_html_74bd4947729181d8.gif||height="299" width="750"]] 1105 + 1106 +(N) Specifies 0 to 31. When a value of 32 or more is specified in (N), the remainder of (N)÷32 is shifted to the left. For example, when (N)=34, 34÷32=1 and the remainder is 2, so a 2-bit left shift is performed. 1107 + 1108 +**Related device** 1109 + 1110 +|(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content** 1111 +|(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|It turns ON when the last bit shifted from the highest is 1. 1112 + 1113 +✎**Note: ** 1114 + 1115 +Do not set the number of digits (N) shifted to the left to a negative value. 1116 + 1117 +In the case of continuous execution type instructions (ROL, RCL), the shift to the left will be executed every scan time (operation cycle), so be careful. When specifying the number of digits to specify the device in (D), only K4 (16-bit instruction) or K8 (32-bit instruction) is valid. (For example, K4Y10, K8M0). 1118 + 1119 +**Error code** 1120 + 1121 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 1122 +|(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N). 1123 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range 1124 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 1125 + 1126 +**Example** 1127 + 1128 +(% style="text-align:center" %) 1129 +[[image:07-1 Basic instructions_html_de83e097b4c3b47e.png]] 1130 + 1131 +Shift 1 in the D0 device to the left by 3 bits to get 8. 1132 + 1133 +== **RCL/16-bit cycle shift left with carry** == 1134 + 1135 +**RCL(P)** 1136 + 1137 +Shift the 16-bit data of the device specified in (D) to the left by (N) bits with the carry flag included. 1138 + 1139 +-[RCL (D) (N)] 1140 + 1141 +**Content, range and data type** 1142 + 1143 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 1144 +|(% style="text-align:center; vertical-align:middle" %)(D)|The device start number for cycle shift left|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 1145 +|(% style="text-align:center; vertical-align:middle" %)(N)|The number of times to cycle shift left|(% style="text-align:center; vertical-align:middle" %)0 to 15|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 1146 + 1147 +**Device used** 1148 + 1149 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 1150 +**Offset modification** 1151 +)))|(% style="text-align:center; vertical-align:middle" %)((( 1152 +**Pulse extension** 1153 +))) 1154 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 1155 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)RCL|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1156 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1157 + 1158 +**Features** 1159 + 1160 +・The 16-bit data of the device specified in (D) is shifted (N) to the left with the carry flag included. The carry flag is on or off according to the state before RCL(P) is executed. 1161 + 1162 +(% style="text-align:center" %) 1163 +[[image:07-1 Basic instructions_html_1892ed00695d575b.gif||height="378" width="750"]] 1164 + 1165 +(N) Specifies 0 to 15. When a value of 16 or more is specified in (N), the remainder value of (N)÷16 is shifted to the left. For example, when (N)=18, 18÷16=1 and the remainder is 2, so a 2-bit left shift is performed. 1166 + 1167 +**Related device** 1168 + 1169 +|(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content** 1170 +|(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|It turns ON when the last bit shifted from the highest is 1. 1171 + 1172 +✎**Note: ** 1173 + 1174 +Do not set the number of digits (N) shifted to the left to a negative value. In the case of continuous execution type instructions (ROL, RCL), the shift to the left will be executed every scan time (operation cycle), so be careful. When specifying the number of digits to specify the device in (D), only K4 (16-bit instruction) or K8 (32-bit instruction) is valid. (For example, K4Y10, K8M0). 1175 + 1176 +**Error code** 1177 + 1178 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 1179 +|(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N). 1180 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range 1181 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 1182 + 1183 +**Example** 1184 + 1185 +(% style="text-align:center" %) 1186 +[[image:07-1 Basic instructions_html_d67374659afd2d4c.png]] 1187 + 1188 +((( 1189 +After the rising edge of M0 is triggered, the carry flag SM151 turns ON, and D0 is assigned the value 1. 1190 + 1191 +When M1=ON, move the value in the D0 device with carry to the left by 4 bits to get 24. 1192 +))) 1193 + 1194 +== **DRCL/32-bit cycle shift left with carry** == 1195 + 1196 +**DRCL(P)** 1197 + 1198 +Move the 32-bit data of the device specified in (D) to the left by (N) bits with the carry flag included. 1199 + 1200 +-[DRCL (D) (N)] 1201 + 1202 +**Content, range and data type** 1203 + 1204 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 1205 +|(% style="text-align:center; vertical-align:middle" %)(D)|The device start number for cycle shift left|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 1206 +|(% style="text-align:center; vertical-align:middle" %)(N)|The number of times to cycle shift left|(% style="text-align:center; vertical-align:middle" %)0 to 31|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 1207 + 1208 +**Device used** 1209 + 1210 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 1211 +**Offset modification** 1212 +)))|(% style="text-align:center; vertical-align:middle" %)((( 1213 +**Pulse extension** 1214 +))) 1215 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 1216 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)DRCL|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1217 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1218 + 1219 +**Features** 1220 + 1221 +The 32-bit data of the device specified in (D) is shifted (N) to the left with the carry flag included. The carry flag is on or off according to the state before RCL(P) is executed. 1222 + 1223 +(% style="text-align:center" %) 1224 +[[image:07-1 Basic instructions_html_7d7d803db3bbba9e.gif||height="344" width="750"]] 1225 + 1226 +(N) Specifies 0 to 31. When a value of 32 or more is specified in (N), the remainder of (N)÷32 is shifted to the left. For example, when (N)=34, 34÷32=1 and the remainder is 2, so a 2-bit left shift is performed. 1227 + 1228 +**Related device** 1229 + 1230 +|(% style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content** 1231 +|(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|Turns ON when the last bit shifted from the highest is 1. 1232 + 1233 +✎**Note: ** 1234 + 1235 +Do not set the number of digits (N) shifted to the left to a negative value. In the case of continuous execution type instructions (ROL, RCL), the shift to the left will be executed every scan time (operation cycle), so be careful. When specifying the number of digits to specify the device in (D), only K4 (16-bit instruction) or K8 (32-bit instruction) is valid. (For example, K4Y10, K8M0). 1236 + 1237 +**Error code** 1238 + 1239 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 1240 +|(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N). 1241 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range 1242 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 1243 + 1244 +**Example** 1245 + 1246 +(% style="text-align:center" %) 1247 +[[image:07-1 Basic instructions_html_8c7837da92e4e984.png]] 1248 + 1249 +((( 1250 +After the rising edge of M0 is triggered, the carry flag SM151 turns ON, and D0 is assigned the value 1. When M1=ON, carry the value in the D0 device to the left by 4 bits to get 24. 1251 +))) 1252 + 1253 +== **SFTR/n-bit shift right of n-bit data** == 1254 + 1255 +**SFTR(P)** 1256 + 1257 +Shift (N2) the data of the start (N1) bits of the device specified in (D) to the right. 1258 + 1259 +-[SFTR (S) (D) (N1) (N2)] 1260 + 1261 +**Content, range and data type** 1262 + 1263 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 1264 +|(% style="text-align:center; vertical-align:middle" %)(S)|The start number of the device storing the shifted data after shifting|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Bit|(% style="text-align:center; vertical-align:middle" %)ANY_BOOL 1265 +|(% style="text-align:center; vertical-align:middle" %)(D)|The shifted device start number|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Bit|(% style="text-align:center; vertical-align:middle" %)ANY_BOOL 1266 +|(% style="text-align:center; vertical-align:middle" %)(N1)|The length of shifted data|(% style="text-align:center; vertical-align:middle" %)0 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 1267 +|(% style="text-align:center; vertical-align:middle" %)(N2)|Number of shifts|(% style="text-align:center; vertical-align:middle" %)0 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 1268 + 1269 +**Device used** 1270 + 1271 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="17" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 1272 +**Offset modification** 1273 +)))|(% style="text-align:center; vertical-align:middle" %)((( 1274 +**Pulse extension** 1275 +))) 1276 +|(% style="text-align:center; vertical-align:middle" %)**X**|(% style="text-align:center; vertical-align:middle" %)**Y**|(% style="text-align:center; vertical-align:middle" %)**M**|(% style="text-align:center; vertical-align:middle" %)**S**|(% style="text-align:center; vertical-align:middle" %)**SM**|(% style="text-align:center; vertical-align:middle" %)**D.b**|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle; width:39px" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 1277 +|(% rowspan="3" style="text-align:center; vertical-align:middle" %)SFTR|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle; width:39px" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1278 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle; width:39px" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1279 +|(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle; width:39px" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1280 +|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Parameter 4|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle; width:39px" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1281 + 1282 +**Features** 1283 + 1284 +Shift (N2) the data of the start (N1) bits of the device specified in (D) to the right. After shifting, the point (N2) starting from (S) is transferred to the point (N2) starting from (D) + (N1 to N2). 1285 + 1286 +When K0 is specified in (S), the bit of the (D) + (N1 to N2) starting point (N2) after the shift is set to 0. 1287 + 1288 +When K1 is specified in (S), the bit of the (D) + (N1 to N2) starting point (N2) after the shift is set to 1. 1289 + 1290 +(% style="text-align:center" %) 1291 +[[image:07-1 Basic instructions_html_778995c9037fe76c.png||height="272" width="750"]] 1292 + 1293 + (1): When (S)=K0, it becomes 0. 1294 + 1295 +**Error code** 1296 + 1297 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 1298 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)4084H|When the value specified in (N1) and (N2) exceeds the range of 0 to 32767 1299 +|When the value specified in (N1) and (N2) is (N1)<(N2) 1300 +|(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in read application instructions (S), (D), (N1) and (N2) exceeds the corresponding device range 1301 +|(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range 1302 + 1303 +**Example** 1304 + 1305 +For N1=9 bits (the length of the shift register) data starting with M0, right shift N2=3 bits. After shifting, transfer N2=3 bits from Y0 to N2=3 bits from M6. 1306 + 1307 +(% style="text-align:center" %) 1308 +[[image:07-1 Basic instructions_html_85a1e316f5176368.png]] 1309 + 1310 + 1311 +(% style="text-align:center" %) 1312 +[[image:07-1 Basic instructions_html_9e770240b084beb6.png||height="360" width="750"]] 1313 + 1314 +== **SFTL/n-bit shift left of n-bit data** == 1315 + 1316 +**SFTL(P)** 1317 + 1318 +Shift the start (N1) bit data of the device specified in (D) to the left by (N2) bits. 1319 + 1320 +-[SFTL (S) (D) (N1) (N2)] 1321 + 1322 +**Content, range and data type** 1323 + 1324 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 1325 +|(% style="text-align:center; vertical-align:middle" %)(S)|The start number of the device storing shifted data after shifting|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Bit|(% style="text-align:center; vertical-align:middle" %)ANY_BOOL 1326 +|(% style="text-align:center; vertical-align:middle" %)(D)|The shifted device start number|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Bit|(% style="text-align:center; vertical-align:middle" %)ANY_BOOL 1327 +|(% style="text-align:center; vertical-align:middle" %)(N1)|The length of shifted data|(% style="text-align:center; vertical-align:middle" %)0 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 1328 +|(% style="text-align:center; vertical-align:middle" %)(N2)|Number of shifts|(% style="text-align:center; vertical-align:middle" %)0 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 1329 + 1330 +**Device used** 1331 + 1332 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="17" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 1333 +**Offset modification** 1334 +)))|(% style="text-align:center; vertical-align:middle" %)((( 1335 +**Pulse extension** 1336 +))) 1337 +|(% style="text-align:center; vertical-align:middle" %)**X**|(% style="text-align:center; vertical-align:middle" %)**Y**|(% style="text-align:center; vertical-align:middle" %)**M**|(% style="text-align:center; vertical-align:middle" %)**S**|(% style="text-align:center; vertical-align:middle" %)**SM**|(% style="text-align:center; vertical-align:middle" %)**D.b**|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 1338 +|(% rowspan="3" style="text-align:center; vertical-align:middle" %)SFTL|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1339 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1340 +|(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1341 +|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Parameter 4|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1342 + 1343 +**Features** 1344 + 1345 +Shift (N2) bits of the data at the beginning (N1) bits of the device specified in (D). After shifting, the point (N2) starting from (S) is transferred to the point (N2) starting from (D) + (N1 to N2). 1346 + 1347 +When K0 is specified in (S), the bit of the (D) + (N1 to N2) starting point (N2) after the shift is set to 0. 1348 + 1349 +When K1 is specified in (S), the bit of the (D) + (N1 to N2) starting point (N2) after the shift is set to 1. 1350 + 1351 +(% style="text-align:center" %) 1352 +[[image:07-1 Basic instructions_html_2452b20d324148ed.png]] 1353 + 1354 +(1): When (S)=K0, it becomes 0. 1355 + 1356 +**Error code** 1357 + 1358 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 1359 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)4084H|When the value specified in (N1) and (N2) exceeds the range of 0 to 32767 1360 +|When the value specified in (N1) and (N2) is (N1)<(N2) 1361 +|(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in read application instructions (S), (D), (N1) and (N2) exceeds the corresponding device range 1362 +|(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range 1363 + 1364 +**Example** 1365 + 1366 +Example 1: 1367 + 1368 +(% style="text-align:center" %) 1369 +[[image:07-1 Basic instructions_html_61b990c421d1a4a7.gif]] 1370 + 1371 +Example 2: 1372 + 1373 +(% style="text-align:center" %) 1374 +[[image:07-1 Basic instructions_html_bd3ff3ff98e5f38b.gif]] 1375 + 1376 +== **WSFR/n-word shift right of n-word data** == 1377 + 1378 +**WSFR(P)** 1379 + 1380 +Shift (N2) the data of the start (N1) bits of the device specified in (D) to the right. 1381 + 1382 +-[WSFR (S) (D) (N1) (N2)] 1383 + 1384 +**Content, range and data type** 1385 + 1386 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 1387 +|(% style="text-align:center; vertical-align:middle" %)(S)|The start number of the device storing shifted data after shifting|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)word|(% style="text-align:center; vertical-align:middle" %)ANY_BOOL 1388 +|(% style="text-align:center; vertical-align:middle" %)(D)|The shifted device start number|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)word|(% style="text-align:center; vertical-align:middle" %)ANY_BOOL 1389 +|(% style="text-align:center; vertical-align:middle" %)(N1)|The length of shifted data|(% style="text-align:center; vertical-align:middle" %)0 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 1390 +|(% style="text-align:center; vertical-align:middle" %)(N2)|Number of shifts|(% style="text-align:center; vertical-align:middle" %)0 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 1391 + 1392 +**Device used** 1393 + 1394 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 1395 +**Offset modification** 1396 +)))|(% style="text-align:center; vertical-align:middle" %)((( 1397 +**Pulse extension** 1398 +))) 1399 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 1400 +|(% rowspan="3" style="text-align:center; vertical-align:middle" %)SFTR|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1401 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1402 +|(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1403 +|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Parameter 4|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1404 + 1405 +**Features** 1406 + 1407 +Shift (N2) the data of the beginning (N1) word of the device specified in (D) to the right. After shifting, the point (N2) starting from (S) is transferred to the point (N2) starting from (D) + (N1 to N2). 1408 + 1409 +When K is specified in (S), the device at (D) + (N1 to N2) starting (N2) point after shifting is set to the specified value. 1410 + 1411 +If the value specified in (N1) or (N2) is 0, it will be no processing. 1412 + 1413 +(% style="text-align:center" %) 1414 +[[image:07-1 Basic instructions_html_186497250d881d1e.png]] 1415 + 1416 +**Error code** 1417 + 1418 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 1419 +|(% rowspan="3" style="text-align:center; vertical-align:middle" %)4084H|When the value specified in (N1) and (N2) exceeds the range of 0 to 32767 1420 +|When the value specified in (N1) and (N2) is (N1)<(N2) 1421 +|When (S) and (D) both specify KnM, KnX, and KnS, the value of n varies. 1422 +|(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in read application instructions (S), (D), (N1) and (N2) exceeds the corresponding device range 1423 +|(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range 1424 + 1425 +**Example** 1426 + 1427 +(S) and (D) specify the same multiple in the digit specified device. This program realizes to shift Y0 to Y7 bits right, shift Y10 to Y17 right to Y0 to Y7, and then store X0 to X7 to Y10 to Y17. 1428 + 1429 +((( 1430 +(% style="text-align:center" %) 1431 +[[image:07-1 Basic instructions_html_f99e795f9d56f9e7.png]] 1432 +))) 1433 + 1434 +(% style="text-align:center" %) 1435 +[[image:07-1 Basic instructions_html_f7dcb25bd25f0722.png]] 1436 + 1437 +== **WSFL/n-word shift left of n-word data** == 1438 + 1439 +**WSFL(P)** 1440 + 1441 +Shift the start (N1) bit data of the device specified in (D) to the left by (N2) bits. 1442 + 1443 +-[WSFL (S) (D) (N1) (N2)] 1444 + 1445 +**Content, range and data type** 1446 + 1447 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 1448 +|(% style="text-align:center; vertical-align:middle" %)(S)|The start number of the device storing shifted data after shifting|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Word|(% style="text-align:center; vertical-align:middle" %)ANY_BOOL 1449 +|(% style="text-align:center; vertical-align:middle" %)(D)|The shifted device start number|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Word|(% style="text-align:center; vertical-align:middle" %)ANY_BOOL 1450 +|(% style="text-align:center; vertical-align:middle" %)(N1)|The length of shifted data|(% style="text-align:center; vertical-align:middle" %)0 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 1451 +|(% style="text-align:center; vertical-align:middle" %)(N2)|Number of shifts|(% style="text-align:center; vertical-align:middle" %)0 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 1452 + 1453 +**Device used** 1454 + 1455 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 1456 +**Offset modification** 1457 +)))|(% style="text-align:center; vertical-align:middle" %)((( 1458 +**Pulse extension** 1459 +))) 1460 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 1461 +|(% rowspan="3" style="text-align:center; vertical-align:middle" %)SFTR|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1462 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1463 +|(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1464 +|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Parameter 4|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1465 + 1466 +**Features** 1467 + 1468 +Shift (N2) the data of the beginning (N1) word of the device specified in (D) to the left. After shifting, transfer the point (N2) starting from (S) to the point (N2) starting from (D). 1469 + 1470 +When K is specified in (S), the device at (D) + (N1 to N2) starting (N2) point after shifting is set to the specified value. 1471 + 1472 +If the value specified in (N1) or (N2) is 0, it will be no processing. 1473 + 1474 +(% style="text-align:center" %) 1475 +[[image:07-1 Basic instructions_html_a509153078ca2436.png]] 1476 + 1477 +**Error Code** 1478 + 1479 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 1480 +|(% rowspan="3" style="text-align:center; vertical-align:middle" %)4084H|When the value specified in (N1) and (N2) exceeds the range of 0 to 32767 1481 +|When the value specified in (N1) and (N2) is (N1)<(N2) 1482 +|When (S) and (D) both specify KnM, KnX, and KnS, the value of n varies. 1483 +|(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in read application instructions (S), (D), (N1) and (N2) exceeds the corresponding device range 1484 +|(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range 1485 + 1486 +**Example** 1487 + 1488 +(S), (D) Do the same multiple specification in the digit specification device. This program realizes to remove the high bits of Y10 to Y17 left, move Y0 to Y7 left to Y10 to Y17, and then store X0 to X7 to Y0 to Y7. 1489 + 1490 +(% style="text-align:center" %) 1491 +[[image:07-1 Basic instructions_html_a4e71d25b50b076.png||height="48" width="484"]] 1492 + 1493 +(% style="text-align:center" %) 1494 +[[image:07-1 Basic instructions_html_4e6d2d500872e021.png]] 1495 + 1496 +== **SFR/n-bit shift right of 16-bit data** == 1497 + 1498 +**SFR(P)** 1499 + 1500 +Shift the 16-bit data of the device specified in (D) right by (N) bits. 1501 + 1502 +-[SFR (D) (N)] 1503 + 1504 +**Content, range and data type** 1505 + 1506 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 1507 +|(% style="text-align:center; vertical-align:middle" %)(D)|The start number of the device storing the shifted data|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 1508 +|(% style="text-align:center; vertical-align:middle" %)(N)|Number of shifts|(% style="text-align:center; vertical-align:middle" %)0-15|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 1509 + 1510 +**Device used** 1511 + 1512 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle; width:192px" %)((( 1513 +**Offset modification** 1514 +)))|(% style="text-align:center; vertical-align:middle; width:167px" %)((( 1515 +**Pulse extension** 1516 +))) 1517 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle; width:192px" %)**[D]**|(% style="text-align:center; vertical-align:middle; width:167px" %)**XXP** 1518 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)SFR|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle; width:192px" %)●|(% style="text-align:center; vertical-align:middle; width:167px" %)● 1519 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle; width:192px" %)●|(% style="text-align:center; vertical-align:middle; width:167px" %)● 1520 + 1521 +**Features** 1522 + 1523 +When (N)=6 1524 + 1525 +((( 1526 +Shift the 16-bit data of the device specified in (D) to the right (N) bits from the highest bit. The (N) bit from the most significant bit will become 0. 1527 + 1528 +(% style="text-align:center" %) 1529 +[[image:07-1 Basic instructions_html_5bdb37dbc5728fee.png]] 1530 +))) 1531 + 1532 +((( 1533 +When (N)=6 1534 + 1535 +When a bit device is specified in (d), the device range specified in the digit specification is shifted to the right. 1536 + 1537 +(% style="text-align:center" %) 1538 +[[image:07-1 Basic instructions_html_96855867e2605ca6.png]] 1539 +))) 1540 + 1541 +(N) Specifies 0 to 15. When a value of 16 or more is specified in (N), the remainder of (N)÷16 is shifted to the left. For example, when (N)=18, 18÷16=1 and the remainder 2, so it is shifted by 2 bits to the right. 1542 + 1543 +**Related device ** 1544 + 1545 +|(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content** 1546 +|(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|(% style="text-align:center; vertical-align:middle" %)Set to ON/OFF according to the state of N-1 bit (1/0) 1547 + 1548 +**Error code** 1549 + 1550 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 1551 +|(% style="text-align:center; vertical-align:middle" %)4084H|(% style="text-align:center; vertical-align:middle" %)A negative value is specified in (N). 1552 +|(% style="text-align:center; vertical-align:middle" %)4085H|(% style="text-align:center; vertical-align:middle" %)The output results of (D) and (N) in the read application instruction exceed the device range 1553 +|(% style="text-align:center; vertical-align:middle" %)4086H|(% style="text-align:center; vertical-align:middle" %)The output result of (D) in the write application instruction exceeds the device range 1554 + 1555 +**Example** 1556 + 1557 +When M1 is ON, the contents of Y10 to Y23 are shifted to the right by the number of digits specified in D0. 1558 + 1559 +(% style="text-align:center" %) 1560 +[[image:07-1 Basic instructions_html_b494c5db2a53883.png]] 1561 + 1562 + 1563 +(% style="text-align:center" %) 1564 +[[image:07-1 Basic instructions_html_a308a0cf2c4950c1.png]] 1565 + 1566 +== **DSFR/n word data shift right by 1 word** == 1567 + 1568 +**DSFR(P)** 1569 + 1570 +Shift the data at the start (N) point of the device specified in (D) to the right by 1 word. 1571 + 1572 +-[DSFR (D) (N)] 1573 + 1574 +**Content, range and data type** 1575 + 1576 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 1577 +|(% style="text-align:center; vertical-align:middle" %)(D)|The start number of the device storing the shifted data|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 1578 +|(% style="text-align:center; vertical-align:middle" %)(N)|Number of shifts|(% style="text-align:center; vertical-align:middle" %)0 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 1579 + 1580 +**Device used** 1581 + 1582 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 1583 +**Offset modification** 1584 +)))|(% style="text-align:center; vertical-align:middle" %)((( 1585 +**Pulse extension** 1586 +))) 1587 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 1588 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)DSFR|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1589 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1590 + 1591 +**Features** 1592 + 1593 +• Shift the data at the start (N) point of the device specified in (D) by 1 word to the right. 1594 + 1595 +(% style="text-align:center" %) 1596 +[[image:07-1 Basic instructions_html_9b4706f3a93a923d.png]] 1597 + 1598 +• The device specified in (D)+(N-1) will become 0. 1599 + 1600 +✎**Note: ** In (D), when specifying the device number by specifying the number of bits of the bit device, the device number should be a multiple of 16 (0, 16, 32, 64...), and only K4 should be specified for the number of bits. When the number of bits is not K4, K4 is used for processing. 1601 + 1602 +**Error code** 1603 + 1604 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 1605 +|(% style="text-align:center; vertical-align:middle" %)4084H|When the value specified in (N) exceeds the range of 0 to 32767 1606 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range 1607 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 1608 + 1609 +**Example** 1610 + 1611 +When M1 is ON, shift the contents of D0 to D4 to the right by 1 word (D1→D0, D2→D1, D3→D2, D4→D3, D4 is set to 0). 1612 + 1613 +(% style="text-align:center" %) 1614 +[[image:07-1 Basic instructions_html_5004760ff8588365.png]] 1615 + 1616 +Before execution: 1617 + 1618 +(% style="text-align:center" %) 1619 +[[image:07-1 Basic instructions_html_1eb1609e763f4148.png]] 1620 + 1621 +After execution: 1622 + 1623 +(% style="text-align:center" %) 1624 +[[image:07-1 Basic instructions_html_5216051d84602b3b.png]] 1625 + 1626 +== **SFL/n-bit shift left of 16-bit data** == 1627 + 1628 +**SFL(P)** 1629 + 1630 +Shift the 16-bit data of the device specified in (D) to the left by (N) bits. 1631 + 1632 +-[SFL (D) (N)] 1633 + 1634 +**Content, range and data type** 1635 + 1636 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 1637 +|(% style="text-align:center; vertical-align:middle" %)(D)|The start number of the device storing the shifted data|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 1638 +|(% style="text-align:center; vertical-align:middle" %)(N)|Number of shifts|(% style="text-align:center; vertical-align:middle" %)0 to 15|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 1639 + 1640 +**Device used** 1641 + 1642 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 1643 +**Offset modification** 1644 +)))|(% style="text-align:center; vertical-align:middle" %)((( 1645 +**Pulse extension** 1646 +))) 1647 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 1648 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)SFL|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1649 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1650 + 1651 +**Features** 1652 + 1653 +Shift the 16-bit data of the device specified in (D) to the left (N) bits from the lowest bit. The (N) bit from the lowest bit will become 0. 1654 + 1655 +(% style="text-align:center" %) 1656 +[[image:07-1 Basic instructions_html_951616bfba57e18e.png]] 1657 + 1658 +When (N)=8, it is as follows. 1659 + 1660 +When a bit device is specified in (D), the left shift is performed in the device range specified in the digit specification. 1661 + 1662 +(% style="text-align:center" %) 1663 +[[image:07-1 Basic instructions_html_eae27c0dbdbe62d5.png]] 1664 + 1665 +When (N)=3, it is as follows. 1666 + 1667 +(N) Specify 0 to 15. When a value of 16 or more is specified in (N), the remainder of (N)÷16 is shifted to the left. For example, when (N)=18, 18÷16=1 remainder 2, so it is shifted by 2 bits to the left. 1668 + 1669 +**Related device ** 1670 + 1671 +|(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content** 1672 +|(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|Turn ON/OFF according to the state of N+1 bit (1/0) 1673 + 1674 +**Error code** 1675 + 1676 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 1677 +|(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N). 1678 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range 1679 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 1680 + 1681 +**Example** 1682 + 1683 +When M1 is ON, the contents of Y10 to Y17 are shifted to the left by the number of digits specified in D0. 1684 + 1685 +(% style="text-align:center" %) 1686 +[[image:07-1 Basic instructions_html_7691a6d01a769c9.png]] 1687 + 1688 +(% style="text-align:center" %) 1689 +[[image:07-1 Basic instructions_html_33c23e6059974f03.png||height="328" width="750"]] 1690 + 1691 +== **DSFL/one word shift left of n word data** == 1692 + 1693 +**DSFL(P)** 1694 + 1695 +Move the data at the beginning (N) point of the device specified in (D) by 1 word to the left. 1696 + 1697 +-[DSFL (D) (N)] 1698 + 1699 +**Content, range and data type** 1700 + 1701 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 1702 +|(% style="text-align:center; vertical-align:middle" %)(D)|The start number of the device storing the shifted data|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 1703 +|(% style="text-align:center; vertical-align:middle" %)(N)|Number of shifts|(% style="text-align:center; vertical-align:middle" %)0 to 32,767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 1704 + 1705 +**Device used** 1706 + 1707 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 1708 +**Offset modification** 1709 +)))|(% style="text-align:center; vertical-align:middle" %)((( 1710 +**Pulse extension** 1711 +))) 1712 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 1713 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)DSFL|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1714 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1715 + 1716 +**Features** 1717 + 1718 +Shift the data at the start (N) point of the device specified in (D) to the left by 1 word. 1719 + 1720 +(% style="text-align:center" %) 1721 +[[image:07-1 Basic instructions_html_241c4b63f7501375.png||height="288" width="750"]] 1722 + 1723 +The device specified in (D) will become 0. 1724 + 1725 +✎**Note: ** In (D), when specifying the device number by specifying the number of bits of the bit device, the device number should be a multiple of 16 (0, 16, 32, 64...), and only K4 should be specified for the number of bits. When the number of bits is not K4, K4 is used for processing. 1726 + 1727 +**Error code** 1728 + 1729 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 1730 +|(% style="text-align:center; vertical-align:middle" %)4084H|When the value specified in (N) exceeds the range of 0 to 32,767 1731 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range 1732 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 1733 + 1734 +**Example** 1735 + 1736 +When M1 is ON, shift the contents of D0 to D4 to the left by 1 word (D3→D4, D2→D3, D1→D2, D0→D1, D0 is set to 0). 1737 + 1738 +(% style="text-align:center" %) 1739 +[[image:07-1 Basic instructions_html_cadd6fc71e7fe42a.png]] 1740 + 1741 +Before execution: 1742 + 1743 +(% style="text-align:center" %) 1744 +[[image:07-1 Basic instructions_html_5ac57ffad96aebb3.png]] 1745 + 1746 +After execution: 1747 + 1748 +(% style="text-align:center" %) 1749 +[[image:07-1 Basic instructions_html_228be72e17120f3b.png]] 1750 + 1751 += **Arithmetic operation instructions** = 1752 + 1753 +== **ADD/16-bit addition operation** == 1754 + 1755 +**ADD(P)** 1756 + 1757 +Add the BIN 16-bit data specified in (S1) and the BIN 16-bit data specified in (S2), and store the result in the device specified in (D). 1758 + 1759 +-[ADD (S1) (S2) (D)] 1760 + 1761 +**Content, range and data type** 1762 + 1763 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 1764 +|(% style="text-align:center; vertical-align:middle" %)(S1)|Addition operation data or the device storing the addition data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S 1765 +|(% style="text-align:center; vertical-align:middle" %)(S2)|Addition operation data or the device storing the addition data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S 1766 +|(% style="text-align:center; vertical-align:middle" %)(D)|Device for storing operation results|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S 1767 + 1768 +**Device used** 1769 + 1770 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 1771 +**Offset modification** 1772 +)))|(% style="text-align:center; vertical-align:middle" %)((( 1773 +**Pulse extension** 1774 +))) 1775 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 1776 +|(% rowspan="3" style="text-align:center; vertical-align:middle" %)ADD|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1777 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1778 +|(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1779 + 1780 +**Features** 1781 + 1782 +Add the BIN 16-bit data specified in (S1) and the BIN 16-bit data specified in (S2), and store the result of the addition in the device specified in (D). 1783 + 1784 +(% style="text-align:center" %) 1785 +[[image:07-1 Basic instructions_html_8e14b2921161f2d9.png]] 1786 + 1787 +**Related device ** 1788 + 1789 +|(% style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content** 1790 +|(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|When the operation result exceeds 32,767, the carry flag will be (ON). 1791 +|(% style="text-align:center; vertical-align:middle" %)SM152|(% style="text-align:center; vertical-align:middle" %)Borrow|When the operation result is less than -32,768, the borrow flag will be (ON). 1792 +|(% style="text-align:center; vertical-align:middle" %)SM153|(% style="text-align:center; vertical-align:middle" %)Zero point|When the operation result is 0, the zero flag will be (ON). 1793 + 1794 +(% style="text-align:center" %) 1795 +[[image:07-1 Basic instructions_html_f7e7b9fa9918e937.png]] 1796 + 1797 +✎**Note: ** 1798 + 1799 +1.When the source operand and destination operand are specified as the same device: 1800 + 1801 +The source operand and destination operand can also be specified as the same device number. 1802 + 1803 +In this case, if you use continuous execution instructions (ADD, DADD), the result of the addition operation will change every operation cycle. 1804 + 1805 +2.The difference between the ADD instruction and the INC instruction using the +1 addition operation program: 1806 + 1807 +ADD[P] means that every time X001 changes from OFF to ON, the content of D0 is added by one operation. 1808 + 1809 +Although this instruction is very similar to the INCP instruction described later, there are some differences in the following content. 1810 + 1811 +|(% colspan="3" style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)**ADD/ADDP/DADD/DADDP instructions**|(% style="text-align:center; vertical-align:middle" %)**INC/INCP/DINC/DINCP instructions** 1812 +|(% colspan="3" style="text-align:center; vertical-align:middle" %)**Flag bit (zero, borrow, carry)**|(% style="text-align:center; vertical-align:middle" %)**Action**|(% style="text-align:center; vertical-align:middle" %)**No action** 1813 +|(% rowspan="4" style="text-align:center; vertical-align:middle" %)Calculation result|(% rowspan="2" style="text-align:center; vertical-align:middle" %)((( 1814 +16-bit 1815 + 1816 +operation result 1817 +)))|(% style="text-align:center; vertical-align:middle" %)(S) + (+1) = (D)|(% style="text-align:center; vertical-align:middle" %)32767 → 0 → +1 → +2 →|(% style="text-align:center; vertical-align:middle" %)32767→-32768→-32767 1818 +|(% style="text-align:center; vertical-align:middle" %)(S) + (-1) = (D)|(% style="text-align:center; vertical-align:middle" %)← -2 ← -1 ← 0 ← -32768|(% style="text-align:center; vertical-align:middle" %)—— 1819 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)((( 1820 +32-bit 1821 + 1822 +operation result 1823 +)))|(% style="text-align:center; vertical-align:middle" %)(S) + (+1) = (D)|(% style="text-align:center; vertical-align:middle" %)2147483647 → 0 → +1 → +2 →|(% style="text-align:center; vertical-align:middle" %)2147483647 → -2147483648→ -2147483647 1824 +|(% style="text-align:center; vertical-align:middle" %)(S) + (-1) = (D)|(% style="text-align:center; vertical-align:middle" %)← -2 ← -1 ← 0 ← -2147483648|(% style="text-align:center; vertical-align:middle" %)—— 1825 + 1826 +**Error code** 1827 + 1828 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 1829 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range 1830 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 1831 + 1832 +**Example** 1833 + 1834 +(% style="text-align:center" %) 1835 +[[image:07-1 Basic instructions_html_c88107d9dc85e273.png]] 1836 + 1837 +Add 10 to the data in (D0), and store the operation result in (D2), that is, (D0) + 10 → (D2). 1838 + 1839 +== **DADD/32-bit addition operation** == 1840 + 1841 +**DADD(P)** 1842 + 1843 +Add the BIN32-bit data specified in (S1) and the BIN32-bit data specified in (S2), and store the result in the device specified in (D). 1844 + 1845 +-[DADD (S1) (S2) (D)] 1846 + 1847 +**Content, range and data type** 1848 + 1849 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 1850 +|(% style="text-align:center; vertical-align:middle" %)(S1)|Addition data or the device storing the addition data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S 1851 +|(% style="text-align:center; vertical-align:middle" %)(S2)|Addition data or the device storing the addition data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S 1852 +|(% style="text-align:center; vertical-align:middle" %)(D)|Device for storing operation results|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S 1853 + 1854 +**Device used** 1855 + 1856 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 1857 +**Offset modification** 1858 +)))|(% style="text-align:center; vertical-align:middle" %)((( 1859 +**Pulse extension** 1860 +))) 1861 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 1862 +|(% rowspan="3" style="text-align:center; vertical-align:middle" %)DADD|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1863 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1864 +|(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1865 + 1866 +**Features** 1867 + 1868 +Add the BIN32-bit data specified in (s1) and the BIN32-bit data specified in (s2), and store the result of the addition in the device specified in (d). 1869 + 1870 +(% style="text-align:center" %) 1871 +[[image:07-1 Basic instructions_html_97cb91594c5ae7e4.png]] 1872 + 1873 +**Related device ** 1874 + 1875 +|(% style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content** 1876 +|(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|When the operation result exceeds 32,767, the carry flag will be (ON). 1877 +|(% style="text-align:center; vertical-align:middle" %)SM152|(% style="text-align:center; vertical-align:middle" %)Borrow|When the operation result is less than -32,768, the borrow flag will be (ON). 1878 +|(% style="text-align:center; vertical-align:middle" %)SM153|(% style="text-align:center; vertical-align:middle" %)Zero point|When the operation result is 0, the zero flag will be (ON). 1879 + 1880 +(% style="text-align:center" %) 1881 +[[image:07-1 Basic instructions_html_1e2ca6723b868fb4.png]] 1882 + 1883 +✎**Note: ** 1884 + 1885 +~1. When the source operand and destination operand are specified as the same device: 1886 + 1887 +The source operand and destination operand can also be specified as the same device number. 1888 + 1889 +In this case, if you use continuous execution instructions (ADD, DADD), the result of the addition operation will change every operation cycle. Please note. 1890 + 1891 +2. The difference between the ADD instruction and the INC instruction using the +1 addition operation program: 1892 + 1893 +ADD[P] means that every time X001 changes from OFF to ON, the content of D0 is added by one operation. 1894 + 1895 +Although this instruction is very similar to the INCP instruction described later, there are some differences in the following content. 1896 + 1897 +|(% colspan="3" style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)**ADD/ADDP/DADD/DADDP instructions**|(% style="text-align:center; vertical-align:middle" %)**INC/INCP/DINC/DINCP instructions** 1898 +|(% colspan="3" style="text-align:center; vertical-align:middle" %)**Flag bit (zero, borrow, carry)**|(% style="text-align:center; vertical-align:middle" %)**Action**|(% style="text-align:center; vertical-align:middle" %)**No action** 1899 +|(% rowspan="4" style="text-align:center; vertical-align:middle" %)Calculation result|(% rowspan="2" style="text-align:center; vertical-align:middle" %)((( 1900 +16-bit 1901 + 1902 +Operation result 1903 +)))|(% style="text-align:center; vertical-align:middle" %)(S) + (+1) = (d)|(% style="text-align:center; vertical-align:middle" %)32767→0→+1→+2→|(% style="text-align:center; vertical-align:middle" %)32767→-32768→-32767 1904 +|(% style="text-align:center; vertical-align:middle" %)(S) + (-1) = (d)|(% style="text-align:center; vertical-align:middle" %)←-2←-1←0←-32768|(% style="text-align:center; vertical-align:middle" %)—— 1905 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)((( 1906 +33-Bit 1907 + 1908 +operation result 1909 +)))|(% style="text-align:center; vertical-align:middle" %)(S) + (+1) = (d)|(% style="text-align:center; vertical-align:middle" %)2147483647→0→+1→+2→|(% style="text-align:center; vertical-align:middle" %)2147483647→-2147483648→-2147483647 1910 +|(% style="text-align:center; vertical-align:middle" %)(S) + (-1) = (d)|(% style="text-align:center; vertical-align:middle" %)←-2←-1←0←-2147483648|(% style="text-align:center; vertical-align:middle" %)—— 1911 + 1912 +**Error code** 1913 + 1914 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 1915 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range 1916 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 1917 + 1918 +**Example** 1919 + 1920 +(% style="text-align:center" %) 1921 +[[image:07-1 Basic instructions_html_de63c4a952dfb6d.png]] 1922 + 1923 +Add 100000 to the data in (D1, D0), and store the result of the operation in (D3, D2), that is, (D1, D0) + 100000 → (D3, D2). 1924 + 1925 +== **SUB/16-bit subtraction operation** == 1926 + 1927 +**SUB(P)** 1928 + 1929 +Subtract the BIN 16-bit data specified in (S1) and the BIN 16-bit data specified in (S2), and store the result in the device specified in (D). 1930 + 1931 +-[SUB (S1) (S2) (D)] 1932 + 1933 +**Content, range and data type** 1934 + 1935 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 1936 +|(% style="text-align:center; vertical-align:middle" %)(S1)|The subtraction data or the device storing the subtraction data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S 1937 +|(% style="text-align:center; vertical-align:middle" %)(S2)|The subtraction data or the device storing the subtraction data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S 1938 +|(% style="text-align:center; vertical-align:middle" %)(D)|Device for storing calculation results|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S 1939 + 1940 +**Device used** 1941 + 1942 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 1943 +**Offset modification** 1944 +)))|(% style="text-align:center; vertical-align:middle" %)((( 1945 +**Pulse extension** 1946 +))) 1947 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 1948 +|(% rowspan="3" style="text-align:center; vertical-align:middle" %)SUB|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1949 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1950 +|(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 1951 + 1952 +**Features** 1953 + 1954 +Subtract the BIN 16-bit data specified in (S1) and the BIN 16-bit data specified in (S2), and store the result of the operation in the device specified in (D). 1955 + 1956 +(% style="text-align:center" %) 1957 +[[image:07-1 Basic instructions_html_cbd3a6fd4cb00b65.png]] 1958 + 1959 +**Related device ** 1960 + 1961 +|(% style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content** 1962 +|(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|When the operation result exceeds 32,767, the carry flag will be (ON). 1963 +|(% style="text-align:center; vertical-align:middle" %)SM152|(% style="text-align:center; vertical-align:middle" %)Borrow|When the operation result is less than -32,768, the borrow flag will be (ON). 1964 +|(% style="text-align:center; vertical-align:middle" %)SM153|(% style="text-align:center; vertical-align:middle" %)Zero point|When the operation result is 0, the zero flag will be (ON). 1965 + 1966 +(% style="text-align:center" %) 1967 +[[image:07-1 Basic instructions_html_ac1f8acda3746b1d.png]] 1968 + 1969 +✎**Note: ** 1970 + 1971 +~1. When the source operand and destination operand are specified as the same device: 1972 + 1973 +The source operand and destination operand can also be specified as the same device number. 1974 + 1975 +In this case, if continuous execution type instructions (SUB, DSUB) are used, the result of the subtraction operation will change every operation cycle. Please be careful. 1976 + 1977 +2. The difference between the SUB(P) instruction and the -(P) instruction and DEC(P) instruction executed by the -1 subtraction program 1978 + 1979 +SUB(P) instruction every time X1 changes from OFF to ON, the program of D0 content -1 is similar to -(P) instruction and DEC(P) instruction described later, but the following contents are different. 1980 + 1981 +|(% colspan="3" style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)**SUB/SUBP/DSUB/DSUBP instructions**|(% style="text-align:center; vertical-align:middle" %)**DEC/DECP/DDEC/DDECP instructions** 1982 +|(% colspan="3" style="text-align:center; vertical-align:middle" %)**Flag bit (zero, borrow, carry)**|(% style="text-align:center; vertical-align:middle" %)**Action**|(% style="text-align:center; vertical-align:middle" %)**No action** 1983 +|(% rowspan="4" style="text-align:center; vertical-align:middle" %)Calculation result|(% rowspan="2" style="text-align:center; vertical-align:middle" %)16-bit operation result|(% style="text-align:center; vertical-align:middle" %)(S)-(+1)=(D)|(% style="text-align:center; vertical-align:middle" %)←-2←-1←0←-32768|(% style="text-align:center; vertical-align:middle" %)-32768→+32767→32766 1984 +|(% style="text-align:center; vertical-align:middle" %)(S)-(-1)=(D)|(% style="text-align:center; vertical-align:middle" %)+32767→0→+1→+2→|(% style="text-align:center; vertical-align:middle" %)—— 1985 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)32-bit operation result|(% style="text-align:center; vertical-align:middle" %)(S)-(+1)=(D)|(% style="text-align:center; vertical-align:middle" %)←-2←-1←0←-2147483648|(% style="text-align:center; vertical-align:middle" %)-2147483648→2147483647→2147483646 1986 +|(% style="text-align:center; vertical-align:middle" %)(S)-(-1)=(D)|(% style="text-align:center; vertical-align:middle" %)2147483647→0→+1→+2→|(% style="text-align:center; vertical-align:middle" %)—— 1987 + 1988 +**Error code** 1989 + 1990 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 1991 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range 1992 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 1993 + 1994 +**Example** 1995 + 1996 +(% style="text-align:center" %) 1997 +[[image:07-1 Basic instructions_html_bda57d807670bde2.png||height="74" width="372"]] 1998 + 1999 +Subtract 10 from the data in D0, and store the calculation result in D2, that is, (D0)-10 → (D2). 2000 + 2001 +== **DSUB/32-bit subtraction operation** == 2002 + 2003 +**DSUB(P)** 2004 + 2005 +Subtract the BIN32-bit data specified in (S1) and the BIN32-bit data specified in (S2), and store the result in the device specified in (D). 2006 + 2007 +-[DSUB (S1) (S2) (D)] 2008 + 2009 +**Content, range and data type** 2010 + 2011 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 2012 +|(% style="text-align:center; vertical-align:middle" %)(S1)|The subtraction data or the device storing the subtraction data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S 2013 +|(% style="text-align:center; vertical-align:middle" %)(S2)|The subtraction data or the device storing the subtraction data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S 2014 +|(% style="text-align:center; vertical-align:middle" %)(D)|Device for storing calculation results|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S 2015 + 2016 +**Device used** 2017 + 2018 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 2019 +**Offset modification** 2020 +)))|(% style="text-align:center; vertical-align:middle" %)((( 2021 +**Pulse extension** 2022 +))) 2023 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 2024 +|(% rowspan="3" style="text-align:center; vertical-align:middle" %)DSUB|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 2025 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 2026 +|(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 2027 + 2028 +**Features** 2029 + 2030 +Subtract the BIN32-bit data specified in (S1) and the BIN32-bit data specified in (S2), and store the result of the operation in the device specified in (D). 2031 + 2032 +(% style="text-align:center" %) 2033 +[[image:07-1 Basic instructions_html_f37d57bb2a3d8fad.png]] 2034 + 2035 +Related device 2036 + 2037 +|(% style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content** 2038 +|(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|When the operation result exceeds 2,147,483,647, the carry flag will be ON. 2039 +|(% style="text-align:center; vertical-align:middle" %)SM152|(% style="text-align:center; vertical-align:middle" %)Borrow|When the operation result is less than -2,147,483,648, the borrow flag will be ON. 2040 +|(% style="text-align:center; vertical-align:middle" %)SM153|(% style="text-align:center; vertical-align:middle" %)Zero point|When the operation result is 0, the zero flag will be ON. 2041 + 2042 +(% style="text-align:center" %) 2043 +[[image:07-1 Basic instructions_html_f61b250c2dec5a2c.png]] 2044 + 2045 +✎**Note: ** 2046 + 2047 +~1. When the source operand and destination operand are specified as the same device: 2048 + 2049 +The source operand and destination operand can also be specified as the same device number. 2050 + 2051 +In this case, if continuous execution type instructions (SUB, DSUB) are used, the result of the subtraction operation will change every operation cycle. Please be careful. 2052 + 2053 +2. The difference between the SUB(P) instruction and the -(P) instruction and DEC(P) instruction executed by the -1 subtraction program 2054 + 2055 +SUB(P) instruction every time X1 changes from OFF to ON, the program of D0 content -1 is similar to -(P) instruction and DEC(P) instruction described later, but the following contents are different. 2056 + 2057 +|(% colspan="3" style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)**SUB/SUBP/DSUB/DSUBP instructions**|(% style="text-align:center; vertical-align:middle" %)**DEC/DECP/DDEC/DDECP instructions** 2058 +|(% colspan="3" style="text-align:center; vertical-align:middle" %)**Flag bit (zero, borrow, carry)**|(% style="text-align:center; vertical-align:middle" %)**Action**|(% style="text-align:center; vertical-align:middle" %)**No action** 2059 +|(% rowspan="4" style="text-align:center; vertical-align:middle" %)Calculation result|(% rowspan="2" style="text-align:center; vertical-align:middle" %)16-bit operation result|(% style="text-align:center; vertical-align:middle" %)(S)-(+1)=(D)|(% style="text-align:center; vertical-align:middle" %)←-2←-1←0←-32768|(% style="text-align:center; vertical-align:middle" %)-32768→32767→32766 2060 +|(% style="text-align:center; vertical-align:middle" %)(S)-(-1)=(D)|(% style="text-align:center; vertical-align:middle" %)+32767→0→+1→+2→|(% style="text-align:center; vertical-align:middle" %)—— 2061 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)32-bit operation result|(% style="text-align:center; vertical-align:middle" %)(S)-(+1)=(D)|(% style="text-align:center; vertical-align:middle" %)←-2←-1←0←-2147483648|(% style="text-align:center; vertical-align:middle" %)-2147483648→2147483647→2147483646 2062 +|(% style="text-align:center; vertical-align:middle" %)(S)-(-1)=(D)|(% style="text-align:center; vertical-align:middle" %)+2147483647→0→+1→+2→|(% style="text-align:center; vertical-align:middle" %)—— 2063 + 2064 +**Error code** 2065 + 2066 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 2067 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range 2068 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 2069 + 2070 +**Example** 2071 + 2072 +(% style="text-align:center" %) 2073 +[[image:07-1 Basic instructions_html_e0a9b7ee38c72d67.png||height="77" width="447"]] 2074 + 2075 +Subtract 100000 from the data in (D1,D0), and store the result of the operation in (D3,D2), that is, (D1,D0)-10000 → (D3,D2). 2076 + 2077 +== **MUL/16-bit multiplication** == 2078 + 2079 +**MUL(P)** 2080 + 2081 +Multiply the BIN16 bits specified in (S1) with the BIN16 bits specified in (S2), and store the result in the device specified in (D). 2082 + 2083 +-[MUL (S1) (S2) (D)] 2084 + 2085 +**Content, range and data type** 2086 + 2087 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 2088 +|(% style="text-align:center; vertical-align:middle" %)(S1)|Multiplication operation data or the device storing multiplication operation data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16_S 2089 +|(% style="text-align:center; vertical-align:middle" %)(S2)|Multiplication operation data or the device storing multiplication operation data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16_S 2090 +|(% style="text-align:center; vertical-align:middle" %)(D)|Device for storing calculation results|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32_S 2091 + 2092 +**Device used** 2093 + 2094 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 2095 +**Offset modification** 2096 +)))|(% style="text-align:center; vertical-align:middle" %)((( 2097 +**Pulse extension** 2098 +))) 2099 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 2100 +|(% rowspan="3" style="text-align:center; vertical-align:middle" %)MUL|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 2101 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 2102 +|(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 2103 + 2104 +**Features** 2105 + 2106 +Multiply the BIN 16-bit data specified in (S1) with the BIN 16-bit data specified in (S2), and store the result of the operation in the device specified in (D). 2107 + 2108 +(% style="text-align:center" %) 2109 +[[image:07-1 Basic instructions_html_7bc795b98291521f.png]] 2110 + 2111 +(D) is the multiplication result in the case of bit device 2112 + 2113 +• K1: lower 4 bits (B0 to B3) 2114 + 2115 +• K4: Lower 16 bits (B0 to B15) 2116 + 2117 +• K8: Lower 32 bits (B0 to B31) 2118 + 2119 +**Error code** 2120 + 2121 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 2122 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range 2123 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 2124 + 2125 +**Example** 2126 + 2127 +[[image:07-1 Basic instructions_html_a72970708460f454.png||height="71" width="378"]] 2128 + 2129 +Multiply the data in (D0) by (D2), and store the operation result in (D5, D4), that is, (D0) × (D2) → (D5, D4). 2130 + 2131 +== **DMUL/32-bit multiplication** == 2132 + 2133 +**DMUL(P)** 2134 + 2135 +Multiply the 32-bit BIN specified in (S1) and the 32-bit BIN specified in (S2), and store the result in the device specified in (D). 2136 + 2137 +-[DMUL (S1) (S2) (D)] 2138 + 2139 +**Content, range and data type** 2140 + 2141 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 2142 +|(% style="text-align:center; vertical-align:middle" %)(S1)|Multiplication operation data or device storing multiplication operation data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32_S 2143 +|(% style="text-align:center; vertical-align:middle" %)(S2)|Multiplication operation data or device storing multiplication operation data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32_S 2144 +|(% style="text-align:center; vertical-align:middle" %)(D)|Device for storing calculation results|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Signed BIN64 bit|(% style="text-align:center; vertical-align:middle" %)ANY64_S 2145 + 2146 +**Device used** 2147 + 2148 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 2149 +**Offset modification** 2150 +)))|(% style="text-align:center; vertical-align:middle" %)((( 2151 +**Pulse extension** 2152 +))) 2153 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 2154 +|(% rowspan="3" style="text-align:center; vertical-align:middle" %)DMUL|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 2155 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 2156 +|(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 2157 + 2158 +**Features** 2159 + 2160 +Multiply the BIN32-bit data specified in (S1) and the BIN32-bit data specified in (S2), and store the result of the operation in the device specified in (D). 2161 + 2162 +(% style="text-align:center" %) 2163 +[[image:07-1 Basic instructions_html_1d28943293a84978.png]] 2164 + 2165 +(D) is the multiplication result in the case of bit device 2166 + 2167 +• K1: lower 4 bits (B0 to B3) 2168 + 2169 +• K4: Lower 16 bits (B0 to B15) 2170 + 2171 +• K8: Lower 32 bits (B0 to B31) 2172 + 2173 +**Error code** 2174 + 2175 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 2176 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range 2177 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 2178 + 2179 +**Example** 2180 + 2181 +(% style="text-align:center" %) 2182 +[[image:07-1 Basic instructions_html_d0ed498dee1bbd2b.png||height="70" width="356"]] 2183 + 2184 +Multiply the data in (D1, D0) by (D3, D2), and store the result of the operation in ((D7, D6), (D5, D4)), ie (D1, D0) × (D3, D2) → ((D7, D6), (D5, D4)). 2185 + 2186 +== **DIV/16-bit division operation** == 2187 + 2188 +**DIV(P)** 2189 + 2190 +Divide the BIN 16-bit data specified in (S1) with the BIN 16-bit data specified in (S2), and store the result in the device specified in (D). 2191 + 2192 +-[DIV (S1) (S2) (D)] 2193 + 2194 +**Content, range and data type** 2195 + 2196 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 2197 +|(% style="text-align:center; vertical-align:middle" %)(S1)|Division operation data or device storing division operation data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16_S 2198 +|(% style="text-align:center; vertical-align:middle" %)(S2)|Division operation data or device storing division operation data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16_S 2199 +|(% style="text-align:center; vertical-align:middle" %)(D)|Device for storing calculation results|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32_S 2200 + 2201 +**Device used** 2202 + 2203 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 2204 +**Offset modification** 2205 +)))|(% style="text-align:center; vertical-align:middle" %)((( 2206 +**Pulse extension** 2207 +))) 2208 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 2209 +|(% rowspan="3" style="text-align:center; vertical-align:middle" %)DIV|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 2210 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 2211 +|(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 2212 + 2213 +**Features** 2214 + 2215 +Divide the BIN 16-bit data specified in (S1) with the BIN 16-bit data specified in (S2), and store the result of the operation in the device specified in (D). 2216 + 2217 +(% style="text-align:center" %) 2218 +[[image:07-1 Basic instructions_html_5b6a7b9968539f80.png]] 2219 + 2220 +In the case of a word device, the division result uses a 32-bit storage quotient and remainder, and in the case of a bit device, only a 16-bit storage quotient is used. 2221 + 2222 +• Quotient is stored in the lower 16 bits. 2223 + 2224 +• The remainder is stored in the upper 16 bits. (Can only be stored in the case of word devices.) 2225 + 2226 +✎**Note** 2227 + 2228 +~1. About the opearation result 2229 + 2230 +• The highest bit of the quotient and remainder represents the sign of positive (0) and negative (1). 2231 + 2232 +• When one of (S1) or (S2) is negative, the quotient becomes negative. When (S1) is negative, the remainder becomes negative. 2233 + 2234 +2. The device specified by (D) 2235 + 2236 +• With the digit specification function, when specifying a bit device, the remainder cannot be obtained. 2237 + 2238 +**Error code** 2239 + 2240 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 2241 +|(% style="text-align:center; vertical-align:middle" %)4080H|The input of divisor (S2) is 0 2242 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range 2243 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 2244 + 2245 +**Example** 2246 + 2247 +(% style="text-align:center" %) 2248 +[[image:07-1 Basic instructions_html_7966aef8d2143e29.png]] 2249 + 2250 +Divide the data in (D0) by (D2), and store the result of the calculation: the quotient is stored in (D4), and the remainder is stored in (D5), ie (D0)/ (D2) → (D5(quotient)) (D4( remainder)). 2251 + 2252 +== **DDIV/32-bit division operation** == 2253 + 2254 +**DDIV(P)** 2255 + 2256 +Divide the BIN32-bit data specified in (S1) with the BIN32-bit data specified in (S2), and store the result in the device specified in (D). 2257 + 2258 +-[DDIV (S1) (S2) (D)] 2259 + 2260 +**Content, range and data type** 2261 + 2262 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 2263 +|(% style="text-align:center; vertical-align:middle" %)(S1)|Division operation data or device storing division operation data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32_S 2264 +|(% style="text-align:center; vertical-align:middle" %)(S2)|Division operation data or device storing division operation data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32_S 2265 +|(% style="text-align:center; vertical-align:middle" %)(D)|Device for storing calculation results|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Signed BIN64 bit|(% style="text-align:center; vertical-align:middle" %)ANY64_S 2266 + 2267 +**Device used** 2268 + 2269 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 2270 +**Offset modification** 2271 +)))|(% style="text-align:center; vertical-align:middle" %)((( 2272 +**Pulse extension** 2273 +))) 2274 +|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 2275 +|(% rowspan="3" style="text-align:center; vertical-align:middle" %)DDIV|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 2276 +|(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 2277 +|(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 2278 + 2279 +**Features** 2280 + 2281 +Divide the BIN32-bit data specified in (S1) with the BIN32-bit data specified in (S2), and store the result of the operation in the device specified in (D). 2282 + 2283 +(% style="text-align:center" %) 2284 +[[image:07-1 Basic instructions_html_1b1dca7a3fa22e30.png]] 2285 + 2286 +In the case of word devices, the division result uses BIN64 bits to store the quotient and remainder. In the case of bit devices, only the BIN 32-bit storage quotient is used. 2287 + 2288 +✎**Note: ** 2289 + 2290 +~1. About the operation result 2291 + 2292 +• The highest bit of the quotient and remainder represents the sign of positive (0) and negative (1). 2293 + 2294 +• When one of (S1) or (S2) is negative, the quotient becomes negative. When (S1) is negative, the remainder becomes negative. 2295 + 2296 +2. The specified device of (D) 2297 + 2298 +• With the digit specification function, when a bit device is specified, the remainder cannot be obtained. 2299 + 2300 +**Error code** 2301 + 2302 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 2303 +|(% style="text-align:center; vertical-align:middle" %)4080H|The input of divisor (S2) is 0 2304 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range 2305 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 2306 + 2307 +**Example** 2308 + 2309 +(% style="text-align:center" %) 2310 +[[image:07-1 Basic instructions_html_21e85706527efeba.png]] 2311 + 2312 +Divide the data in (D1, D0) by (D3, D2), and store the result of the calculation: the quotient is stored in (D5, D4), and the remainder is stored in (D7, D6), that is (D1, D0)/ (D3, D2) → (D5, D4) (quotient) (D7, D6) (remainder). 2313 + 2314 +== **INC/16-bit data increment** == 2315 + 2316 +**INC(P)** 2317 + 2318 +Add one to the device (BIN 16-bit data) specified in (D). 2319 + 2320 +-[INC (D)] 2321 + 2322 +**Content, range and data type** 2323 + 2324 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 2325 +|(% style="text-align:center; vertical-align:middle" %)(D)|The word device number that stores the data added by one|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16_S 2326 + 2327 +**Device used** 2328 + 2329 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="8" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 2330 +**Offset modification** 2331 +)))|(% style="text-align:center; vertical-align:middle" %)((( 2332 +**Pulse extension** 2333 +))) 2334 +|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 2335 +|(% style="text-align:center; vertical-align:middle" %)INC|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 2336 + 2337 +**Features** 2338 + 2339 +Add one to the device (BIN 16-bit data) specified in (D). 2340 + 2341 +(% style="text-align:center" %) 2342 +[[image:07-1 Basic instructions_html_f35c36e39c08072.png]] 2343 + 2344 +• If the INC(P) instruction is executed when the content of the device specified in (D) is 32767, -32768 will be stored in the device specified in (D). 2345 + 2346 +• Flags (zero, borrow, carry) do not perform actions. 2347 + 2348 +✎**Note: ** If the continuous execution (INC) instruction is used, the addition operation will be performed every operation cycle, so care should be taken. 2349 + 2350 +**Error code** 2351 + 2352 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 2353 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) in the read application instruction exceed the device range 2354 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 2355 + 2356 +**Example** 2357 + 2358 +(% style="text-align:center" %) 2359 +[[image:07-1 Basic instructions_html_4fe585ed449771bf.png||height="88" width="349"]] 2360 + 2361 +Add one to the device value specified in D0, that is, (D0) + 1 → (D0). 2362 + 2363 +== **DINC/32-bit data increment** == 2364 + 2365 +**DINC(P)** 2366 + 2367 +Add one to the device (BIN 32-bit data) specified in (D). 2368 + 2369 +-[DINC (D)] 2370 + 2371 +**Content, range and data type** 2372 + 2373 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 2374 +|(% style="text-align:center; vertical-align:middle" %)(D)|The word device number that stores the data added by one|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147493647|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32_S 2375 + 2376 +**Device used** 2377 + 2378 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="10" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 2379 +**Offset modification** 2380 +)))|(% style="text-align:center; vertical-align:middle" %)((( 2381 +**Pulse extension** 2382 +))) 2383 +|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 2384 +|(% style="text-align:center; vertical-align:middle" %)DINC|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 2385 + 2386 +**Features** 2387 + 2388 +Add one to the device (BIN 32-bit data) specified in (D). 2389 + 2390 +(% style="text-align:center" %) 2391 +[[image:07-1 Basic instructions_html_7d13add7bbac367d.png]] 2392 + 2393 +• When the DINC(P) instruction is executed when the content of the device specified in (D) is 2147483647, -2147483648 will be stored in the device specified in (D). 2394 + 2395 +• Flags (zero, borrow, carry) do not perform actions. 2396 + 2397 +✎**Note: ** If the continuous execution (INC) instruction is used, the addition operation will be performed every operation cycle, so care should be taken. 2398 + 2399 +**Error code** 2400 + 2401 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 2402 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) in the read application instruction exceed the device range 2403 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 2404 + 2405 +**Example** 2406 + 2407 +(% style="text-align:center" %) 2408 +[[image:07-1 Basic instructions_html_9288e451278259f.png||height="83" width="330"]] 2409 + 2410 +Add one to the device value specified in (D1, D0), that is, (D1, D0) + 1 → (D1, D0). 2411 + 2412 + 2413 + 2414 + 2415 + 2416 + 2417 + 2418 + 2419 +**DEC/16 bit data decrement** 2420 + 2421 +**DEC(P)** 2422 + 2423 +Minus one for the device (BIN 16-bit data) specified in (D). 2424 + 2425 +-[DEC (D)] 2426 + 2427 +**Content, range and data type** 2428 + 2429 +|(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** 2430 +|(% style="text-align:center; vertical-align:middle" %)(D)|The word device number that stores the data minus by one|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16_S 2431 + 2432 +**Device used** 2433 + 2434 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="8" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 2435 +**Offset modification** 2436 +)))|(% style="text-align:center; vertical-align:middle" %)((( 2437 +**Pulse extension** 2438 +))) 2439 +|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 2440 +|(% style="text-align:center; vertical-align:middle" %)DEC|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 2441 + 2442 +**Features** 2443 + 2444 +Minus one for the device (BIN 16-bit data) specified in (D). 2445 + 2446 +[[image:07-1 Basic instructions_html_df1a004773f12e76.png]] 2447 + 2448 +• If the DEC(P) instruction is executed when the content of the device specified in (D) is -32768, 32767 will be stored in the device specified in (D). 2449 + 2450 +• Flags (zero, borrow, carry) do not perform actions. 2451 + 2452 +✎**Note: ** If using continuous execution (DEC) instructions, subtraction will be performed every operation cycle, so care should be taken. 2453 + 2454 +**Error code** 2455 + 2456 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 2457 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) in the read application instruction exceed the device range 2458 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 2459 + 2460 +**Example** 2461 + 2462 +(% style="text-align:center" %) 2463 +[[image:07-1 Basic instructions_html_ebee4e241b873490.png||height="108" width="423"]] 2464 + 2465 +Each time M0 is set, the value of the device specified in D0 will be -1, (D0)-1 → (D0). 2466 + 2467 +== **DDEC/32-bit data decrement** == 2468 + 2469 +**DDEC(P)** 2470 + 2471 +Minus one for the device (BIN 32-bit data) specified in (D). 2472 + 2473 +-[DDEC (D)] 2474 + 2475 +**Content, range and data type** 2476 + 2477 +|**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)** 2478 +|(D)|The word device number that stores the data minus by one|-2147483648 to 2147483647|Signed BIN 32 bit|ANY32_S 2479 + 2480 +**Device used** 2481 + 2482 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="10" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( 2483 +**Offset modification** 2484 +)))|(% style="text-align:center; vertical-align:middle" %)((( 2485 +**Pulse extension** 2486 +))) 2487 +|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** 2488 +|(% style="text-align:center; vertical-align:middle" %)DDEC|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● 2489 + 2490 +**Features** 2491 + 2492 +Minus one for the device (BIN 32-bit data) specified in (D). 2493 + 2494 +(% style="text-align:center" %) 2495 +[[image:07-1 Basic instructions_html_7d13add7bbac367d.png]] 2496 + 2497 +If the DDEC(P) instruction is executed when the content of the device specified in (D) is 0, minus one will be stored in the device specified in (D). 2498 + 2499 +• Flags (zero, borrow, carry) do not perform actions. 2500 + 2501 +✎**Note: ** If using continuous execution (DEC) instructions, subtraction will be performed every operation cycle. 2502 + 2503 +**Error code** 2504 + 2505 +|(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** 2506 +|(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) in the read application instruction exceed the device range 2507 +|(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range 2508 + 2509 +**Example** 2510 + 2511 +(% style="text-align:center" %) 2512 +[[image:07-1 Basic instructions_html_2f77792f36a8d549.png||height="72" width="323"]] 2513 + 2514 +Minus one on the device value specified in (D1, D0), that is, (D1, D0)-1 → (D0).