flat assembler
Message board for the users of flat assembler.

Index > High Level Languages > B0 v0.0.16 - IA32

Author
Thread Post new topic Reply to topic
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia
Chewy509
Since I was a little bored this weekend I have ported my b0 compiler to generate IA32 (aka i386) code.

It's the same compiler with the following changes:
Registers r8 - r15, and r4b - r7b removed.
Variable type m64 removed.
Registers r0 - r7 are now 32bit.

Took about 4 hours to do the port.

While it hasn't been overly tested, it should be okay. Well it generates vaild ELF executables, ELF Object files and PE objects that run okay, at least on my test system.

I would just like to note: This is a one time thing. Bugs will only be fixed, if they effect the standard 64bit version as well... No stdlib has been included either.

Happy coding.


Description: b0 v0.0.16 - IA32
Download
Filename: ia32.zip
Filesize: 92.56 KB
Downloaded: 492 Time(s)

Post 08 Jan 2006, 23:03
View user's profile Send private message Visit poster's website Reply with quote
Kain



Joined: 26 Oct 2003
Posts: 108
Kain
Nice.

Just a suggestion for strings: wouldn't it be more convenient to place your length markers at offset -4 from the string start address?
Post 10 Jan 2006, 04:53
View user's profile Send private message Reply with quote
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia
Chewy509
Kain wrote:
Nice.

Just a suggestion for strings: wouldn't it be more convenient to place your length markers at offset -4 from the string start address?


Thanks, I hope some people find it useful...

I've done some analysis of the differences between the 2 versions, and should be able to permanently incorporate the 32bit into the 64bit version, and use a single define to define which version to build. (That's how close the 2 versions are). So in future there most likely will be a supported 32bit version.

Re: Strings. Not really, since the offset+0 should be the buffer size. (just like Pascal does it strings).
Post 10 Jan 2006, 22:32
View user's profile Send private message Visit poster's website Reply with quote
RedGhost



Joined: 18 May 2005
Posts: 443
Location: BC, Canada
RedGhost
cool, nice to see new HLL being created

_________________
redghost.ca
Post 10 Jan 2006, 22:47
View user's profile Send private message AIM Address MSN Messenger Reply with quote
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia
Chewy509
Since I've merged the AMD64 versions and the IA32 versions into a single source code tree... looks like an upto date IA32 will now be available...

Changes include:
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


Description: b0 - IA32 v0.0.17. (Windows binary, for Linux guys, you'll need to compile from source).
Download
Filename: b0.zip
Filesize: 154.5 KB
Downloaded: 491 Time(s)

Post 15 Jan 2006, 23:13
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:  


< 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. Also on YouTube, Twitter.

Website powered by rwasa.