+ // Make sure to deposit the correct size payload
+ // N.B.: The braces around the SETBExx macros are needed
+ // because the macro supplies its own set of braces,
+ // thus leaving a naked semicolon afterwards to
+ // screw up the if/else structure. This is the price
+ // you pay when using macros pretending to be code.
+ if (rflag & 0x02)
+ {
+ SETBE16(dp, 0, diff);
+ }
+ else
+ {
+ SETBE32(dp, 0, diff);
+ }
+