Bit Fields tutorial
Suppose the source text looked like this:
void out_operand(int opnum, int flags);
// 'flags' parameter is combination of the following bits:
// (don't use OOF_SIGNMASK and OOF_WIDTHMASK, they are for the kernel)
#define OOF_SIGNMASK 0x0003 // sign output:
#define OOFS_IFSIGN 0x0000 // output sign if needed
#define OOFS_NOSIGN 0x0001 // should not out sign ()
#define OOFS_NEEDSIGN 0x0002 // always out sign (+-)
#define OOF_SIGNED 0x0004 // output as signed if
// This function output the first 2 operands of instruction
void out_operands(void)
{
// the first operand is a signed value
out_operand(0, OOFS_IFSIGN