整數(shù)加法(ADD-I)和減法(SUB-I)指令是:使能輸入有效時(shí),將兩個(gè)16位符號(hào)整數(shù)相加或相減,并產(chǎn)生一個(gè)16位的結(jié)果輸出到OUT。
雙整數(shù)加法(ADD-D)和減法(SUB-D)指令是:使能輸入有效時(shí),將兩個(gè)32位符號(hào)整數(shù)相加或相減,并產(chǎn)生一個(gè)32位結(jié)果輸出到OUT。
整數(shù)與雙整數(shù)加減法指令格式如表1所示。
表1 整數(shù)與雙整數(shù)加減法指令格式
LAD |
|
|
|
|
STL |
MOVW IN1,OUT +I IN2,0UT |
MOVW IN1,OUT -I IN2,0UT |
MOVD IN1,OUT +D IN2,0UT |
MOVD IN1,OUT +D IN2,0UT |
功能 |
IN1+IN2=OUT |
IN1-IN2=OUT |
IN1+IN2=OUT |
IN1-IN2=OUT |
操作數(shù)及數(shù)據(jù)類型 |
IN1/IN2:VW, IW, QW, MW, SW, SMW, T, C, AC, LW, AIW, 常量, *VD, *LD, *AC OUT:VW, IW, QW, MW, SW, SMW, T, C, LW, AC, *VD, *LD, *AC IN/OUT數(shù)據(jù)類型:整數(shù) |
IN1/IN2: VD, ID, QD, MD, SMD, SD, LD, AC, HC, 常量, *VD, *LD, *AC OUT:VD, ID, QD, MD, SMD, SD, LD, AC, *VD, *LD, *AC IN/OUT數(shù)據(jù)類型:雙整數(shù) | ||
ENO=0的錯(cuò)誤條件 |
0006 間接地址, SM4.3 運(yùn)行時(shí)間, SM1.1 溢出 |
說明:
(1)當(dāng)IN1、IN2和OUT操作數(shù)的地址不同時(shí),在STL指令中,首先用數(shù)據(jù)傳送指令將IN1中的數(shù)值送入OUT,然后再執(zhí)行加、減運(yùn)算即:OUT+IN2=OUT、OUT-IN2=OUT。為了節(jié)省內(nèi)存,在整數(shù)加法的梯形圖指令中,可以指定IN1或IN2=OUT,這樣,可以不用數(shù)據(jù)傳送指令。如指定INI=OUT,則語(yǔ)句表指令為:+I IN2,OUT;如指定IN2=OUT,則語(yǔ)句表指令為:+I IN1,OUT。在整數(shù)減法的梯形圖指令中,可以指定IN1=OUT,則語(yǔ)句表指令為:-I IN2,OUT。這個(gè)原則適用于所有的算術(shù)運(yùn)算指令,且乘法和加法對(duì)應(yīng),減法和除法對(duì)應(yīng)。
(2)整數(shù)與雙整數(shù)加減法指令影響算術(shù)標(biāo)志位SM1.0(零標(biāo)志位),SM1.1(溢出標(biāo)志位)和SM1.2(負(fù)數(shù)標(biāo)志位)。