|
|
|
History of development C--. |
|
|
|
News in versions of the compiler.
0.239 14.12.2002
0.238 from 28.03.2002
0.237 from 05.11.2001
0.236 from 13.02.2001
0.235 from 13.11.2000
0.234 from 01.10.2000
0.233 from 11.09.2000
0.232 from 31.08.2000
0.231 from 16.07.2000
0.230 from 13.06.2000
0.229 from 06.04.2000
0.228 from 08.03.2000
0.227 from 09.02.2000
0.226 from 10.01.2000
0.225 from 09.12.1999
0.224 from 28.10.1999
0.223 from 05.10.1999
0.222 from 19.09.1999
0.221 from 10.09.1999
0.220 from 23.08.1999
0.219 from 06.07.1999
0.218 from 14.06.1999
0.217 from 24.05.1999
0.216 from 21.04.1999
0.215 from 14.03.1999
0.214 from 18.02.1999
0.213 from 01.02.1999
0.212 from 07.12.1998
0.211 from 15.11.1998
0.210 from 15.10.1998
0.209 from 24.09.1998
0.208 from 06.09.1998
0.207a from 6.08.1998
0.207 from 30.07.1998
0.206 from 05.06.1998
0.205 from 04.05.1998
0.204 from 13.04.1998
0.203
0.202
0.201
0.200
0.199
0.198c
0.198b
0.198a
0.198
0.197
0.196
0.195
0.194
0.193
0.192d
0.192c
0.192b
0.192a
0.192
0.191
0.190a
0.190
0.189a
0.189
0.188
0.187a
up to 0.187- Lots of versions, and lots of stuff changed.
0.187a - VGAX.H-- modified.
- VGA.H-- supplemented.
- VGAFILL.H-- added.
Return to contents.
0.188 - Fixed two lame compare statement bugs.
- Spiffed up docs a bit more.
- KEYCODES.H-- modified and supplemented.
- VIDEO.H-- modified and supplemented.
- WRITEHEX(word_value) added to WRITE.H--.
- STARS.C-- added.
- DPMI.H-- and DPMI.C-- added.
- ZEROFLAG and NOTZEROFLAG conditional expressions added.
Return to contents.
0.189 - Fixed local_var = seg_reg bug.
- Everyone should upgrade at least to this version!
Return to contents.
0.189a - Docs spiffed.
- STARS.C-- modified.
- DOS.H-- supplemented.
- COMPLETE.C-- added.
- DPMI.H-- and DPMI.C-- modified.
- DOSWRITESTR() added to DOS.H--.
Return to contents.
0.190 - DOSWRITESTRING() deleted from internal library.
- DOS.H-- supplemented.
- DATETIME.C-- added.
- Docs spiffed.
- Colour Scheme 3 added for all you boring people who didn't
like Colour Scheme 1.
- VIDEO.H-- supplemented.
Return to contents.
0.190a - FIXPATH.C-- ver 1.1 added (created by Jean-Marc Lasgouttes).
- Colour Scheme 3 in Work Bench modified just slightly.
- Num Pad bug in Work Bench fixed (now version Beta 0.120).
- Search bug found in Work Bench but not yet fixed.
- Bug found and fixed in TINYDRAW.C-- file selection.
- VCPI.H-- and VCPI.C-- added.
- ENCRYPT.C-- added.
- BOUNCE.C-- modified.
Return to contents.
0.191 - Functions returning 32 bit values bug found and fixed.
- 'fixed32u' and 'fixed32s' now reserved and are keywords,
they will be used to define 32bit fixed point (16bit.16bit)
variables in the future.
- Docs spiffed up a little.
- Multiple characters in character constants added. For
example: 'ab'.
Return to contents.
0.192 - All previous VESA support in VIDEO.H-- removed.
- A little more work done on 32bit fixed point stuff.
- VESA.H-- and VESA.C-- added.
- Offending line in POW4.C-- removed.
Return to contents.
0.192a - WAIT() added to SYSTEM.H--.
- SOUND BLASTER SUPPORT ADDED!!! Thanks to Michael B. Martin
for all the code. The following files have been added:
SB.H--, SBDMA.H--, SBDETECT.C--, SBGETVOL.C--,
SBSETVOL.C--, SB_DMA.C-- and SB_DMA_.C--.
- All procedure list is now categorical.
Return to contents.
0.192b - FIXPATH.C-- ver 1.1 replaced with ver 1.2.
- TSR.H-- added.
- KEEP() moved from DOS.H-- to TSR.H--.
- PCX.H-- and PCX.C-- added.
Return to contents.
0.192c - Procedures added to VGAX.H--.
Return to contents.
0.192d - Example files now sorted into multiple directories.
- VGAXFNT5.H-- and XFONT5.C-- added.
Return to contents.
0.193 - Fixed a lame long and dword bug (classic cut and paste bug).
Return to contents.
0.194 - Started work on OBJ file output.
- Logitech Cyberman support added (cool toy).
Return to contents.
0.195 - Tuned OBJ file output.
- Modified C-- Work Bench to include OBJ and EXE compiler
output file option (even though EXE is not yet supported by C--).
Return to contents.
0.196 - Gained greater mastery of OBJ file format. Thanks to
everyone who sent me info on OBJ and EXE file formats.
Every piece of information helped, you can never have too
many references!. More work may still have to be done.
Return to contents.
0.197 - far keyword added.
- added CLOCK.C-- written by Gerardo Maiorano.
Return to contents.
0.198 - OBJ output tested and tuned with Turbo Pascal and Microsoft
C. OBJ's now work fine, but still do not support global
data. Will work on this soon.
- Docs spiffed.
Return to contents.
0.198a - Cool FIRE.C-- added.
- OBJ options added to Work Bench (now version 0.123).
Return to contents.
0.198b - Same as 0.198a, but a new name was needed to fix upload
error to wuarchive.
Return to contents.
0.198c - Work Bench now remembers its video mode (now version 0.124).
Return to contents.
0.199 - The following 80486 additions to inline assembly added:
BSWAP, CMPXCHG, INVD, INVLPG, WBINVD and XADD.
- File search criteria in Work Bench changed from *.C-- to
*.?-- (now version 0.125).
- Inline ASM help menu option added to Work Bench (now
version 0.126).
Return to contents.
0.200 - STRCAT() and strcat() bugs found by Johan in STRING.H-- are
fixed.
- If the first value in a stack or register parameter expression
is a dword variable, long variable, 32 bit reg or fixed32
variable, the parameter expression will be assumed to be of
that type so long as no override was given. All other
expressions will be assumed to be word type.
Return to contents.
0.201 - $REP alias for $REPZ added.
Return to contents.
0.202 - long and dword >< bug fixed.
- Compiler recompiled WITHOUT 286 code option. :-)
Return to contents.
0.203 - lower case letters added to 5x5 font in VGAFONT.H-- and
VGAXFNT5.H--
- OBJ setting automatically sets jump to main() to none
Return to contents.
0.204 from 13.04.98
- Is Corrected error: instead of $MOVZX was getted MOVSX
- Is Added support ini file
- Some internal procedure has a more short code
- Is Corrected error in headline when making EXE file
- EXE file now works with command line (directive
parsecommandline, procedure PARAMCOUNT, PARAMSTR)
- Is Corrected error of installing the stub CTRLC
- Is Added operator GOTO and goto
- An Optimization of code a compiler
Return to contents.
0.205 from 4.05.98
- Is Corrected error in realization an operator GOTO and goto
- Is Added operator BREAK, break, CONTINUE, continue.
- Is Added cycle WHILE{}, while{}, FOR{}, for{}.
- Is Made auditing of output code and in some cases now
generated the more compact code.
- Is Corrected error: when compiling a command
$PUSH - was distorted value
.
- Is Added possibility to enter in stack double word. Format
command: $PUSH DWORD value or $PUSH LONG value.
- Is Added keyword asm.
Return to contents.
0.206 from 5.06.98
- A Marketed possibility syntax of type: CX = PROC( ); and
EBX += proc2( ) ;...
- Continue optimizition output code.
- Is Corrected error in cycles for and while: at length of cycle equal
127 bytes was generated wrong jmp.
- Is Added operator-switch 'switch'.
- Are Added assembler command: SHLD/SHRD, BSF/BSR,
BT/BTC/BTR/BTS, 16 commands a group SETxxx. Command a processor
Pentium: CPUID, RDMSR, RDTSC, RSM, WRMSR, CMPXCHG8B.
- Support built-in assembler a command MMX processor.
- Is Corrected error - when performing assembler command
was generated the invalid code.
- Is Removed nonexistent assembler command CBD. Added
command CWDE, generating same code.
- Is Added assembler command LOOPD.
Return to contents.
0.207 from 30.07.98
- Is Added possibility to use as index to array
given other variable.
- Is Continued optimization of output code.
- Are Added assembler command FPU.
- Is Removed, mortgaged earlier, variable fixed32s and fixed32u.
- Is Incorporated variable type float. But completely not yet marketed.
- Is Corrected allowed by me error: when use the comparison
two variable type long or dword was generated code of comparison
words.
Return to contents.
0.207a from 6.08.98
- Is Added directive a compiler ?else.
- Is Added missed assembler instruction FPU - fstp.
- Is Added assembler instruction FPU - fildq.
- Is Corrected error: at operations var <<= n and var >>= n (shift
variable with apropriation on n bits) was generated the invalid code.
- Is Corrected error: by comparing 32-bit variable with number -
type if(var32 > n) was generated the invalid code.
Return to contents.
0.208 from 6.09.98
- Marketed support of variable type float.
- In operator switch is added possibility to make contract several
empty case.
- Is Corrected justification 32-bit not initialized variable.
- Is Added possibility to use directives a compiler in
assembler blocks and at announcement local variable.
- A Register of instructions FPU (st(0), st(1)...) possible take as
small letters, so and greater.
- Is Corrected generation a prefix SS under indirect addressing.
Now, directive a compiler assumeDSSS cuts no figure.
Return to contents.
0.209 from 24.09.98
- Is Added new directive a compiler: ?setdinproc, on which
compiler immediately inserts in code caused earlier
dynamic procedure.
- Appeared possibility to compile files of drivers a device
DOS. Output files *.SYS.
- A Skim limit in 64 kb for files with source texts.
- Marketed support of logical integration of comparisons in
conditions IF and if, in cycles do{}while, while, WHILE, for, FOR.
For instance: if(a>5)||(a<9).
- An Extended possibilities of cycle for and FOR. Number of operators
initializing the cycle and operators of incrementation now
unlimited.
- Is Optimized output code when compiling the combinations: IF()BREAK,
IF()CONTINUE, if()break, if()continue.
- Is Corrected errors, allowed at realization of support float and
other small errors.
- Marketed support of assignment 16-bit variable and
registers an address of symbol line of type: SI="1234";
Return to contents.
0.210 from 15.10.98
- Is Corrected error, appeared when use assembler
instructions CMPXCHG m8,r8; XADD m8,r8; XCHG m8,r8.
- Is Corrected error, appeared in an effort compiling with option
command line /SYM.
- At transformation of variable type char (byte) in 16-bit
register aplying command MOVSX (MOVZX) that calls
reduction a length of code.
- Is Changed generation of code at shifts 8 bit of registers in
syntax of type BH<<=3.
- Is Added support missed earlier assembler instructions:
ARPL, LAR, LSL, LGDT, LIDT, LLDT, LMSW, LTR, SGDT, SIDT, SLDT,
SMSW, VERR, VERW.
- Is Entered directive a compiler ?warning and key of command line
/+w and /wf=.
- Is Added support 32-bit of addressing to memory.
- Is Corrected and extended possibilities of indexing an array
and variable.
- Is Added possibility to use inline in procedures of processing
interruptions.
Return to contents.
0.211 from 15.11.98
- In not-eax/AX/AL - an expressions for CPU 286 or above
now possible use the command of multiplying and produce the
shift on number.
- Is Entered option of optimization of numeric expressions.
Included by key command line /on or in c--.ini line on.
- Is Incorporated possibility to take into account temporary
expansion size variable after multiplying. Included by key of
command line /de or in c--.ini line de.
- Is Corrected work a command return. When use return in enda
procedure are not generated extra RET. Parentheses now
unnecessary.
- Is Corrected error in cycle for/FOR - was not compiled syntax
with not block body of cycle.
- Available syntax $PUSH becomed In assembler instruction PUSH #var.
- At multiplying 16 and 32-bit variable on number aplying
other, more short and quick(fast;rapid) variant of code.
- An Extended possibilities of assembler instruction IMUL.
Supported syntax: IMUL r16,imm16; IMUL r32,imm32; IMUL
r16,r/m16,imm16; IMUL r32,r/m32,imm32; IMUL r16,r/m16; IMUL r32,r/m32.
- Is Corrected error to generations of code when changing 16 or 32-bit
local with global variable.
- For not registered variable is added possibility to use
syntax a multiplying with apropriation (var *= var1+var2;) and fission
with apropriation (var /= var1+var2;).
Return to contents.
0.212 from 7.12.98
- Is Incorporated support a structure.
- Is Added operator sizeof.
- Now compiler can generate call stacked procedure and
in C-stiletto.
- Appeared possibility to add way of searching for of included files from
command line by key /ip= or line in ini-file
ip= or directive a compiler ?includepath "path".
- Is Corrected error, not allowed to use in syntax
some assembler instructions (int, loop ) small letter.
- Is Corrected errors, allowed in previous version.
Return to contents.
0.213 from 1.02.99
- Is Added possibility to indicate offsets on lower marks and
procedure.
- In built-in assembler is added support $ - current value
register IP.
- Is Incorporated support an macrocoin: inp(), inpotr(), inportb(),
inportd(), outp(), outport(), outportb(), outportd().
- Are Standed from compiler in KEYCODES.H-- procedure CLICKOFF() and
CLICKON(), in VIDEO.H-- procedure SETATIMASK() and SETPANREG().
- Is Incorporated alternative handler of command line, which
included/is disconnected by directive ?argc TRUE/FALSE or from
command line /+argc /-argc. Is it By default unplugged.
- Now compiler can use for compiling EMS memory.
- Is Entered directives a compiler ?usestartup, ?startusevar,
?initallvar.
- For directives ?ifdef ?ifndef is reserved constant codesize and
speed, which are fixed in accordance with directives
?codesize/?speed or commands /size or /speed or /os or /oc.
- Now directive ?ifdef does not operate on constant declared
FALSE, but directive ?ifndef operates on constant declared
FALSE.
- Is Corrected error of transformation 16-bit of symbols of lines and
several errors to generations of code when use built-in
assembler.
Return to contents.
0.214 from 21.02.99
- For assembler instructions PUSH and POP is added possibility
assign several operands over coma.
- Is Added support a procedure ATEXIT. Included by directive
?atexit.
- Is Added support of external library dynamic procedure and
nearly all internal procedure are carried in it.
- Are Carried in library dynamic procedure and many procedure
from included files. Whole for present-day day a library
contains 431 procedures.
- Is Corrected errors, allowed in previous version.
Return to contents.
0.215 from 14.03.99
- In two is times increased a stack a compiler.
- Is Removed support an key of command line /MACRO /PROC /REGPROC.
- For checking the conditions are added two special conditional
expressions MINUSFLAG and PLUSFLAG, which make check a bit
sign in register of flags.
- Is Incorporated an announcement a procedure. It is not obligatory, but
desirable.
- To assignments variable is added possibility to change type on
period of calculation of their values.
Return to contents.
0.216 from 12.04.99
- Appeared possibility to compile code for stretchers
ROM-BIOS. Included the key of command line /ROM.
- Is Entered support output format file *.exe with model
memory tiny. Actuated the key of command line /TEXE.
- Is Beginned introducing the pointers.
- To assignments a register EAX/AX/AL is added possibility to make
their sign.
- Is Corrected errors discovered in previous version.
Return to contents.
0.217 from 24.05.99
- Is Finally finished realization 32-bit of code. Now on C--
possible create 32-bit of program both under DOS, and under
Windows (there is possibility to use call API-procedure).
- For directives ?ifdef/?ifndef is added verifiability
compilable type CPU. Example: ?ifdef cpu >= 3
- Is Added support syntax: SegReg >< SegReg; - an exchange
contents of segment registers.
- Is Incorporated optimization of combinations of operators if()goto, IF()GOTO,
IF()goto.
- Is Incorporated skiping operator else/ELSE if
previous block operator if/IF ends
operators: break/BREAK, conntinue/CONTINUE, goto/GOTO, return.
- In operator switch is incorporated skiped last break/BREAK.
- Is Changed generation of code in operations of checking for zero of type
IF(variable) that allows to get faster code, but in
some events and more compact.
- Is Corrected errors discovered in previous version.
Return to contents.
0.218 from 14.06.99
- Is Added possibility to initialize global structure under
announcement by addresses uninitialized variable and addresses
not yet declared variable and marks.
- Is Little subcorrected format obj-files.
- For com-files is entered directive a compiler ?startuptomain,
on which startup-code is inserted in begin procedure main().
- Is Added key of command line /w32c, allowing get
console programs Windows.
- Is Entered directive a compiler ?undef.
- A Code of initial initialization is standed from compiler in file
startup.h-- .
- For assembler command DB/DW/DD is added prefix of repetitions
dup.
- Is Incorporated modifier cdecl, allowing declare stacked
procedure by procedures C-stiletto. Executed this role a prefix
name "c_" is cancelled.
- Is Corrected error, not allowed when compiling 32-bit
programs are under DOS to use uninitialized variable.
Return to contents.
0.219 from 06.07.99
- Is Processed generation obj-files. Appeared possibility under
generations obj to use external (extern) variable,
procedure and structure.
- For directive ?align is added possibility to indicate number on
multiple which will is made justification data.
- Is Entered directive ?aligncode debarking leveling the code on
multiple specified as parameter count. Filling
lead the number 0x90 (the code of instruction NOP).
- Is Removed support of option of command line /+map and accordingly
remoted generation map-file.
- Is Corrected error not allowed to address to dynamic
procedures earlier their determinations.
- Is Added possibility to use local variable in
procedures of processing the interruptions.
- Is Added possibility to address to procedures of processing
interruptions as to usual procedures.
- Is Added possibility to address to procedures declared as
distant (far).
- Is Added modifier a procedure: pascal, stdcall, fastcall. That
the most, skim limit on syntax of names a procedure in upper
or lower cases.
Return to contents.
0.220 from 23.08.99
- As names local variable becomed possible
use the name global variable, procedure and constant.
- At announcement tag structure, as names of elements
structure, becomed possible to use name global and
local variable, procedure and constant. Incorporateded check
repeated name an element tag.
- Is Incorporated directive ?dosstring, when installing which in TRUE
end of strings will be a symbol of dollar '$'.
- Is Added key of command line /sobj allowing get slave
obj-modules with table of displacement of all objects.
- Is Incorporated support an operator of integration - union.
- At multiplying on number and optimization on velocity is incorporated searching for
possibilities of change the multiplying on shift and adding.
- For compiling the programs under windows is added directives:
- ?imagebase value - assign address Image Base different from
0x400000.
- ?fixuptable TRUE/FALSE - allow/forbid creation FixUp
tables (is by default forbided).
- ?fastcallapi FALSE/TRUE - forbid/allow generation
quick call API-procedure (on
default is rarefied).
- Is Generated console version a compiler.
Return to contents.
0.221 from 10.09.99
- For register a procedure now possible to indicate, over what
register will be sended the parameter.
- Is Added directive ?compilerversion pointing minimum
version a compiler required for compiling the program.
- Is Corrected errors: in realization of directive ?atexit, in
shaping the tables fix_up for obj-files, in announcement
local variable.
Return to contents.
0.222 from 19.09.99
- When programming a possibility appeared under windows to make
export a procedure and get the files of libraries - DLL.
- Is Added support of alternative extension of source files -
*.CMM.
- Is Little changed syntax of declaration API-procedure.
- Is Corrected errors: in headline exe-file under Windows; in
announcement a structure; in generator 32-bit of code; in multiplying
at generations of files under windows; in operator sizeof.
Return to contents.
0.223 from 05.10.99
- Is Added support embedded structure.
- 16-bit of number possible now to write and in stiletto an assembler.
- For announcement of directives a compiler, now, except symbol '?'
possible use the symbol '#'.
- Is Corrected errors: in ligament IF-GOTO; generator 32-bit of code.
Return to contents.
0.224 from 28.10.99
- Is Added key of command line /AP debarking justification
procedure to border a paragraph, but when compiling only
programs for Windows.
- For console version a compiler when making 32-bit
programs skim limit size 64.
- When compiling the programs under Windows all tables fit in
one section.
- Is Added directives a compiler: #pragma, #winmonoblock.
- Are Added predestined by macros __DATE__ and __TIME__.
- For operators BREAK, break, CONTINUE, continue possible to indicate
number of cycles, over which will is transferred control.
- Is Corrected errors: in diagnostics of excess 64 size; under
issue of negative number as parameter stacked
procedure in 32-bit mode; in console version when compiling
16-bit of programs if it was used uninitialized
variable with negative index of type var[-1], was distorted
following code; in shaping fixup tables pe-file; in
diagnostics of late announcement a procedure and others
Return to contents.
0.225 from 09.12.99
- Is Changed algorithm of searching for of directives and reserved words on
more compact and faster.
- In generator 32-bit of code are corrected errors and in some
events aplying more compact forms instructions.
Return to contents.
0.226 from 10.01.00
- In operations of comparison is incorporated support of symbol '!' -
inverting result of operation of comparison.
- Is Corrected errors: protruded false report on error in
expressions of type intvar = #ucnownlabel + number; occurred
malfunction parser at analysis of expressions of type: $ push
8, AX, var; generated wrong month when use macrosubstitutions of
expression __DATE__.
Return to contents.
0.227 from 09.02.00
- Appeared possibility to initialize local variable
under their announcement.
- A Compiler checks number and type of parameters sended
stacked procedure if it was is beforehand declared.
- Are Incorporated new operator LOOPNZ and loopnz.
- Is Corrected errors, appeared when use variables
type float and when use in cycles for/FOR operator not
comprised in block.
Return to contents.
0.228 from 08.08.00
- Is Added possibility over define to define material
numbers of type float.
- Is Incorporated support internal procedure-macrocoin: atan, atan2,
cos, exp, fabs, log, log10, sin, sqrt, tan.
- A Code, generated when use the variable type float,
becomed more compact and more quick.
- Is Added new mode of optimization - a merging alike
string a constant. Include with command line /ost or
directive #pragma option ost.
- Is Added key of command line /d=idname, allowing with
command line to define the identifier idname equal TRUE.
- Is Corrected errors: when use extern procedure;
initializing the local pointers; generator 32-bit of code.
Return to contents.
0.229 from 06.04.00
- Under unconditional crossing on earlier defined label or
procedure a compiler automatically defines type a crossing
(short or near) regardless of given type.
- For numeric values possible to use operation NOT -
symbol '!'. For instance: AX =! 0x3f;
- For expressions DSWORD[var] DSDWORD[var]... removeded scaling
on type of variable. For expressions var[idxvar] possible disconnect
scaling having placed at the beginning initially idxvar symbol '*'.
- At calculation in not-AX/EAX register is rarefied use shift
on CL DX=1<Return to contents.
0.230 from 13.06.00
- An Improved diagnostics and processing the errors.
- Changed the algorithm of boot c--.ini file.
- Becomed possible to use assembler instructions without
cut-in them in asm-blocks and without symbol '$'. This mode
included the command /ia.
- A List supported by compiler of assembler instructions
possible get, having taked in command line: >C-- /lai.
- In console version a compiler are increased in two times
maximum size an identifier and string of variable.
- For directive include becomed possible to use name of files
in angular brackets <>. The algorithm of searching for is changed For such files.
- Changed syntax of parameters of command line.
- Now compiler under repeated boot the included file
misses its. Disconnect this possible with command line
command /cri-.
- At announcement a structure with known tag possible to
lower keyword "struct".
Return to contents.
0.231 from 16.07.00
- For programs under Windows is entered support built-in procedure
'ATEXIT', 'ABORT', 'EXIT'.
- Is Increased velocity of compiling the programs under Windows.
- Is Incorporated support of directive #pragma startup.
- A Filling the started place chosen under initialized
variable to lead code, determined by directive '#aligner',
by default 0.
- For global initialized arrays possible not to indicate
number of elements.
- An Extended range of usage of symbol '$' and operator 'sizeof.
- Is Restored functioning the directive '#startuptomain.
- Is Corrected errors: when work with variable from embedded
structure; in 32-bit mode for parameters of type word
corrected organization of stack; and many other small errors.
- Is Added: for instruction '$push DWORD/LONG number' modifier
type of number possible to write the small letters 'dword/long;
possibility to get the address of pointer; for instructions 'DD and 'DW
indicate the address not initialized variable; for
instructions 'push' to take the address not yet known identifier.
Return to contents.
0.232 from 31.08.2000
- Marketed some recommendations on improvement of speed
generated code for processor Pentium and better.
- Have Occurred the changes to parameters of command line a compiler:
- is added big group of parameters repeating functions
directives not having analogues in parameters.
- beside parameters having two syntax variants is removed more
long variant.
- is added new parameter of command line - /MIF= ,
locatinging name of compilable file.
- is added new parameter of command line - /AC , debarking
justification begin cycles for/FOR, do-while, while/WHILE,
loop/loopnz/LOOPNZ.
- A File of initial initialization *.ini can have any name.
- A Reports on errors are now removed parallel and in file with
name a main of module and extension *.err.
- A File with warning now is only if
these warning there is.
- In operator-switch 'switch' possible to use
'continue' if it inheres in some operator-cycle.
- In warning, about possibility of use more short
forms of operators, is now indicated the correct number of line.
- An Instruction 'push', beside which operand a number or address
identifier, in 16 bit mode by default inserts in
stack 16 bit numbers, but in 32 bit - 32 bit.
- Is Added:
- make goto on api-procedure.
- if goto is maked on procedure, that possible sends
parameter.
- Is Corrected errors:
- in transmission of parameters to procedures in 32-bit mode.
- in work with pointers.
- in generator tables of moving for windows.
- in announcement embedded structure.
- when referencing to variable from 32-bit and 16-bit mode
simultaneously.
Return to contents.
0.233 from 11.09.2000
- Is Corrected error in header DOS32 programs.
- Is Incorporated checking for registers when change MOVZX reg32:16,mem16:8
on XOR reg32:16,reg32:16 + MOV reg16:8,mem16:8.
- Is Continued optimization of output code on velocity and on size.
Return to contents.
0.234 from 01.10.2000
- At declaration API procedure are supported name of type
ProcName@8.
- Adaded option command line /ind=FILENAME set on
filename DLL, from which will is scanned list exported
names.
- Is Added option of command line /ws=FILENAME pointing name
DOS stub file when compiling the programs for windows.
- Is Little changed function a key of command line /ns. Now
this key forbids the connection stub for windows programs.
- In programs for gui windows not initialized data
automatically fit in separate section. Use this
section when compiling the console programs or DLL possible with
help of option of command line /wbss.
- In lines with directive #pragma now possible to make the commentary.
- A Way to files in operators FROM, EXTRACT, sizeof now to is necessary
write with one '\' i.e. "c:\path\file".
- Is Restored functioning to options /ia.
- Is Corrected errors:
- in ligament of operators IF - goto;
- when use the offsets of identifiers under windows;
- when initializing a structure by strings;
- Is Added:
- take the address not yet declared structure;
Return to contents.
0.235 from 11.11.2000
- In programs under DOS32 is changed way a transmission stub-by size
memory required for functioning the program, and is entered support
built-in compact stub-but, using dpmi service.
- An Improved code, getted when use the variable type float
in 32-bit mode.
- In files of dynamic libraries (DLL) possible use
procedure 'main'.
- Local variable now possible to declare and at the beginning initially block
procedure.
- Is Made generation obj-files when compiling the programs under DOS32.
- Is Incorporated keywords 'short', 'signed' and 'unsigned'.
- For numeric constant is made support of suffixes 'L', 'U and 'F'.
- A Generation of debugging information is included by key command
lines /dbg.
- Is Corrected errors:
- in structure output PE-file;
- in operations of comparison with variable type float;
- a false message, about unexpected end of file, at optimization numeric expressions; - in expressions of
comparison when use the symbol an inversion '!' was it
sometimes generated wrong JMP;
- in parser, when stripping the number, sometimes bringed about
recirculation a compiler;
- when referencing to local array over variable-index.
- in announcement of parameters a procedure, when type of
variable defined over define;
- Is Added:
- for instruction DB/DW/DD, PUSH to use negative numbers;
Return to contents.
0.236 from 13.02.2001
- A Compiler supports all assembler instructions a processor
Intel Pentium II.
- An Extended possibilities in operations of comparison.
- Is Entered option of creation assembler listings.
- Is Incorporated possibility to map tag structure on block a
memory.
- Is Incorporated support dynamic variable and structure.
- For work with macrothemselves is incorporated support inline-procedure and
directive #inline.
- Possible forbid the conclusion of certained types of warning.
- A Compiler gives warning about possible not used
procedures, global variable and structures.
- A Call WIN API procedure now possible and on ordinal.
- Is Incorporated support predestined macrocoin __FILE__ and __LINE__.
The identifier are defined Depending on mode of compiling:
__CONSOLE__, __DLL__, __FLAT__, __MSDOS__, __WIN32__, __TINY__,
__SMALL__.
- A Skim limits on dynamic procedure.
- Is Incorporated support binary number in stiletto an assembler.
- Is Corrected errors:
- in assembler instructions mov variable,number was generated
invalid code;
- in header PE-file was indicated invalid size tables
moving;
- when using an operator sizeof, sometimes appeared the errors;
- a size of parameters of stack a last a procedure were sended
first procedure of included file;
- when referencing in 32-bit mode to variable declared in
16-bit mode and when referencing in 16-bit mode to
variable declared in 32-bit mode was generated
wrong address;
- when referencing to 16-bit variable in 32-bit mode, address
which is defined by address liing below identifier,
distorted the address;
- when use initialized local variable
sometimes protruded the false report on error;
Return to contents.
0.237 from 5.11.2001
- In body a procedure possible to insert any dynamic procedure.
- A Compiler supports all assembler instructions a processor
Intel Pentium III.
- In startup is incorporated clear post-area data. Included by option
command line -CPA.
- Is Incorporated automatic choice size registers.
- In startup is incorporated conservation an address variable encirclements.
Actuated the option of command line -ENV.
- For case/CASE is incorporated support of ranges of values.
- For procedure possible to indicate the flag a return.
- Is Entered support LE format for DOS32 exe-files.
- Possible get assembler listings of specifieded fragments
programs.
- An Extended possibilities not AX/EAX registers.
- A Compiler produces warning about possible not used
local and parametric variable.
- For options allowing justification a procedure and cycles possible
assign the value of justification.
- A Name MMX, TR, DR, CR - a registers now are not
reserved.
- In assembler instructions of name of all registers possible to write
small and greater letters.
- Is Executed optimization an operator 'switch'. Added
reserveded words: 'SWITCH' and 'CASE'.
- Is Executed optimization of code at operations of comparison.
In comparisons are possible to use assembler
instruction 'test'.
Return to contents.
0.238 from 28.03.2002
- Is Added compiling and link resources.
- Is Allowed use the marks outside of procedure.
- In structures possible to declare the procedure.
- Is Made support of inheritance of classes.
- An Extended possibilities of pointers.
- In stacked procedure possible to send the parameter over register.
- Is Incorporated support of bounded assignment.
- Is Incorporated operation of permit visibility '::'.
- Is Added reserved word 'RETURN', 'static'.
- A Compiler, under included optimization on size of code and under
use dynamic procedure as macrocoin can
change the operator return/RETURN on goto/GOTO.
- Is Executed optimization of ligament IF()RETURN, if()return and ligaments
else with operators an issue of control (goto, break, BREAK...).
- Are Gived warning about possible not feasible code.
- Is Incorporated support bit flap a structure.
Return to contents.
0.239 from 14.12.2002
- Is Entered support output format file for MeOS.
- Are Entered additional options of optimization control.
- Is Entered option of permit of justification in structures.
- An Operator 'switch/SWITCH' can be marketed 3 different ways.
- An Operator 'while/WHILE now works little quicker.
- An Extended possibilities of operators of comparison ('if', 'while',
'for'...).
- For variable is incorporated possibility, indicate segment excellent
from segment by default.
Return to contents.
Сайт создан в системе uCoz
|