Advertisement
Guest User

mul24

a guest
Feb 24th, 2014
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.32 KB | None | 0 0
  1. static int carry;
  2. uint16_t mul24(uint16_t in16, uint8_t in8)
  3. {
  4.     uint8_t h = in16 >> 8;
  5.     uint8_t l = in16 & 0xff;
  6.     uint16_t mh = (uint16_t) in8 * h;
  7.     uint16_t ml = (uint16_t) in8 * l;
  8.     uint16_t r = 0;
  9.     if (mh & 0xff00) {
  10.         carry = 1;
  11.     } else {
  12.         carry = 0;
  13.         r =   mh;
  14.         r <<= 8;
  15.         r +=  ml;
  16.     }
  17.     return r;
  18. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement