This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Extra (useless) instructions involving r7 and accumulator

Why would the following line in C:

XRAM00 |= 0x01;

compile into this:

mov dptr, #XRAM00
movx a, @dptr
mov r7, a
mov a, r7
orl a, #1
mov r7, a
mov dptr, #XRAM00
mov a, r7
movx @dptr, a

I would have expected this:

mov dptr, #XRAM00
movx a, @dptr
orl a, #1
movx @dptr, a

Parents
  • if none of the above is 'correct' enough for you, then, instead of bitching, post what is 'correct' enough for you.

    I can't post what is correct because I don't know what you are trying to say. That is why I keep asking you to rephrase it in commonly accepted terminology.

    This is what you said:

    I wish Keil would make an optimize selection (number) that would remove the crap (no jmp@ for 'switch' and no infernal r7,a a,r7) without 'merging execution strings'.

    It would appear that your expression 'merging execution strings' is a reference to some method of optimisation. What is it in commonly accepted terminology?

    I have no idea whatsoever what problem (besides a personal one) you have with either of the two expressions above.

    My problem is that I do not understand what 'merging execution strings' is supposed to mean. That is why I keep asking you to rephrase it in commonly accepted terminology.

Reply
  • if none of the above is 'correct' enough for you, then, instead of bitching, post what is 'correct' enough for you.

    I can't post what is correct because I don't know what you are trying to say. That is why I keep asking you to rephrase it in commonly accepted terminology.

    This is what you said:

    I wish Keil would make an optimize selection (number) that would remove the crap (no jmp@ for 'switch' and no infernal r7,a a,r7) without 'merging execution strings'.

    It would appear that your expression 'merging execution strings' is a reference to some method of optimisation. What is it in commonly accepted terminology?

    I have no idea whatsoever what problem (besides a personal one) you have with either of the two expressions above.

    My problem is that I do not understand what 'merging execution strings' is supposed to mean. That is why I keep asking you to rephrase it in commonly accepted terminology.

Children
No data