转换指令将累加器1中的数据进行类型转换,转换的结果仍在累加器l中。能够实现的转换操作有:BCD码和整数及长整数间的转换,实数和长整数间的转换,数的取反、取负,字节扩展等。
在STEP
7中,整数和长整数是以补码形式表示的。BCD码数值有两种:一种是字(16位)格式的BCD码数,其数值范围从-999到+999;另一种是双字(32位)格式的BCD码数,范围从-9999999到+9999999。
指令 |
说
明 |
BTI |
将累加器1低字中的3位BCD码数转换为16位整数 |
BTD |
将累加器1中的7位BCD码数转换为32位整数 |
ITB |
将累加器1低字中的16位整数转换为3位BCD码数 |
ITD |
将累加器l低字中的16位整数转换为32位整数 |
DTB |
将累加器1中的32位整数转换为7位BCD码数 |
DTR |
将累加器1中的32位整数转换为32位浮点数 |
l
BTI指令
SLT格式:
BTI
说明:将累加器1低字中的3位BCD码数转换为16位整数,装入累加器1的低字中(0~11位);低字的最高位(15位)为符号位。
累加器1的高字及累加器2的内容不变。
例3.6.1
L MW 10
BTI
T MW20
l
BTD指令
SLT格式:
BTD
说明:将累加器1中的7位BCD码数转换为32位整数,装入累加器1中,(0~27位);最高位(31位)为符号位。
l
ITB指令
SLT格式:
ITB
说明:
将累加器1低字中的16位整数转换为3位BCD码数,16位整数的范围是-999~+999。如果欲转换的数据超出范围,则有溢出发生,同时将OV和OS位置位。
累加器1的低字中(0~11位)存放三位BCD码。(12~15)位作为符号位,(0000)表示正数,(1111)表示负数。累加器1高字(16~31位)不变。
例3.6.2
L
MW 10
ITB
T MW20
l
ITD指令
SLT格式:
ITD
说明:
将累加器l低字中的16位整数转换为32位整数,16位整数的范围是-999~+999。如果欲转换的数据超出范围,则有溢出发生,同时将OV和OS位置位。
累加器1的低字中(0~11位)存放三位BCD码。(12~15)位作为符号位,(0000)表示正数,(1111)表示负数。累加器1高字(16~31位)不变。
例3.6.3
L MW 10
ITB
T MW20
l
DTB指令
SLT格式:
DTB
说明:
将累加器1中的32位整数转换为7位BCD码数,32位整数的范围是-9999999~+9999999。如果欲转换的数据超出范围,则有溢出发生,同时将OV和OS位置位。
累加器1中(0~27位)存放7位BCD码。(28~31)位作为符号位,(0000)表示正数,(1111)表示负数。
例3.6.4
L
MD 10
DTB
T MD20
l
DTR指令
SLT格式:
DTR
说明:
将累加器1中的32位整数转换为32位浮点数(IEEE-FP)
例3.6.5
L
MD 10
DTR
T MD20
|