nice work Leffmann!
hint: (saves a lot of '0' typing)
not
Code:
d3l = (d3l&0xffff0000) | d3
but
Code:
d3l = (d3l&(~0xffff)) | d3
... should do the same thing
In int, ffff0000 is the 2's complement of 0000ffff
Not sure if you need those inner parentheses, even...