Register | Login
Forum Index > News > Compiler Latest Releases
Author Message
Pages: 1 2 3 4 5 6
Admin
Site Admin

avatar

(send private message)

Posts: 933
Topics: 55

Location:
OverHertz Studio
[82] - posted: 2011-10-23 15:30:21
A new release, fixing several bugs and added a few new features.

Code:
2011.10.23: Ziron Compiler 1.1.23.0
  -possible to do high level shr via reg >> number; and shl via reg << number; e.g eax << 33; (Request by Emil_halim)
  -it is possible now to have unions inside of blocks via union keyword - see documentation.
  -fixed bug: byte variables can no longer be pushed onto the stack. (an alternative will be added at a later date)
  -optimised block creation, it is also now possible to declare a new block type inside a block - see documentation.
  -fixed assigning const string to local variable.
  -fixed access violation when setting register as nothing when it does not reference any data type.
  -fixed ret optimiser, not optimising 686 correctly.
  -improved fpush, it will now accept integers and floating point.
    note: it will store the value as an extended 80bit type (10 bytes) regardless of the number/size.
  -fixed a mistake in fpush - storing instead of loading.


fpush is a high level opcode that allows pushing int or floats onto the FPU stack, it is also possible to fpush a constant value. e.g fpush 5432.34, note that for performance if you push an int such as fpush 23, it will be stored as an 80 bit float value (this allows quicker loading onto the fpu stack)

unions are now possible, allowing for different variable data to be accessed inside a block.

Code:
block ZMyBlock {
  DWord a;
  DWord b;
  
  union {
    word myword;
    dword mydword;
  }
}


It should be noted that the block will be stored in memory as the maximum size variables, so in this case the block size will be 12 bytes. Have a read up on unions for further information.

It is also now possible to do shifts left and right using higher level code (requested by Emil_halim)

e.g.
Code:
eax >> 23;


would be equivalent to

Code:
shr eax, 23


let me know of any bugs and further requests.

Download Ziron
Get free hosting for Ziron related fan-sites and Ziron projects, contact me in private message.
Admin
Site Admin

avatar

(send private message)

Posts: 933
Topics: 55

Location:
OverHertz Studio
[213] - posted: 2011-10-30 16:34:24
Finally the new release is offically out, many new fixes and features, including the awaited plugin system. For now the plugin system is basic, but with time and requests it will grow to be very useful.

Code:
2011.10.30: Ziron Compiler 1.1.24.9
  -added ziron plugin development framework file zirplug/framework.zir.
  -DLL entry event consts have been moved from ziron32.zir to system.zir
  -added sample plugin Emit plugin with zir-source.
    emit plugin allows the use of emit type out - e.g. emit byte 0x90;
  -added new functions to plugin interface. (see plugin_interface.rtf)
  -implemented a basic case switching syntax.
  -fixed repeat until and while syntax error.
  -implemented basic plugin system - see functionality in plugin_interface.rtf
  -fixed assigning to function pointer.
  -added experimental feature - calling registers as functions. (request by Emil_halim)
    e.g. eax(1,2,3,4) as cdecl; ecx('test');
    note: This feature is very experimental and may have undesired results.
  -possible to declare multiple variables under a single data type in function declaration. (request by Emil_halim)
    e.g. function myFunc(DWord a,b,c) { ...
  -fixed access violation when compiling class related function calls. (report by Emil_halim - Thanks)


Download Ziron
Get free hosting for Ziron related fan-sites and Ziron projects, contact me in private message.
Admin
Site Admin

avatar

(send private message)

Posts: 933
Topics: 55

Location:
OverHertz Studio
[281] - posted: 2011-11-03 17:11:08
Time for another release, bringing some new fixes and additions

Code:
2011.11.03: Ziron Compiler 1.1.25.3
  -added new entry directive.named plugins - see documentation for further information using plugins directive.
  -fixed a bug related to class "this".
  -developed a new calling method codenamed "zircall".
  -added borland style fastcall calling method.
  -added library function strTrim to include zirutils.zir
  -fixed library functions strLower and strHigher not checking a and z characters.
  -fixed pushing negative numbers.
  -added plugin framework function Ziron_Execute and Ziron_GetStringValue - see plugin_interface.rtf
  -fixed an 11 second debug sleep left in with the continue keyword.
  -break can now accept a 0-indexed number parameter, allow nested breaks. break 0; is equivalent to break;


a quick note on using the plugins directive..

plugins by default will all be loaded, to disable them, add the directive before the program entry like so:

Code:
plugins off;

//----------------------------------------------

program WIN32GUI 'myapp';


note that plugins on and off can not be used if you decide to manually load plugins like so:

Code:
plugins emit;
plugins off; //not valid

//----------------------------------------------

program WIN32GUI 'myapp';


or

Code:
plugins off; //valid but the next manual load will disable loading of all other plugins
plugins emit; //only emit plugin will be loaded (for now versioning is not supported)

//----------------------------------------------

program WIN32GUI 'myapp';


Download Ziron
Get free hosting for Ziron related fan-sites and Ziron projects, contact me in private message.
Admin
Site Admin

avatar

(send private message)

Posts: 933
Topics: 55

Location:
OverHertz Studio
[364] - posted: 2011-11-05 17:16:06
a new release, fixing many bugs and added some extra features, thanks to Emil for alot of bug reports and beta testing

Code:
2011.11.05: Ziron Compiler 1.1.26.1
  -eax += ecx and eax -= ecx are now valid :)
  -added new zirToken types zirExclamation and zirDollarSym.
  -a few fixes to smm32.zir
  -fixed function call moving to reg, variables, local variables, parameters, consts and procedure addresses.
  -added pf function "UnregisterKeyword".
  -fixed a bug that was not removing out of scope identifiers if there was only 1 registered.
  -added $ symbol if the following is not a identifier - else it becomes a macrovariable.
  -moved all strFunctions from zirutils to strings.zir
  -fixed a bug with pf-function Ziron_GetStringValue
  -patched a bug related to plugin framework function "FileEntry".
  -fixed a bug with large local address parameters not having correct mov address.
  -fixed a bug with local parameters on the stack.
  -fixed a problem with local variable address @var - including a fix to lea reg, [reg+disp]
  -added plugin framework function Ziron_GetFileName
  -added directive #callconv <calling convension> - which will set the default convension until the next #callconv (if any)
  -fixed an optimise bug with nested zircall functions.


check downloads page.

Download Ziron
Get free hosting for Ziron related fan-sites and Ziron projects, contact me in private message.
Admin
Site Admin

avatar

(send private message)

Posts: 933
Topics: 55

Location:
OverHertz Studio
[757] - posted: 2011-11-20 15:27:57
Time for a new release, fixing many things and adding new supports.

Code:
2011.11.20: Ziron Compiler 1.1.27.6
  -rewritten opcode LEA handler.
  -optimised internal and handler and upgraded to support and reg, reg.
  -it is now possible to declare multiple variables in a single line.
    e.g. dword i = 5, v, c;
  -fixed bug with imul and inc inside if statements causing syntax error.
  -fixed a horrible bug with new macro (Thanks to Molotov for bringing to my attention)
  -added internal macro $echo - allows output message to compiler window.
  -added new internal macro "defined" allows for $if defined(mydef) ....
    note this macro will also accept a const string.
  -fixed a bug with imul.
  -fixed problem with cmp and high offset local variables.
  -implemented opcode imul (reg, value)
  -Rewritten opcode MOV handler - base expressions now are fully supported.
  -fixed inc and dec of local variables.
  -added zir token "?" as zirQuestionSym.
  -patched a bug relating to windows 7 and pf function FileEntry. (Thanks to Emil_halim for bringing this to my attention)
  -patched internal bug relating to pf function "FileEntry".
  -fixed ebp was actually epb (typo)
  -added 2 new pf functions - Ziron_RegisterUFunction and Ziron_CallUFunc.
  -added 4 new symbols to zirPlug framework, & | && and || - see framework.zir.
  -some fixes to ch.zir (global exception handler)
  -added 2 new pf functions, Ziron_GetID and Ziron_GetVarTypeString.
  -fix to local declaration direct assignment.
  -single line registers following by a semicolon are ignored.
    implemented to allow macro functions to return a register and still be used like a procedure.
  -fixed several fpu opcodes such as fisub not accepting dword variable parameters.
  -assembler will no longer pause even if there is an error if -nopause switch is enabled (useful for editors)
  -fixed sar and sal opcodes.
  -[expressions] will be shown now correctly as [reg+reg+5] etc.
  -plugins will not longer have events for keywords executed in pf function Ziron_Execute.
  -console shows how much time each plugin has taken to complete.
  -implemented pf function Ziron_ExtractLine.
  -internal macro sizeof will now return the length of a const variable string.
  -Plugin calls to PeekNextToken, GetNextToken and ExpectNextToken will not cause keyword events for itself or other plugins.
  -removed direct casting of macro variables until more work is put into the macro system.
  -a log is now written by default to the same directory as the assembler executable, along with a -nolog switch to disable.
  -fixed opcode bswap
  -zircall and fastcall auto mov's accept @variable addresses.
  -fixed a bug with Ziron_IsNextLineBreak.
  -improved ch.zir, will now output exceptions in WIN32GUI mode with a messagebox, and WIN32CUI with console write.
  -program type now auto defines with APPTYPE_ prefix. e.g. APPTYPE_WIN32CUI
  -added pf function Ziron_PeekNextToken.


check the downloads page smile

Download Ziron
Get free hosting for Ziron related fan-sites and Ziron projects, contact me in private message.
Admin
Site Admin

avatar

(send private message)

Posts: 933
Topics: 55

Location:
OverHertz Studio
[906] - posted: 2011-11-29 21:37:33
new release with fixes and couple new rewritten handlers

Code:
2011.11.29: Ziron Compiler 1.1.28.1
  -new ADD and SUB opcode handlers.
  -fixed a bug with pushing @globalvars
  -added new pf function ProgramEntry.
  -fixed a major flaw - overflowing null bytes when relocations were aligned on 32 byte boundary.
  -fixed folding of string constant and variable string constant.
  -fixed syntax error bug with repeat until.
  -fix to mov reg, [esp].
  -fix to push [esp] - push handler will be rewritten in later release.
  -fixed bug with sub reg, value
  -fixed a bug regarding macro assignments.
  -it is now possible to assign int64 number variables.
    e.g. int64 myint = 9223372036854775801;
  -added new reserved data type "int64"
  -fixed bug with macro returns sometimes causing syntax error. (Report by Emil)
  -fixed multiple variable declarations for locals (inside functions) - Thanks Emil for report.
  -fixed assigning function to local variable. (Thanks Molotov for report)


let me know which opcodes are most important to you's so i know which handlers i need to work on next smile

Download Ziron
Get free hosting for Ziron related fan-sites and Ziron projects, contact me in private message.
Admin
Site Admin

avatar

(send private message)

Posts: 933
Topics: 55

Location:
OverHertz Studio
[914] - posted: 2011-11-30 11:42:28
Please do not download version 1.1.28.1 instead get the latest beta as a temporary replacement.

CLICK HERE

Download Ziron
Get free hosting for Ziron related fan-sites and Ziron projects, contact me in private message.
Admin
Site Admin

avatar

(send private message)

Posts: 933
Topics: 55

Location:
OverHertz Studio
[997] - posted: 2011-12-20 18:54:49
thought i would get another official release out since it has been a while, got little time for this month, but i will try to get more updates in as soon as possible smile

else this release fixes many things

Code:
2011.12.20: Ziron Compiler 1.1.29.3
  -update - referencing a local variable address via ptr or @ will no longer destroy eax contents.
  -fixed bug with assembling add dword[reg], value.
  -fixed bug with local reg assignment.
  -imported functions can now accept variable uncounted arguments using [] after identifier.
  -fixed a bug with mov baseexpr, reg
  -possible to use reg += ... and reg -= ... with global vars, local vars and paremters.
  -possible to get address of assumed register offsets using @ or ptr.
  -if statements will now accept a function as the first parameter.
  -possible now to use vars and parameters in for loops.
  -fixed macro buffers were being passed to pf function FileEntry.
  -fixed a bug with data types parenthesized always be detected as a typecast.
  -fixed compare size error with block to integer comparison.
  -fixed problem with fixups not correctly getting the correct data address.
  -fixed mov [reg-offset], (8bit reg) (Thanks to Emil for testing code)
  -new PUSH opcode handler.
  -fixed a problem with local variables above 127 bytes but below 255. (Thanks Molotov for crash report)
  -fixed base expressions that do not have a declared type will be default as 4 when no size can be determined.
  -fixed and optimised all high level mov operations.
  -fixed (add, sub, mov) reg, [ebp+offset]


1 notable change is using ptr or @ for local variables destroyed eax contents but no longer will, and fixed quite a few other important things smile

check the download page (or at my sig) for download :D

Download Ziron
Get free hosting for Ziron related fan-sites and Ziron projects, contact me in private message.
Pages: 1 2 3 4 5 6
create new reply


Quick reply:

Message:



Currently Active Users:
There are currently 10 user(s) online. 0 member(s) and 10 guest(s)
Most users ever online was 1046, January 28, 2022, 2:08 pm.


Statistics:
Threads: 225 | Posts: 1848 | Members: 51 | Active Members: 51
Welcome to our newest member, yecate
const Copyright = '2011-2024 © OverHertz Ltd. All rights reserved.';
Web development by OverHertz Ltd