And Now For Something Completely Different

The SB-Assembler 3 Has Finally Arrived (yes, it is official now)

Version 2.0 of the SB-Assembler worked too, Why would I need another version? Well, for starters I have completely switched over from Microsoft products to Linux. Version 3 is multi platform, which means that it will run on Windows, Linux and even on OSx.

In Version 2 it was rather hard to make changes or enhancements to the software 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 micro controllers 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 these issues, because python is an interpreter language. (I know, it is possible to distribute compiled programs only, but I will include the sources)

Should you switch to Version 3? Not necessarily. Version 3 is compatible with Version 2 in all the important features. Version 3 has some major improvements over Version 2, especially where modern micro controllers are concerned.
Switching from Version 2 to Version 3 is quite effortless. All the work you've done in Version 2 will most likely work 100% in Version 3 as well. Apart perhaps from a few file name issues. Remember that DOS used to have very primitive file name restrictions.
You don't have to switch completely though, because Version 2 and Version 3 can live side by side peacefully on the same (Windows) computer.

New Features Of The SB-Assembler 3

  • Will now run on Linux, MAC and Windows machines.
  • Written in Python3, a modern multi-platform programming language.
  • Source files will be included, 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.
  • Separate 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.
  • As from Version 3.01 label and macro names may also start with an underscore.

Familiar Features Of The SB-Assemblers

  • 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 formats, like Intel Hex, Motorola, Hex, Bin, etc.
  • Simple command line structure (No obscure switches and options to remember and type each time).
  • Produces 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!

Where To Start

Go to the Cross Overlay page directly for a complete list of all the supported micro processors and micro controllers.

Or use the menu on the top right of this page to continue reading. There you can read any news about the SB-Assembler, download it, get a quick start guide and learn all there is to know about the SB-Assembler.
I hope you enjoy programming in Assembly language as much as I do.

Other Versions Of The SB-Assembler

SB-Assembler For The Apple ][

This is where it all began for me, 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 anniversary 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.