SB-Projects On Line

Navigation

Home

SB-Assembler
News
Download
Installing
Quick Start
Source Files
Running SBASM
Expressions
Labels
Directives
Macros
Error Messages
Howto?
History
Known Bugs
DIY Cross Overlays

Cross Overlays

Coming Soon The SB-Assembler 3

And now for something completely different: After a few false starts I had finally set off creating version 3 of the SB-Assembler, back in 2009. Unfortunately the project has been on very low priority for a while. But I'm happy to announce that it's well on its way again. Almost the entire user guide is updated to Version 3 already. Now it is only a matter of fixing some small final bugs which I have discovered during the writing of the user manual. So, please bear with me for a couple of weeks (maybe even days) now.

Why would I need another version? Well, for starters I'm switching over from Microsoft products to Linux. And since version 2 runs on DOS only, this would mean some compatibility problems. OK, I could keep an old computer around for DOS only, or I could use a DOS box emulator. But now I have seen the light, it is very awkward to switch back from the Linux command line to DOS. There are simply too many restrictions in DOS.
In version 2 it was rather hard to make changes because it was written with a very peculiar assembler (Turbo Assembler, not the one from Borland). There were also some restrictions in the entire mechanism which made it rather hard to implement modern microcontrollers like AVR and PIC. A total redesign can take away those restrictions.
I can't share the source code of version 2. It is too complicated, and you probably can't get the required assembler to compile it anyway. This prohibits others from creating new Cross overlays, which means more work for me. Writing the new version in Python automatically solves this issue, because python is an interpreter language. (I know, it is possible to distribute compiled programs only, but I will include the sources)

Should I wait for version 3? Not necessarily. Version 3 will be compatible with version 2 in all the important features. So you can start with version 2 now and switch over to version 3 as soon as it becomes available. You can use all the skills you've learned from version 2 in version 3, so nothing is really wasted.

Some New Features Of The SB-Assembler 3

  • Will now run on Linux, MAC and Windows machines.
  • Written in python, a modern multi platform programming language.
  • Source files will be inlcuded, allowing you to create your own cross overlays.
  • Local labels from other global labels can now be accessed.
  • Can now generate warning messages where errors would be inappropriate.
  • Include source files can now be nested as deep as you like.
  • Seperate target spaces for code memory, RAM memory and EEPROM memory.
  • The .TA directive can be used to map generated code to the ROM address map easily.
  • More room, we can now use Giga bytes, in stead of some 550k bytes to do the job.

Some Familiar Features Of The SB-Assembler Family

  • Can cope with an unlimited number of source files, each of unlimited length per assembly run.
  • Can create an unlimited number of target files, each up to 4 GB in length per assembly run.
  • Supports many output file fomrats, like Intel Hex, Motorola, Hex, Bin, etc.
  • Simple command line structure (No obscure switches and options to remember and type each time).
  • Procedures directly rommable code, no linking required.
  • Mixed processor support (2 or more different Crosses can be used per assembly run).
  • Easy to distinguish directives from mnemonics (Each directive begins with a dot).
  • Global and Local label structure, eliminates labels like LOOPXX and LOOPXXX.
  • Automatic comment field. No ; or * required to start the comment field at the end of the program line.
  • Conditional assembly capabilities.
  • Macro support.
  • Crosses available for most popular 8 bit processors, like 6502, 8080, 8085, AVR, Z80, and many more.
  • All versions are almost 100% compatible with each other.
  • And best of all: It's completely free!

Other Versions Of The SB-Assembler

SB-Assembler For The Apple ][

This is where it all began, on the Apple ][ computer. Alas this version never went public, because the internet didn't exist yet.

SB-Assembler Version 2

Actually this was the third version already, because my first MS-Dos version 2 wasn't suitable to go public. The real version 2 can still be downloaded from this web site if you like. However it is obsolete now and is no longer maintained.

SB-Assembler For The Apple I

To celebrate the 30th aniversary of the Apple I computer I have written some code for the A-One computer, made by Franz Achatz. One of these projects was a stripped down version of the SB-Assembler, which fits in 4 kb of memory on the A-One. It can generate code for the 6502 or 65C02 processor, which powers the A-One.
A separate chapter is dedicated to this special version of the SB-Assembler.

 

Last Updated: 04 June 2012
© 2002, San Bergmans, Oisterwijk, The Netherlands
http://www.sbprojects.com