Assuming the operations are being done at run-time ...
Internally, both * and */ do the same 16x16 bit multiplication, and the system variables contain the same 32-bit "product".
For the mid-word multiplier, the middle two bytes are then copied to the result variable, in this case rpm.
That result is then discarded and rpm is assigned the value from the DIV32, which used the 32-bit value in the system variables, not the mid-word value.
The same thing applies to the High-Word multiplier **.Code:rpm=6000*/10000 ; <-- This result in rpm is discarded rpm=div32 time




Bookmarks