You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
mul bl currently sets the carry and overflow flags if ah was nonzero on input. It should set them if ah is nonzero on output. I think somebody misread the manual.
The same goes for the other multiply instructions. Additionally, the flag set logic in IMUL is incorrect. It clears/sets them according to whether AH is equal to 0xff. Instead they should be cleared if AH equals the sign bit of AL (0xff or 0x00 as appropriate), otherwise set.
The text was updated successfully, but these errors were encountered:
mul bl
currently sets the carry and overflow flags ifah
was nonzero on input. It should set them ifah
is nonzero on output. I think somebody misread the manual.The same goes for the other multiply instructions. Additionally, the flag set logic in IMUL is incorrect. It clears/sets them according to whether AH is equal to 0xff. Instead they should be cleared if AH equals the sign bit of AL (0xff or 0x00 as appropriate), otherwise set.
The text was updated successfully, but these errors were encountered: