We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi, I have a Problem with the Shift-Operator >> within my C-Code. I'm using PK166 V4.2 The following code should set the Variable n to 0.
void main() { unsigned char n; unsigned char p; // dummy n=255; n=n>>22; p=0; // dummy }
MOV R5, #0x16 // incorrect Opcode??? SHR R4,R5
"if I shift something with a value of x that means to me that I am shifting x places." And for right-shifts, that works as expected when the value being shifted is unsigned or signed and is positive. It is up to the compiler implementer how to handle a signed negative value's sign bit when shifting right. The implementer is expected to handle it in a documented, defined manner of their choice.