BIN指令的功能是将源通道S中的4位十进制数(BCD码)转换成16位二进制数,再存放到目的通道D中。
BCD指令的功能是将源通道S中的16位二进制数转换成4位十进制数(BCD码),存放到目的通道D中去。
什么是BCD码?
用4位二进制来表示1位十进制数。
从上数的指令方法理解,这两个指令是可以互逆换算。
但是在软件中调试时,注意数值的显示的差异性,软件显示值始终为十进制显示,二数值的二进制码存储的格式是不一样的。 所以经过转换为BCD码的二进制数值,在软件里显示出来的十进制数与正常的16位BIN 十进制数值不一样。
如上图,源数值为15,而D10的数值为21。
16位十进制数值15即F或者 1111, 经过BCD指令换算后BCD码是 0001 0101 (1=0001, 5=0101)。
但是软件的显示始终是以十进制显示,那么0001 0101 换算出来的十进制值=21, 所以软件界面看到的值为21,而不再是15.
同理, 上面的D10数值经过BIN 指令 运算回来后,变回来15,同样Y0,Y1,Y2,Y3的状态反应了X0,X1,X2,X3的输入状态。