be careful what you ask for ...
here’s my best shot at the
explanation that you asked for ...
first of all ... here is a breakdown of all eight possible bit combinations for the source, mask, and destination entries for a MVM (Masked Move) instruction ...
[attachment]
in column A ... the 0 in the source wants to move down to the destination ... but it can’t because there’s a 0 in the mask ... the 0 in the mask disables the move ... so the 0 which was already in the destination does not change ... the final result of column A is still a 0 ...
in column B ... the 1 in the source wants to move down to the destination ... but it can’t because there’s a 0 in the mask ... the 0 in the mask disables the move ... so the 0 which was already in the destination does not change ... the final result of column B is still a 0 ...
in column C ... the 0 in the source wants to move down to the destination ... and it can because there’s a 1 in the mask ... the 1 in the mask enables the move ... so the 0 that was already in the destination gets overwritten by the 0 from the source ... the destination does not APPEAR to change ... the final result of column C is still a 0 ...
in column D ... the 1 in the source wants to move down to the destination ... and it can because there’s a 1 in the mask ... the 1 in the mask enables the move ... so the 0 which was already in the destination is overwritten by the 1 from the source ... the final result of column D is now a 1 ...
in column E ... the 0 in the source wants to move down to the destination ... but it can’t because there’s a 0 in the mask ... the 0 in the mask disables the move ... so the 1 which was already in the destination does not change ... the final result of column E is still a 1 ...
in column F ... the 1 in the source wants to move down to the destination ... but it can’t because there’s a 0 in the mask ... the 0 in the mask disables the move ... so the 1 which was already in the destination does not change ... the final result of column F is still a 1 ...
in column G ... the 0 in the source wants to move down to the destination ... and it can because there’s a 1 in the mask ... the 1 in the mask enables the move ... so the 1 which was already in the destination is overwritten by the 0 from the source... the final result of column G is now a 0 ...
in column H ... the 1 in the source wants to move down to the destination ... and it can because there’s a 1 in the mask ... the 1 in the mask enables the move ... so the 1 that was already in the destination gets overwritten by the 1 from the source ... the destination does not APPEAR to change ... the final result of column H is still a 1 ...
continued in next post ...