Hi Rob,
thanks that you are digging into this problem and maybe found the issue 
already. 
I'm a heavy Jal User I would call myself, but this is the first issue I 
found over the last years :-)

On Thursday, August 17, 2023 at 9:31:13 PM UTC+2 Rob CJ wrote:

> Hi Andreas,
>
> I had a quick look at the generated assemble code for a PIC16.
>
> In your first code example the code is (I changed 3 times i into i, j and 
> k so I could compile it):
>
>  ;   10 i=test1() 
>                                movlw    0
>                                movwf    v_i
> ;   11 if i>0 & i<13 then
>                                movf     v_i,w
>                                bsf      v__bitbucket, 0 ; _btemp1
>                                btfsc    v__status, v__z
>
> In your last code example where you removed the function the code is:
>
>                               clrf     v_k 
> ;   35 if k>0 & k<13 then
>                                movf     v_k,w
>                                bsf      v__bitbucket, 6 ; _btemp7
>                                btfsc    v__status, v__z
>
> If I am right - and I hope I am not - the first piece of code does not 
> work because the Z flag (v__z) of the status register (v__status) is never 
> affected by any of these instructions. In the last code example the clrf 
> instruction sets the Z flag.
>
> In other words, moving the return value of 0 to v_i is not the same as 
> clearing the value of v_k. So it might be a compiler bug. I wonder why it 
> has not been discovered before.
>
> Still need to see if my draft conclusion is correct.
>
> Kind regards,
>
> Rob
>
>
>
> ------------------------------
> *Van:* '[email protected]' via jallib <[email protected]>
> *Verzonden:* donderdag 17 augustus 2023 21:07
> *Aan:* jallib <[email protected]>
> *Onderwerp:* Re: [jallib] IF statement fails 
>  
> Hello Rob,
> PIC is a 18f26K83
> compiler called with: ../jalv25r7/compiler/jalv2-x86-64 -no-variable-reuse
> no other specific setting
> Thanks,
> Andreas
>
> On Thursday, August 17, 2023 at 9:00:33 PM UTC+2 Rob CJ wrote:
>
> Hi,
>
> For which PIC did you compile this? 12, 16, 18?
>
> Did you use any compiler optimizations?
>
> Thanks.
>
> Kind regards,
>
> Rob
>
> ------------------------------
> *Van:* '[email protected]' via jallib <[email protected]>
> *Verzonden:* woensdag 16 augustus 2023 22:18
> *Aan:* jallib <[email protected]>
> *Onderwerp:* [jallib] IF statement fails 
>  
> Hello everyone,
>
> I found this code is not working (using jal jalv25r7, but also older 
> versions). Can anyone pls verify:
>
>
> *var byte i *
>
>
> *function test() return byte is return 0 end function*
>
> *i=test() *
> *if i>0 & i<13 then*
>
> *  -- goes here but is wrong *
> *else*
> * ..*
> *end if*
>
> but this code works:
>
> *var byte i *
>
>
> *function test() return byte is return 0 end function*
> *i=test()*
> *if i<13 & i>0 then*
>
> *  .. *
> *else*
>
> *   -- goes here and OK *
> *end if*
>
> if you remove the function, it works, too:
>
> *var byte i *
> *i=0*
> *if i>0 & i<13 then*
>
> *  .. *
> *else*
>  *  -- goes here and OK*
> *end if*
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "jallib" 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/jallib/2b197dbf-4628-4acd-b13c-11e3b6ba2228n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/jallib/2b197dbf-4628-4acd-b13c-11e3b6ba2228n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "jallib" 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/jallib/69c9a49a-e83c-4824-a27c-074f25bf0c29n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/jallib/69c9a49a-e83c-4824-a27c-074f25bf0c29n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"jallib" 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/jallib/f2b66222-389b-4f41-8705-41e46aad4528n%40googlegroups.com.

Reply via email to