User`s guide

System LSI Division, Semiconductor Business
V1.56_b
eta
Aug. 22
nd
, 2005
Fixed 1: When the pointer type variable is used also as integer type through
explicit type casting and the variable is spilled, incorrect code was
generated for accessing the spilled An register.(in release mode)
Fixed 2: Optimizer parsing error was occurred in release mode.
V1.55b Feb. 23
rd
, 2005
Fixed: At Optimize Level 2, Incorrect optimization was applied.
For the spilled local variable, The loading from stack before each
operation for the variable was eliminated incorrectly.
V1.55a Jan. 25
th
, 2005
Fixed: It could be a crash at optimizing time when *.z contains the long input
line more than 280 characters.
New: There was some redundant copy without being optimized at the
following pattern. From this version, following 2
nd
register move can
be removed.
LD Ra,Eb
LD Eb,Ra Æ this copy can be removed.
V1.55 Dec. 15
th
, 2004 Just, version name is changed.
V1.54i Dec. 8
th
, 2004
Fixed: The program is compiled at optimize level 1 works incorrectly. (works
well at level 0)
-. Access instructions for long type ROM data were incorrect.
V1.54h Dec. 2
nd
, 2004
Fixed: There is a crash at optimizing.
-. An assertion error occurred at spilling a register.
V1.54g Nov. 20
th
, 2004
Fixed: The program is compiled at optimize level 1 works incorrectly. (works
well at level 0)
-. Access instructions for long type ROM data were incorrect.
V1.54f Nov. 26
th
, 2004
Fixed 1: Optimizer has removed A8 initialization as base control register at
even interrupt pragma routine.
Fixed 2: When Some long variable is used, optimizer crashed.
New 1: Error handling for option mismatch between calmcc16 and calmopt16
was added
New 2: Refinement of push registers list at interrupt function
New 3: A10 register is not excepted for dead code elimination.
New 4: Added the interrupt function detecting method.
V1.54e Jul. 26
th
, 2004
Fixed: In optimization level 2, some instructions that access array with
constant index were removed incorrectly
V1.54d Jul. 20
th
, 2004
Fixed: When user used a function name longer than 49 characters, user might
get an assembly error
V1.54c Jul. 7
th
, 2004
New 1: Frame size is added in debug information
New 2: Building logo is added in only Dos Version
Fixed 1: Spilled local variable case made incorrect debug information
Fixed 2: When Calmopt16 optimizes an input file, there was some crash. The
reason there was a problem in register coalescing
V1.54b Internal version
V1.54a Internal version
4.2.4 Assembler – Calmasm16.dll
Version Released date Comments
V1.56aS Feb 28
th
2006 [New] Option –t is supported to avoid printing of date and time in object file
V1.56S Oct. 28
th
, 2005 Just, version name is changed.
V1.55c5S Oct 21
st
2005 External symbols with expressions supported in .equ directive
V1.55c4S Internal version
V1.55c3S July 1
st
2005 Limitation of number of include paths has been removed.
V1.55c2S June 2
nd
2005 Branch to different section but same file is supported.
V1.55c1S May 2
nd
2005 -T option supported for profiling
Property of Samsung Electronics Co., Ltd. 17