ver 8.3 first impressions

Beta Testing discussion on mikroPascal.
Post Reply
Author
Message
janni
Posts: 5373
Joined: 18 Feb 2006 13:17
Contact:

ver 8.3 first impressions

#1 Post by janni » 10 Jul 2008 17:23

Hmm, only public beta testing this time :?:

Good news is, the bit-testing problems seem to be solved (i.e. the state from version 7 has been restored). No more code bloating there.

Bad news is, that all the other points from my list for v8 still hold:

1. Unnecessary RAM bank switching instructions (MOVLB) are being added to the code - a 'phantom variable' effect occurs, i.e. bank switching for a variable that isn't there. Some manual variable placement management may be necessary, if the effect becomes excessive.

2. adding 16-bit to 32-bit variable code increase - the final code is at least twice bigger than in version 7. Similar effect may be observed in adding/subtracting 32-bit variables.

Same program as before was used to demonstrate the above issues:

Code: Select all

program testv8; 

var b1:byte; absolute $380; 
    b2:byte; 
    b3:byte; absolute $F00; 
    w2:word; 
    l1:longint; 

BEGIN 
 b1.2:=1; 
 if PORTB.7=1 then w2:=1; 
 if w2>16 then b2.1:=0 else b2.1:=1; // three RAM bank switching 'MOVLB 3' instructions 
 // added without purpose - following b1 variable that isn't even used here 
 b3:=2; 
 l1:=l1+w2; // leads to twice bigger code than in v7 
 // watch out - using l1:=w2+l1 produces 3 times bigger code!
 // and mathmaticians say that the summing order is not important...
END.
This program compiles now to 94 bytes (74 bytes with v7).

3. Find In Files works only with 'Whole words' option checked.

4. Simple operations on strings, like st=st+"ef" do not work correctly (strcat2 called with wrong parameters' list) and may produce undesirable effects, like overwriting part of RAM.

Post Reply

Return to “mikroPascal Beta Testing”