GETHBIT
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3900
4a8a32a2-be11-0410-ad9d-
d568d2c75423
+2005-09-26 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * src/SDCCicode.c (operandOperation): added GETABIT, GETBYTE, GETWORD and
+ GETHBIT
+
2005-09-25 Maarten Brock <sourceforge.brock AT dse.nl>
* doc/sdccman.lyx: updated Highest Order Bit documentation,
(i >> 1));
}
break;
+ case GETABIT:
+ retval = operandFromLit (((TYPE_UDWORD)operandLitValue(left) >>
+ (TYPE_UDWORD)operandLitValue(right)) & 1);
+ break;
+ case GETBYTE:
+ retval = operandFromLit (((TYPE_UDWORD)operandLitValue(left) >>
+ (TYPE_UDWORD)operandLitValue(right)) & 0xFF);
+ break;
+ case GETWORD:
+ retval = operandFromLit (((TYPE_UDWORD)operandLitValue(left) >>
+ (TYPE_UDWORD)operandLitValue(right)) & 0xFFFF);
+ break;
+
+ case GETHBIT:
+ retval = operandFromLit (((TYPE_UDWORD)operandLitValue(left) >>
+ ((getSize (let) * 8) - 1)) & 1);
+ break;
case UNARYMINUS:
retval = operandFromValue (valCastLiteral (type,