flat assembler
Message board for the users of flat assembler.

Index > High Level Languages > B0

Goto page Previous  1, 2, 3, 4  Next
Author
Thread Post new topic Reply to topic
veach1



Joined: 16 Jul 2004
Posts: 165
veach1
Quote:
I have done this and have attached the 32bit Windows version of the b0 compiler which produces 32bit code

thank you

_________________
dream of mind creates a monster
Post 07 Mar 2006, 08:34
View user's profile Send private message Reply with quote
Rohan



Joined: 14 Jul 2005
Posts: 13
Rohan
It will be good to see in the next simple GUI like FASMW
Post 10 Mar 2006, 19:06
View user's profile Send private message Reply with quote
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia
Chewy509
Rohan wrote:
It will be good to see in the next simple GUI like FASMW

You're more than welcome to write one... If you do, I'll happily include it as a demo in the download package! Wink

At the moment, I'm concentrating on rewritting the compiler in b0 (it's currently in C), so it'll be a while before any more examples are written.
Post 13 Mar 2006, 00:22
View user's profile Send private message Visit poster's website Reply with quote
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia
Chewy509
Just an update on this project.

Well I've been busy rewritting the compiler in b0, and am about 98% complete (with the libc-based version). After some extensive testing I'm hoping to have a v0.0.19 released before the end of the month... (both the C version and the libc-based b0 version. The Windows x64 and Linux native versions may take a little longer - as I'll need to write the interface for Linux/Win x64 rather than using the libc provided interfaces).

PS. There will be 3 initial b0 versions, a libc based one, a Linux native one, and a Windows x64 native one. However to help with development, I'm doing the libc based one first... The b0 versions will only be available for x86-64 based systems.
Post 13 Apr 2006, 02:04
View user's profile Send private message Visit poster's website Reply with quote
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia
Chewy509
v0.0.19 has been uploaded to the website.

The biggest item in this release, is a b0 compiler written in b0! (Linking to libc is required, Win64 and Linux native ports will follow in the next release). Hint: "make b0_b0" will build the b0 source version of the compiler, and the executable is named "b0_b0".

Changes:
Modified ELF output for updates in fasm 1.65.13. If using v0.0.19, I HIGHLY recommend that you upgrade to fasm to at least v1.65.13.
Added DISABLESTACKFRAME and ENABLESTACKFRAME compiler option directives. (Enables/Disables the creation of stack frames on function calls).
b0 compiler written in b0 is now available as an ELFO object file to be linked with libc**. (Win64 and Linux native versions still be tested). ** There are still a few bugs in the preprocessor, in relation to floating point definitions. If you avoid floating point definitions, you should be okay. Problems are in atof(); and ftoa();
Added ability to have multiple -i command line arguments.
Added ability to load immediate (dword integer only) when using global pointers. eg [r15+r14*8] = -1;
When compiling with MSVC++ path separator is ";" else it's ":" (for *nix systems).
Added ability to load a register with the calculation of a complex pointer. (eg r0 = &[r0+r0*4]; maps to the lea assembler mnemonic or lea r0, [r0+r0*4]).
Fixed bug in NOT and NEG operations.
Fixed bug when using global pointers. ({reg} = [{reg}-{immediate}] no longer generates an error).
Fixed bug IN/OUT instructions.
Fixed bug in while({FPU_REG}){ }; code sequence.
Included ability to handle 1.0e10 formatted floating point numbers, (previously restricted to straight 1.0 format, that is no exponent could previously be defined).
Included ability to use the shift operator with the preprocessor only when dealing with integer values.

Upcoming in the next version:
Linux and Windows native versions of the b0 compiler.
Fixed ftoa(); and atof(); functions.
Inclusion of the abilty to define what Operating System you are targeting, and have "syscall" mapped appropriately.
Start optimising compiler for performance (The b0 source version is roughly 50% larger than the C source version, and processes roughly 65K lines per second (b0 ver) vs. 143K lines per second (C ver) on my 1.6GHz Opteron 242)
Post 17 Apr 2006, 23:11
View user's profile Send private message Visit poster's website Reply with quote
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia
Chewy509
Hi Guys,

Please find attached the v0.0.20 release candidate. Any prob's let me know?

(The zip file contains a pre-built *.exe for Windows x64, other systems can be built by following the instructions in doc/b0-man.html).

PS. There is one bug with the Windows version, the resultant application will always open a console window, I know how to fix it, just haven't got around to doing so.

Updates:
Release Date - Approx 2 weeks - v0.0.20
*Yep, that's right over a year of development, I guess Real Lifeā„¢ got in the way.
*Linux (18-Jun-06), Windows (17-May-07) and FreeBSD (26-Apr-07) native versions of the b0 compiler.
*Fixed ftoa(); and atof(); functions.
*Fixed deeply nested #ifdef/#else/#endif structures. (Under some circumstances, the #else would reactive code generation when it shouldn't.
*Fixed floating point definitions storage.
*Added switch to create Window DLL Files. (-fdll or #COMPILER_OPTION DLL 'mydll.dll').
*Added compiler option to include pre-compiled resource files. (#COMPILER_OPTION RSRC 'myres.res')
*Start optimising compiler for performance (The b0 source version is roughly 50% larger than the C source version, and processes roughly 65K lines per second (b0 ver) vs. 143K lines per second (C ver) on my 1.6GHz Opteron 242).
*Integer/Float bounds checking added for immediate operations.
*Restructed how immediates are handled internally, improving processing throughput.
*Due to certain factors, the standard library will no longer be actively developed. If others wish to continue to develop the standard library, they are more than welcome to do so.
*Included b0.lang style sheet for gEdit users (aka GNOME users). (Copy into the /usr/X11R6/share/gnome/gtksourceview-1.0/language-specs directory and add the following x-b0.xml and b0.xml to the GNOME mime database).
*GTK Examples cleaned up (removed all linux dependencies, now build correctly on FreeBSD as well as Linux).
*Added a resource section into the Windows binary, including icons for the application and *.b0 source files. Registry file in src\rsrc will add the icon and file associations (done automatically if you run build install if installing from source, or if you use the *.msi installation file. (You still need to define which application to open the file).


Description:
Download
Filename: b0-v0.0.20-rc1.zip
Filesize: 604.44 KB
Downloaded: 423 Time(s)

Post 23 May 2007, 22:41
View user's profile Send private message Visit poster's website Reply with quote
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia
Chewy509
I've finalised the build for v0.0.20. (1 bug fixed from the rc release, to do with nested #endif's preceeded by '}''s)

However I need a new home for b0, and have been looking. The current host, while has been stable, is now enforcing some restrictions on what can be hosted, (max 200k file size, no binaries, eg zip, msi, etc). So they're no longer acceptable.

I've registered with memebot, but can't get the site activated (something about not being able to receive the activation email, due to spam blocking), and all the 'free' hosts place so many banners on the page it's annoying...

So does anyone know of a free host, that doesn't spam your site with banners? (I don't mind if it's a small banner at the bottom of the page, but when the banner covers the top half of the page, it's pretty crap). I've looked at lycos, and yahoo, and well, I'll just pass on those...
Post 06 Jun 2007, 23:28
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo
http://pages.google.com (100 MB)

Also, check here for a bigger list:

http://www.thefreecountry.net/webhosting/index.shtml

P.S. Sorry, no x86-64 to test B0 on (and I'm sorta kinda too busy anyways), but I love new compilers, so good luck! Wink
Post 07 Jun 2007, 04:22
View user's profile Send private message Visit poster's website Reply with quote
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia
Chewy509
rugxulo wrote:
http://pages.google.com (100 MB)

Also, check here for a bigger list:

http://www.thefreecountry.net/webhosting/index.shtml

P.S. Sorry, no x86-64 to test B0 on (and I'm sorta kinda too busy anyways), but I love new compilers, so good luck! Wink


Thanks, I'll check out Google.

I've been through the freecountry list, and most are pretty dodgy...
Post 08 Jun 2007, 02:25
View user's profile Send private message Visit poster's website Reply with quote
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia
Chewy509
Hi Guys,

v0.0.20 is now available on the b0 website ( http://chewy509.atspace.com/b0.html ), or as attached.

PS. Only 2 very minor bugs fixed since the RC.


Description: Includes b0.exe for Win x64 systems.
Download
Filename: b0_fasm.zip
Filesize: 534.21 KB
Downloaded: 360 Time(s)

Post 17 Jun 2007, 22:34
View user's profile Send private message Visit poster's website Reply with quote
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia
Chewy509
Hi Guys,

I haven't been working much on v0.0.21, since "Real Life" got in the way... However have some free time coming up, so will hopefully be able to hit the source code again.

Features/bugfixes for v0.0.21...
* Fixed dll output.
* Additional tweaks of preprocessor (related to #ifdef, #endif, #else).
* Compiler can be built as a DLL (and linked to VC++ or VC# applications)
* Compiler can be built as a *.o and linked to C applications on *nix.
* Reorganising internals to allow basic macro support.
* Adding SIMD instructions (up to SSE2).

v0.0.22 will include finalised macro support.
v0.0.23+ bugfixes...

v0.1.0 will include a GUI for Windows (written in VC# and use .NET2.0)
v0.2.0 will include a GUI for *nix (GTK based, written in b0)
v1.0.0 will focus on documentation, examples, cleaning up GUI's, etc.
v1.1.0 will focus on GUI/IDE development.

The plan is for the language itself to stablise prior to v0.1.0...

With SIMD (aka SSE2), I've yet to finalise on how the programmer will tell the compiler what the correct instruction should be. I'm thinking of along the lines of:

#vector v4f; // Assume xmm regs are 4 floats
xmm0 = xmm0 * xmm1;
#vector v8i; // Assume xmm regs are 8 ints
xmm0 = xmm0 * xmm1;

Will produce the correct SIMD code... Just need to work out the shuffle and load/store symantics.
Post 29 Aug 2007, 23:42
View user's profile Send private message Visit poster's website Reply with quote
Plue



Joined: 15 Dec 2005
Posts: 151
Plue
The web page seems to be down. A good host is 110mb.com.
Post 30 Sep 2007, 18:21
View user's profile Send private message Reply with quote
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia
Chewy509
Plue wrote:
The web page seems to be down. A good host is 110mb.com.

Thanks, I seem to be getting a lot of those messages, recently.

I guess it's time to move to another host.
Post 01 Oct 2007, 00:15
View user's profile Send private message Visit poster's website Reply with quote
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia
Chewy509
New host:

http://chewy509.110mb.com

I've removed the atspace.com host...

PS. *.bz2 download not working, have to redo as a *.tgz. Use the *.zip to get the source...
Post 01 Oct 2007, 00:42
View user's profile Send private message Visit poster's website Reply with quote
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia
Chewy509
Hi Guys,

Please find attached a very basic IDE for b0 for Windows.

The editor can be used for FASM, just go into the options and set the fasm executable path... (The IDE calls fasm as an external process).

All basic features are included, well all the same that are in Notepad... (See the screen shot).
* Multiple documents.
* Syntax Highlighting.
* Build b0 source
* Build asm source
* Use make.

Source will be posted once I complete v0.0.21 of b0. (I can email to you direct, but is rather large, and in a state of flux so would prefer to wait).

Enjoy.

PS. Feedback is welcome
PPS. Windows XP x64 OR Vista x64 + .NET 2.0 Framework is REQUIRED


Description: Screen Shot
Filesize: 92.16 KB
Viewed: 10946 Time(s)

scrnshot.png


Description: b0 IDE
Download
Filename: b0.zip
Filesize: 322.09 KB
Downloaded: 424 Time(s)

Post 01 Oct 2007, 06:57
View user's profile Send private message Visit poster's website Reply with quote
Rohan



Joined: 14 Jul 2005
Posts: 13
Rohan
Chewy509
Great work! Could you make build for Windows x32?
Post 01 Oct 2007, 07:08
View user's profile Send private message Reply with quote
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia
Chewy509
Rohan wrote:
Chewy509
Great work! Could you make build for Windows x32?

Sorry, not going to happen.

The b0 compiler itself is native 64bit, and since the IDE relies on the compiler, it also has to be 64bit. (Not possible to mix 64bit and 32bit code), sorry.
Post 01 Oct 2007, 22:42
View user's profile Send private message Visit poster's website Reply with quote
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia
Chewy509
Hi Guys,

I've released v0.0.21 and v0.1.0 today, available from: http://chewy509.110mb.com/b0.html

Changes:
17 Dec 07 - v0.0.21
1. Added -o option to define output filename.
2. Added ability for Compiler to be generated as either a DLL or *.o file so
you can link to the compiler to another 3rd party tool. (See ./b0/src/b0_c/b0.c or ./b0/src/b0_dll/b0.b0 as examplea). Note: If you detect a resource leak, either file handle or memory mallocation, please contact me ASAP.
3. Added buffered input for FreeBSD build target.
4. Added Sun Solaris 11 Native Version.
5. Cleaned up build infrastructure for Windows and *nix. (No more editing b0.b0 to define the build target environment).
6. Improved temporary file handling. (especially when performing $ gmake -j3 type builds).
7. Added Vector (aka SSE) operations.
8. Started on Macro support.

17 Dec 07 - v0.1.0
1. B0 for Windows x64 released. Integrates b0 v0.0.21 compiler.

For Windows Users, just grab the v0.1.0 package and install the *.msi. Then launch the editor from the start menu. Goto into: Tools -> Options and setup the required fields, esp the include folders and fasm executable. All source code is in c:\Program Files\b0 for Win x64\ ... for both compiler and IDE.
Post 17 Dec 2007, 07:06
View user's profile Send private message Visit poster's website Reply with quote
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia
Chewy509
I've now got a forum dedicated to b0...

http://chewy509.110mb.com/forum

If you use or are interested in b0, please visit...
Post 18 Dec 2007, 05:04
View user's profile Send private message Visit poster's website Reply with quote
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia
Chewy509
Hi Guys,

I've released v0.0.22 of the compiler and v0.1.1 of the Windows IDE.

They are available from: http://chewy509.110mb.com/b0.html

01 February 08 - v0.0.22
1. Finalised macro support.
2. Fixed bug with mulitple start block statements that are not proceeded by instructions.
3. Added Spinlock and Mutex support.
4. Fixed paste bug in Windows IDE.
5. Fixed b0 language definition file within IDE.
6. Added File Revert/Reload function in IDE.
7. Added very basic Print support in IDE.
8. Added External Tool support in IDE.
9. Added Split Window text pane support in IDE.

Due to the problems with the forum, I've taken it down. Only email support for now.

The macro support is fairly basic, but should suffice for most situations. (It's nothing like the macro support in fasm).

The biggest introduction is the inclusion of mutex and spinlock support for multi-threading programming.

Other notables are including external tool support for the IDE, split window support and very basic printing support.

PS. The Solaris package will be a week or 2, still need to sort out a bug in the packaging code.
PPS. The Windows *.msi installer has source code from both the compiler and the IDE.
Post 25 Jan 2008, 05:04
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2, 3, 4  Next

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar.

Powered by rwasa.