> The fact is that you get more pre-made libs > for C or Basic (even for JAL), Library use is another dimension. HLL has an advantage that does not depend on libraries, consider a (nonsense) statement like z = sin( x->a[ 9 ] + y[ i ]->b ) even with the libraries for float + and sin in place this still requires a *lot* of code in assembly. > def PORTB.0 as digital out; > def LED1 as PORTB.0; > > LED1.on; > wait(100); > LED1.off; > > (Before you ask, I do not know what language is that, it was > only in my imagination) except for the 'digital out' part, which get complicated on some PICs if you expect it to handle porta in a similar way, this essentially how I would write in C, C++ or JAL. Note: before I started Jal I wrote some rediculously comples MPASM macros that could do this too. I abandoned that route when I realised that I could never get the next steps (dead code elimination, call tree based variable allocation, etc) working in macro's. > Is there any language something like this for PIC, which > still can produce a fairly compact code? this is valid Jal, from http://www.voti.nl/cursus/knipper/e_knipper.html: include 16c84_10 include jlib pin_a0_direction = output forever loop pin_a0 = high delay_10mS( 50 ) pin_a0 = low delay_10mS( 50 ) end loop If you want to use LED1 ipv pin_a0 you could add "var volatile bit LED1 is pin_a0". The "pin_a0 =" construct is *not* an assignment to RA0 but to the RA shadow, plus a copy of the shadow to porta. Wouter van Ooijen -- ------------------------------------------- Van Ooijen Technische Informatica: www.voti.nl consultancy, development, PICmicro products docent Hogeschool van Utrecht: www.voti.nl/hvu -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist