Welcome to the JALv2 homepage. JALv2 is a rewrite of
Wouter van Ooijen's famous Just Another Language.
More JAL bits and libraries can be found:
- jallib -- libraries for everything
-
https://github.com/jallib/jallib/
- Single Multiple with Constant Calculator
-
http://www.casadeyork.com/jalv2/cmul.cgi
- Original JAL
-
www.voti.nl/jal/index_1.html
- Stef's PIC Pages
- http://pic.flappie.nl
- Wattystuff
-
http://www.wattystuff.net/tiki/tiki-index.php?page=PIC+Micro
- JAL Books
-
http://www.vandam.tk/
- Yahoo Group
-
http://tech.groups.yahoo.com/group/jallist
|
Release history:
- 2.4q5 -- 29 December 2015
- allow whereis() on variables
- fix whereis() in expressions
- 2.4q4 -- 25 December 2015
- fixed large lookup tables
- fixed data error with inline assembly on hybrid chips
- fixed error when using lookup tables in expressions on 16 bit chips
- 2.4q3 -- 27 September 2014
- fixed exponent adjust when floating multiply/divide by an integral
power of 2
- allow exponent adjust when floating multiply/divide by a floating
power of 2
- allow negative numbers in exponent adjust
- fixed some documentation types and examples (thanks Rob!)
- fixed the float_to_ascii routine to be more useful
- floating point constant folding was broken
- 2.4q2 -- 23 January 2014
- fixed floating point constant 0
- incorrect movlp_nop usage
- fixed branching optimizer on conditional branch
- fixed bug in pic_multiply_create_fn16
- 2.4q -- 13 November 2013
- don't allow bit offset placement to non-bit variables
(var BYTE x at y:2)
- allow `VAR xx AT rec['.'member]['['subscript']']...'
- allow non-bit variables to declare byte offets
(VAR BYTE x AT y + 2)
- fixed and returned an optimization that reduces code size
when an empty if block is found:
IF cond THEN
END IF
(thanks Albert!)
- minor optimization. In this sequence: `movwf val; movf val,w'
remove the second as redundant. This happens with the `pass
result in w' and `return result in w' code.
- an inline assembly move to a constant location did not set
the data bits correctly (movwf 0x90).
- assign from constant was completely munged in most cases
- fixed documentation errors (thanks Rob!)
- expanded documentation for records
- minor code generation optimization in equality operators
- beginning of floating point support
- fixed an error that caused false positives with branch errors
- clear out last multiply/divide values when branching
- always inline some multiplies on the 16 bit cores
- fixed a problem in binary AND and binary OR when val1 is shared
and val2 is not *or* dst is in a different bank than val2
- parsed assignment within a procedure definition (default parameter)
but default parameters are not allowed. (Rob)
- re-ordered some optimizations for tigher code (Michael)
- detect if a function is declared but not defined
- when assigning from a pointer of smaller type, the calle to
extend the sign was missing (Michael)
- variables manually placed in shared regions must have the SHARED
flag set (this is internal to the compiler. A variable allocated
in a shared region will now act correctly. Formerly, the shared
attribute was missing in this case.)
- fixed variable allocator
- fixed SHARED testing in the event that part, but not all of a
variable is shared
- cleaned up new warning from gcc 4.7.2
- fixed string constant initialization when the string contains an
embedded '\0'
- 16 bit inline multiply did not setup indirection correctly
- added `asm reset'
- for _usec_delay, if the PIC temporary varaiable is in shared
space, emit NOP instead of the datahi/datalo instructions.
- fixed data skip errors.
- upcasting a constant value causes incorrect code to be generated
- fixed MULF (thanks again Michael).
- fixed a bug in the skip conditional optimizer (thanks again Michael)
- cmd_analyze() didn't handle assembly properly
- inline assembly, using the `bank' prefix doesn't work correctly
on the 14 bit hybrids
- fixed stack depth reporting
- fixed w optimization removals
|
Lastest release files (JALv2 2.4q5):
- README.txt
- archive/README.txt
- Binaries (win32 and linux with chipdef files)
- archive/jalv24q5.zip
- Sources
- archive/jalv24q5src.zip
Archive
Bleeding edge files. Warning -- these are probably in the midst
of being tested, and some features may not work. Always look at the
README file to see what changes have come in! The version is always
one higher than the last release.
- README.txt
- archive/beta/README.txt
- Binaries (win32 and linux with chipdef files)
- archive/20180804-jalv24q6.zip
- Sources
- archive/20180804-jalv24q6src.zip
Documentation
Curious Perversions
These are just some minor projects I've done that probably don't
belong in either a MicroController, or in JAL. Use at your own
risk!
|