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.
