數(shù)字轉(zhuǎn)換指令和進位取整指令
發(fā)布于2023-02-08 10:20
19
2
標簽:轉(zhuǎn)換指令
轉(zhuǎn)換指令概述
對同一個數(shù)據(jù),往往需要按不同的格式進行訪問,而轉(zhuǎn)換指令可解決這一問題。轉(zhuǎn)換時并不需要知道數(shù)據(jù)在存儲區(qū)中的存儲格式。
數(shù)字轉(zhuǎn)換指令
數(shù)字轉(zhuǎn)換指令包括:字節(jié)轉(zhuǎn)整數(shù)(BTI)、整數(shù)轉(zhuǎn)字節(jié)(ITB)、整數(shù)轉(zhuǎn)雙整數(shù)(ITD)、雙整數(shù)轉(zhuǎn)整數(shù)(DTI)、雙整數(shù)轉(zhuǎn)實數(shù)(DTR)、BCD轉(zhuǎn)整數(shù)(BCDID)和整數(shù)轉(zhuǎn)BCD(IBCD)指令。這些指令將輸入數(shù)值IN轉(zhuǎn)換為指定的格式,并將輸出值存儲在輸出OUT指定的內(nèi)存位置。例如,可以將雙整數(shù)值轉(zhuǎn)換為實數(shù);也可以在整數(shù)和BCD碼格式之間轉(zhuǎn)換。
1.BCD碼轉(zhuǎn)整數(shù)和整數(shù)轉(zhuǎn) BCD碼指令
BCD碼轉(zhuǎn)整數(shù)(BCDD指令將二進制編碼的十進制數(shù)值IN轉(zhuǎn)換為整數(shù)值,并將結果輸出到OUT指定的變量。IN的有效范圍為0~9999的BCD碼。
整數(shù)轉(zhuǎn)BCD碼(IBCD)指令將輸入的整數(shù)值IN轉(zhuǎn)換為二進制編碼的十進制數(shù)值,并將結果輸出到OUT指定的變量。IN的有效范圍為0~9999的整數(shù)。
設置ENO=0的錯誤條件:SM1.6(無效的BCD碼);0006(間接地址)。受影響SM位:SM1.6(無效的BCD碼)。
2.雙整數(shù)轉(zhuǎn)實數(shù)指令
雙整數(shù)轉(zhuǎn)實數(shù)(DTR)指令將32位、有符號整數(shù)IN轉(zhuǎn)換為32位實數(shù),并將結果放到OUT指定的變量中。
設置ENO=0的錯誤條件:0006(間接地址)
3.雙整數(shù)轉(zhuǎn)整數(shù)指令
雙整數(shù)轉(zhuǎn)整數(shù)(DTD指令將雙整數(shù)值IN轉(zhuǎn)換為整數(shù)值,并將結果放到OUT指定的變量中。如果轉(zhuǎn)換的數(shù)值太大不能在輸出中表示,會使溢出置位,輸出不受影響。
設置ENO=0的錯誤條件:SM1.1(溢出);0006(間接地址)。受影響SM位:SM1.1(溢出)。
4.整數(shù)轉(zhuǎn)雙整數(shù)指令
整數(shù)轉(zhuǎn)雙整數(shù)(TTD)指令將整數(shù)值IN轉(zhuǎn)換為雙整數(shù)值,并將結果放到OUT指定的變量中。
設置ENO=0的錯誤條件:0006(間接地址)。
5.字節(jié)轉(zhuǎn)整數(shù)指令
字節(jié)轉(zhuǎn)整數(shù)(BTD)指令將字節(jié)數(shù)值IN轉(zhuǎn)換為整數(shù)值,并將結果放到OUT指定的變量中。字節(jié)是無符號的,因此沒有符號擴展。
設置ENO=0的錯誤條件:0006(間接地址)。
6.整數(shù)轉(zhuǎn)字節(jié)指令
整數(shù)轉(zhuǎn)字節(jié)(ITB)指令將字數(shù)值IN轉(zhuǎn)換為字節(jié)數(shù)值,并將結果放到OUT指定的變量中。轉(zhuǎn)換數(shù)值為0~255。導致溢出和輸出的所有其他數(shù)值不受影響。
設置ENO=0的錯誤條件:SM1.1(溢出):0006(間接地址)。受影響SM位:
SM1.1(溢出)。若要將整數(shù)轉(zhuǎn)變?yōu)閷崝?shù),使用整數(shù)轉(zhuǎn)雙整數(shù)指令,然后使用雙整數(shù)轉(zhuǎn)實數(shù)指令。
字節(jié)和整數(shù)轉(zhuǎn)換指令如圖5-38所示;雙整數(shù)轉(zhuǎn)換指令如圖5-39所示;整數(shù)和BCD碼轉(zhuǎn)換指令如圖5-40所示。轉(zhuǎn)換指令的有效操作數(shù)見表5-15。
進位和取整指令
進位(ROUND)指令將實數(shù)IN轉(zhuǎn)換為雙整數(shù)值,并將四舍五入結果放到OUT指定的變量中。如果小數(shù)部分大于或等于0.5,則數(shù)字向上進位。
取整(TRUNC)指令將實數(shù)IN轉(zhuǎn)換為雙整數(shù),并把結果的整數(shù)部分放到OUT指定的變量中。只有實數(shù)的整數(shù)部分被轉(zhuǎn)換,小數(shù)部分被舍去。進位和取整指令如圖5-41所示。
設置ENO=0的錯誤條件:SM1.1(溢出);0006(間接地址)。受影響SM位:SM1.1(溢出).