Message board for the users of flat assembler.
> High Level Languages > B0 v0.0.16 - IA32
Chewy509 08 Jan 2006, 23:03
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.
|08 Jan 2006, 23:03||
Kain 10 Jan 2006, 04:53
Just a suggestion for strings: wouldn't it be more convenient to place your length markers at offset -4 from the string start address?
|10 Jan 2006, 04:53||
Chewy509 10 Jan 2006, 22:32
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).
|10 Jan 2006, 22:32||
RedGhost 10 Jan 2006, 22:47
cool, nice to see new HLL being created
|10 Jan 2006, 22:47||
Chewy509 15 Jan 2006, 23:13
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...
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...
|15 Jan 2006, 23:13||
< Last Thread | Next Thread >
Copyright © 1999-2023, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.