浮點數運算指令包括浮點數的比較、四則運算、開方運算和三角函數等功能,它們(men) 分布在指令編號為(wei) FNC110 - FNC119、FNC120 - FNC129、FNC130 - FNC139等指令之中。
(1)浮點數比較指令
浮點數比較指令如表4-14所示。
表4-14 浮點數比較指令
1)二進製浮點數比較指令ECMP(FNC110)。二進製浮點數比較指令ECMP用於(yu) 比較兩(liang) 個(ge) 二進製的浮點數。該指令源操作數可取K、H和D,目標操作數可用Y、M和S。為(wei) 32位運算指令,占13個(ge) 程序步。
示例及使用:如圖4-63所示,將兩(liang) 源操作數進行比較,比較結果反映在目標操作數中,如果操作數為(wei) 常數,則自動轉換成二進製浮點數值處理。
2)二進製浮點數區間比較指令EZCP (FNC111)。EZCP (P)指令的功能是將源操作數的內(nei) 容與(yu) 用二進製浮點數值指定的上下兩(liang) 點的範圍比較,對應的結果用ON/OFF反映在目標操作數上。
示例及使用:如圖4-64所示。該指令為(wei) 32位運算指令,占17個(ge) 程序步。源操作數可以是K、H和D;目標操作數為(wei) Y、M和S。[S1.]應小於(yu) [S2.],操作數為(wei) 常數時將被自動轉換成二進製浮點數值處理。
圖4-63 二進製浮點數比較指令的使用
圖4-64 二進製浮點數區間比較指令的使用
(2)二進製浮點數的四則運算指令
二進製浮點數的四則運算指令如表4-15所示。
表4-15 二進製浮點數的四則運算指令
浮點數的四則運算指令有加法指令EADD (FNC120)、減法指令ESUB (FNC121)、乘法指令EMUL (FNC122)和除法指令Ep (FNC123)四條指令。四則運算指令的使用如圖4-65所示,它們(men) 都是將兩(liang) 源操作數中的浮點數進行運算後送入目標操作數。當除數為(wei) 0時出現運算錯誤,不執行指令。此類指令隻有32位運算,占13個(ge) 程序步。運算結果影響標誌位M8020(零標誌)、M8021(借位標誌)、M8022(進位標誌)。源操作數可取K、H和D,目標操作數為(wei) D。如有常數參與(yu) 運算,則自動轉化為(wei) 浮點數。
圖4-65 二進製浮點數四則運算指令的使用
二進製的浮點運算還有開平方、三角函數運算等指令,在此不再說明。