smov:数位传送指令。举个例子,简单点说就是把“1234”中的某个或多个位置的一个或多个数字传送到“5678”中的对应位置上,使原来的“5678”变成一个新的数字(例,1678,5278,5634等),而原来的“1234”不变。其指令格式,及
寄存器的数位规定,如下图:
其中,s.是“1234”所在的d寄存器地址,m1规定从哪个位置开始移动(k1~k4),m2指定移动的数字个数(1~4),d.是“5678”所在的d寄存器地址,n是移入d.中的位置(k1~k4)。(注:该指令有bcd码数,
十六进制数两种执行模式,标志继电器m8168
on时执行十六进制数移位;m8168
off时执行bcd码数移位)。
例:(d0)=1234,(d1)=5678
在bcd码模式下:
smov
d0
k4
k2
d1
k3
的意思就是把d0中从k4位起的连续两位即“12”传送收到d1中从k3位起的连续两位中,即用“12”代替“67”,结果就是(d0)=1234,(d1)=5128。
在十六进制模式下:(d0)=
#04d2
(1234),(d1)=
#162e(5678)
smov
d0
k4
k2
d1
k3
的意思是用“04”代替“62”,结果(d0)=
#04d2
(1234),(d1)=
#104e(4174)。
以上介绍耐心看不难理解,个人认为比手册更通俗一些,祝楼主好运,望采纳!