在step 7中可以對(duì)整數(shù)、長(zhǎng)整數(shù)和實(shí)數(shù)進(jìn)行加、減、乘、除算術(shù)運(yùn)算。算術(shù)運(yùn)算指令在累加器1和2中進(jìn)行,在累加器2中的值作為被減數(shù)或被除數(shù)。算術(shù)運(yùn)算的結(jié)果保存在累加器1中,累加器1原有的值被運(yùn)算結(jié)果覆蓋,累加器2中的值保持不變。
cpu在進(jìn)行算術(shù)運(yùn)算時(shí),不必考慮rlo,對(duì)rlo也不產(chǎn)生影響。學(xué)習(xí)算術(shù)運(yùn)算指令必須注意算術(shù)運(yùn)算的結(jié)果將對(duì)狀態(tài)字的某些位產(chǎn)生影響,這些位是:cc1和cc0,ov,os。在位操作指令和條件跳轉(zhuǎn)指令中,經(jīng)常要對(duì)這些標(biāo)志位進(jìn)行判斷來(lái)決定進(jìn)行什么操作。
l +i 16位整數(shù)相加指令
l -i 16位整數(shù)相減指令
l *i 16位整數(shù)相乘指令
l / i 16位整數(shù)除法指令
l +d 32位整數(shù)相加指令
l -d 32位整數(shù)相減指令
l * d 32位整數(shù)相乘指令
l / d 32位整數(shù)除法指令
l mod 32位整數(shù)除法取余數(shù)指令
例3.7.1
l mw0 // 將mw 0中的值裝入累加器1低字
l mw2 // 將mw 2中的值裝入累加器1低字,累加器1低字中的原值移入累加器2低字
+i // 將累加器l低字和累加器2中的低字相加
t mw10 // 將運(yùn)算結(jié)果送到mw 10
* fbd 格式
與stl語(yǔ)句表指令不同處在于多了使能輸入端en和使能輸出端eno。只有當(dāng)i 0.0=1時(shí),才進(jìn)行加法運(yùn)算。如果運(yùn)算的結(jié)果超出范圍或者i 0.0=0,則q 4.0=0。