Thank you Henner. Since we can only interpret the subtraction result 
correctly when we know its sign, we always need first compare a and b 
(assuming a and b are positive and we do a-b) to know which is greater 
before we do a subtraction.

lingwei

On Tuesday, October 31, 2017 at 12:33:03 PM UTC-4, Henner Zeller wrote:
>
> On 31 October 2017 at 08:49,  <[email protected] <javascript:>> 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, [email protected] 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 
> >> [email protected] 
> > 
> > -- 
> > 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 [email protected] <javascript:>. 
> > 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. 
>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/a5f31638-a696-4ae6-b326-7eb2559c6fbe%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to