flat assembler
Message board for the users of flat assembler.
![]() Goto page Previous 1, 2, 3, 4 Next |
Author |
|
Chewy509 15 Aug 2005, 02:57
Version 0.0.13 has been uploaded.
Full support for structures has been added, and is usable. Fixed: A few bugs Added: call, jmp and ret keywords. (now allows for indirect jumps/calls). Structures. ![]() 3rd example showing how to make objects for Linux, to be linked by gcc. man page for *nix systems. Todo: Improve code generation for structure addresses. Highlights: Compliles a 1million line source code file in about 6.1 secs on my Opteron 242 (1.6GHz) box running Linux (AMD64) w/1GB RAM. PS. Ignore the warnings about structures in the manual. Structure support is available. http://chewy509.atspace.com/b0.html |
|||
![]() |
|
Chewy509 18 Oct 2005, 02:16
Hi Guys,
v0.0.14 has been uploaded and is available in both Linux and Windows versions. Fixes/Additions: Improved address generation code for variables. Fixed bug in structure declarations. Updated and corrected User Manual. Added section in Makefile to generate PDF manual from HTML source, (requires html2ps and ghostscript). Improved handled of uninitialised data and generation of bss. Added in and out keywords. Corrected bug, when handling included files. Fixed up source line calculations when aborting on error. This release took a little longer, due to having a personal life. Corrected bug when using multiply libraries embedded in each other. Reorganised source tree and Makefile (*nix systems). Added ability to use zero-offset structures. Todo or upcoming in the next release GTK linux example. Windows x64 support and example. Improved stdlib. ps. http://chewy509.atspace.com/b0.html |
|||
![]() |
|
Chewy509 24 Oct 2005, 23:10
v0.0.15 has been uploaded.
This release now supports PE64 format (for Windows x64), and a simple 'Hello World' example is also available. Also includes a 5th Linux Example (le5.b0) on linking to and using glibc. Todo and upcoming in v0.0.16 - - Completed Linux Syscall wrapper, and glibc wrapper of x86_64 systems. - Include additional support for PE format, including Resources. (TBC) |
|||
![]() |
|
Tommy 25 Oct 2005, 17:46
great
![]() |
|||
![]() |
|
Chewy509 26 Oct 2005, 03:35
I'm currently working on v0.0.16.
I have so far, expanded the win64 demo app to use full unicode (or MS's bastardised version of it), and have completed the first GTK linux application. (A simple calendar). v0.0.16 will focus on more complete documentation and additional libraries to help developers. |
|||
![]() |
|
okasvi 29 Dec 2005, 12:10
are you really sure that you dont want to add support for IA-32?
![]() _________________ When We Ride On Our Enemies support reverse smileys |: |
|||
![]() |
|
Chewy509 03 Jan 2006, 02:43
okasvi wrote: are you really sure that you dont want to add support for IA-32? The simple answer is "maybe". Once I finish v0.0.16 (which just needs some more tweaks and additions to the linux library), I'm planning on starting to rewrite the compiler in b0 itself. I may, if bored enough, may do a one-time release of a IA32 version. However it will be totally unsupported, and will not come with any supporting libraries... I know, the last release has been a while, but I have been busy with work and family life... But upcoming in future versions: v0.0.16 - Final alpha version. Completed language specification, and mostly complete linux kernel syscall wrapper library. v0.0.16-32 - THIS IS STILL TO BE CONFIRMED - one off IA32 release (no supporting libraries). v0.1.0 - Rewrite of b0 compiler in b0. (64bit only). The final word is, if I do make a IA32 version, it will be a one-off release, with NO support. The aim of b0 was a machine-dependant 64bit language similar to assembler. However if someone wants to write there own IA32 version or modify my compiler, they are free to do so. I will even package it with the main distribution as well! Or the other option is, buy an Athlon64 and install either Linux (AMD64) or WinXP x64! |
|||
![]() |
|
Chewy509 08 Jan 2006, 22:53
After some delay, I'm releasing v0.0.16.
Changes include: GTK v1.2 and GTK v2.0 examples provided for Linux (same app, just using different GTK versions). Partial Linux Syscall wrapper library. (Linux only). Added ability to encode strings as m8. These are encoded as UTF-8 in the asm output file. Added a CGI example. (Yes, a CGI for web applications! see /examples/cgi1.b0) Fixed bug where on a comment on the last line would cause the compiler into an endless loop. Couple of other bugfixes, regarding end-of-line and end-of-file markers. Fixed bug when generating UTF8 strings. Added ability to jump based on the following CPU Flags: Parity, Carry, Overflow, Sign and Zero flags. Included b0.xml style sheet for jEdit users. (Copy into the modes directory and add the item to the catalogue file). PS. http://chewy509.atspace.com/b0.html |
|||
![]() |
|
Chewy509 15 Jan 2006, 23:10
Changes:
Merged IA32 and AMD64 builds into single source file. Only requires a define to be added to build the IA32 version, eg -Di386 at the CLI. Modified the while to produce slightly better code. Modified output in regards to error strings. Modified demo le5.b0 to also output argc and argv variables. Added COMPILER_OPTION keyword to let the user set the output format and string type from within the source file. Updated *nix man file. Added ability to change the string format (UTF8/UTF16) on the fly within the source code file, by using the COMPILER_OPTION keyword. Added additional buffer overflow checks on all structures and arrays... PS. http://chewy509.atspace.com/b0.html |
|||
![]() |
|
Steve 27 Jan 2006, 20:35
Wow, I must say this is a really nice project. I looked at the syntax, seems very clean. Great work.
![]() - Steve |
|||
![]() |
|
Chewy509 30 Jan 2006, 01:12
Steve wrote: Wow, I must say this is a really nice project. I looked at the syntax, seems very clean. Great work. Thanks Steve, As an update, I'm currently working on rewriting the whole compiler in b0, (I'm about 10% done), so there won't be too much of an update for a while. Initially only a 64bit version will be available, but once released will look at producing a 32bit version (again written in b0, but with the IA32 build)... The 32bit version may be a while, as you need to remember while b0 is a LLL/HLL hybrid, it is also platform dependent... so there will essentially be 2 separate versions... PS. The 64bit version will be able to produce 64bit and 32bit code, but will require a 64bit CPU/OS. The 32bit version which will come out later, will work on most i686 and will be able to produce both 32bit and 64bit code. PPS. There will be a v0.0.18 release which includes a few bug fixes, but no enhancements. This should be the last version written in C, all future releases will be written in b0, well that's the plan anyway. Darran. |
|||
![]() |
|
Chewy509 14 Feb 2006, 00:19
Hi Guys,
v0.0.18 has been uploaded. (http://chewy509.atspace.com/b0.html) Changes include: * Added check for main(); when producing ELF executables. * Started rewriting the b0 compiler in b0. * Fixed bug in preprocessor, which was turning '-' characters within the string to a subtract token. * Fixed bug in preprocessor, which will skip #endif if directly proceeded by a } and set to not generate code (as part of a #ifdef/#ifndef condition). * Removed 0F and Flat output formats. * Fixed bug in call procedure routine when dealing with PE executables. * Fixed bug on performing signed compliment on floating point registers. * Fixed bug in preprocesser when dealing with 0 offset structures. * Fixed bug in call procedure when processing arguments. (It was possible to run off the token stack). I've included the b0 compiler written in b0 in the tar.bz2 and zip files, however is largely incomplete, but should give you a good example for how b0 compares to other languages. |
|||
![]() |
|
TmX 02 Mar 2006, 01:00
umm ... looks like your language seems to be interesting, but your website can't be accessed ...
![]() could you upload this b0 somewhere ? |
|||
![]() |
|
Chewy509 03 Mar 2006, 05:59
TmX wrote: umm ... looks like your language seems to be interesting, but your website can't be accessed ... Check the /doc directory for the manual (which is part of the website).
|
|||||||||||||||||||||
![]() |
|
veach1 03 Mar 2006, 07:25
system: win2ksp4
tried to compile win32.b0 from examples (with -DEBUG option) and got: "b0.exe error at 0x00411EAA memory at 0x00000031 can`t be read" without -DEBUG compiles ok |
|||
![]() |
|
Chewy509 06 Mar 2006, 04:57
veach1 wrote: system: win2ksp4 Try recompiling from source with the i386 define enabled... (top of b0.c or add -Di386 to the CLI) Also at which point does the debug output stop? |
|||
![]() |
|
veach1 06 Mar 2006, 07:28
Quote: Also at which point does the debug output stop? 2 files in the attach, stream output and screenshot of last debug lines
_________________ dream of mind creates a monster |
|||||||||||
![]() |
|
Chewy509 07 Mar 2006, 02:10
veach1 wrote:
Thanks I'll look into it. (Appears to be crashing on displaying the final hash table). PS. You do realise that the b0 version you are using outputs 64bit code and not 32bit code? |
|||
![]() |
|
Chewy509 07 Mar 2006, 05:40
There seems to be some confusion over the different b0 compiler versions.
b0 is designed natively to output 64bit code only... It appears that some have been trying to use the 64bit compiler to generate 32bit code. To enable 32bit code generation, you will need to recompile from source with the -Di386 compiler option. However I have done this and have attached the 32bit Windows version of the b0 compiler which produces 32bit code. The easiest way to tell the difference between the versions is to look for the IA32 string in the version name. eg: >b0 -v b0 v0.0.19 - IA32 Copyright (C) 2005-2006, Darran Kartaschew. All rights reserved. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. If you run >b0 -v and don't have the IA32 in the version string, then the compiler will generate 64bit code.
|
|||||||||||
![]() |
|
Goto page Previous 1, 2, 3, 4 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.