Ken Roach
Lifetime Supporting Member + Moderator
The Masked Move instruction is more like a Masked Copy: the source and destination are the same size and only the masked bits are transferred to the destination.
I put a zero into the Destination tag prior to the Masked Move mostly out of habit, because if a value greater than 255 gets into that destination tag at some point, the high bits won't be written over by the Masked Move and can mess up the math and confuse the troubleshooter. I've had this happen in logic that was otherwise flawless when I absentmindedly entered a constant into a tag.
The MOV instruction is more general-purpose and as noted by other posters, it preserves the *value* of a tag, not the bit pattern.
I don't know how that bit designator got there; you're right and the source is AB7645:I.Data[9]
I put a zero into the Destination tag prior to the Masked Move mostly out of habit, because if a value greater than 255 gets into that destination tag at some point, the high bits won't be written over by the Masked Move and can mess up the math and confuse the troubleshooter. I've had this happen in logic that was otherwise flawless when I absentmindedly entered a constant into a tag.
The MOV instruction is more general-purpose and as noted by other posters, it preserves the *value* of a tag, not the bit pattern.
I don't know how that bit designator got there; you're right and the source is AB7645:I.Data[9]