首页 理论教育 转换指令及其典型应用场景

转换指令及其典型应用场景

时间:2026-01-23 理论教育 对我是小斗 版权反馈
【摘要】:表4-12 译码和编码指令的格式和功能例4-8译码编码指令应用举例。表4-14 ASCII码与十六进制数之间转换指令的格式和功能合法的ASCII码对应的十六进制数包括30H~39H,41H~46H。例4-9将VB100~VB103中存放的4个ASCII码36、46、39、43,转换成十六进制数。

转换指令是对操作数的类型进行转换,并输出到指定的目标地址中去。转换指令包括数据的类型转换、数据的编码和译码指令以及字符串类型转换指令。

不同功能的指令对操作数要求不同。类型转换指令可将固定的一个数据用到不同类型要求的指令中,包括字节与字整数之间的转换、整数与双整数的转换、双字整数与实数之间的转换以及BCD码与整数之间的转换等。

1.字节与字整数之间的转换

字节型数据与字整数之间转换的指令格式见表4-8。

表4-8 字节型数据与字整数之间转换指令

图示

(续)

图示

2.字整数与双字整数之间的转换

字整数与双字整数之间的转换格式、功能及说明见表4-9。

表4-9 字整数与双字整数之间的转换指令

图示

3.双整数与实数之间的转换

双整数与实数之间的转换格式、功能及说明见表4-10。

表4-10 双字整数与实数之间的转换指令

图示

(续)

图示

值得注意的是:不论是四舍五入取整,还是截位取整,如果转换的实数数值过大,无法在输出中表示,则产生溢出,即影响溢出标志位,使SM1.1=1,输出不受影响。

4.BCD码与整数的转换

BCD码与整数之间的转换格式、功能及说明见表4-11。

表4-11 BCD码与整数之间的转换指令

图示

注意:

①数据长度为字的BCD格式的有效范围为:0~9999(十进制),0000~9999(十六进制)0000000000000000~1001100110011001(BCD码)。

②指令影响特殊标志位SM1.6(无效BCD)。

③在表4-11的LAD和STL指令中,IN和OUT的操作数地址相同。若IN和OUT操作数地址不是同一个存储器,对应的语句表指令为

MOV IN OUT(https://www.xing528.com)

BCDI OUT

5.译码和编码指令

译码和编码指令的格式和功能见表4-12。

表4-12 译码和编码指令的格式和功能

图示

例4-8译码编码指令应用举例。如图4-9所示。

图示

图4-9 例4-8译码编码指令应用举例

若(AC2)=2,执行译码指令,则将输出字VW40的第二位置1,VW40中的二进制数为2#0000000000000100;若(AC3)=2#0000000000000100,执行编码指令,则输出字节VB50中的错误码为2。

6.七段显示译码指令

七段显示器的a、b、c、d、e、f、g段分别对应于字节的第0~6位,字节的某位为1时,其对应的段亮;输出字节的某位为0时,其对应的段暗。将字节的第7位补0,则构成与七段显示器相对应的8位编码,称为七段显示码。数字0~9、字母A~F与七段显示码的对应如图4-10所示。

七段译码指令SEG将输入字节16#0~F转换成七段显示码。指令格式见表4-13。

表4-13 七段显示译码指令

图示

图示

图4-10 与七段显示码对应的代码

使ENO=0的错误条件:0006(间接地址),SM4.3(运行时间)。

7.ASCII码与十六进制数之间的转换指令

ASCII码中实际是各种标准字符的编码,通过转换指令可以实现十六进制数据和ASCII码之间的相互转换,以及整型、双整型、实型与ASCII码的转换。

ASCII码与十六进制数之间的转换指令格式和功能见表4-14。

表4-14 ASCII码与十六进制数之间转换指令的格式和功能

图示

合法的ASCII码对应的十六进制数包括30H~39H,41H~46H。如果在ATH指令的输入中包含非法的ASCII码,则终止转换操作,特殊内部标志位SM1.7置位为1。

例4-9将VB100~VB103中存放的4个ASCII码36、46、39、43,转换成十六进制数。

梯形图和语句表程序如图4-11所示。

图示

图4-11 ASCII码到十六进制数的转换

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈