On 31 October 2017 at 08:49, <
zlw...@gmail.com> wrote:
> Thank you Charles. Is it a known issue only for control flow logic? When I
> use MOV command to save a negative number (MOV r1, -1), then save r1 into
> shared RAM, then into a txt file, I do see -1 is saved into the txt file
> correctly.
This always works but has nothing to do with the PRU.
You can substract a larger value from an unsigned value, which then
gets wrapped around; you can then _interpret_ the bit-pattern as a
signed value in two-complement and get the expected negative number.
This is what you did in this case.
This is just a property of how the two-complement encoding works.
-h
>
> On Tuesday, October 31, 2017 at 9:13:31 AM UTC-4, Charles Steinkuehler
> wrote:
>>
>> On 10/30/2017 4:53 PM,
zlw...@gmail.com wrote:
>> > I am trying to use QBLT to compare two numbers and found out when one
>> > number is negative, the QBLT logic does not seem make right comparison.
>> > In
>> > the following code, before QBLT, r3 =1-4 = -3, and r2 = 10, so r3 < r2,
>> > then the code should execute MOV r3, -1. However, when I run this macro,
>> > r3
>> > is set to 1.
>> > Anyone notices this issue? Any idea how to fix it?
>>
>> This is a known issue, the PRU supports *ONLY* unsigned integers.
>>
>> Write your code properly for unsigned data types and you will not have
>> any problems.
>>
>> --
>> Charles Steinkuehler
>>
cha...@steinkuehler.net
>
> --
> For more options, visit
http://beagleboard.org/discuss
> ---
> You received this message because you are subscribed to the Google Groups
> "BeagleBoard" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to
beagleboard...@googlegroups.com.
> To view this discussion on the web visit
>
https://groups.google.com/d/msgid/beagleboard/859b4ea7-a3a6-430d-a715-b5d24ccc6a09%40googlegroups.com.
>
> For more options, visit
https://groups.google.com/d/optout.