如何把ASCII码转换指令ASC?
发布时间:2016-11-07 10:35 来源:欧姆龙 阅读:
如何把ASCII码转换指令ASC?
格式:ASC(86) @ASC(86)S SC CR R其中,操作数S为源通道,它可以是IR、SR、AR、LR、hR、TC、DM、*DM;操作数C为控制字,它可以是IR、SR、AR、LR、hR、TC、DM、*DM、#;操作数R为目的开始通道,它可以是IR、SR、AR、LR、hR、DM、*DM。功能: ASC为ASCII码转换指令,一次可以将S中的最多4位十六进制数转换成ASCII码。转换的结果存入以R开始的目的通道中。
例5-4:设有如下的ASC指令:LD 00001ASC (86)009#2010hR00设有009通道中的数据为#0013,则当ASC指令的执行条件00001满足时,执行ASCII码转换,按照C的规定,转换的结果是hR00被赋值#3133。
执行ASC指令的几种情况。
控制字C的内容为#0011,表示从源通道S的数字位1开始转换,转换2位,转换的结果从结果通道R的低8位开始存放,不进行校验。源通道S的数字位1是BCD数3,转换成ASCII码是33,数字位2是BCD数1,转换成ASCII码是31。由于C指定不校验,所以第7位和第15位都写0。
控制字C的内容为 #1010,表示从源通道S的数字位0开始转换,转换2位,转换的结果从结果通道R的低8位开始存放,进行偶校验。源通道S的数字位0和1是BCD数3和1,转换成ASCII码是33和31。数字位2是BCD数1,转换成ASCII码是31。由于C指定偶校验,在R的低8位中,ASCII码中1的个数已是偶数,所以第7位写0;在R的高8位中,ASCII码中1的个数不是偶数,所以第15位写1。控制字C的内容为 #2010,指定为奇校验,在R的低8位中,ASCII码中1的个数不是奇数,所以第7位写1;在R的高8位中,ASCII码中1的个数已是偶数,所以第15位写0。