This is an assembler, which supports x86 instructions including 3DNOW and SSE1..SSE4.
It also has a preprocessor implementing multiline macros and some specialised syntax for simple binding to DLLs, and making library calls using C-like syntax.
The preprocessor macros have local scope which allows words to be temporarily defined for a particular context - like natural speech! Almost any word or symbol can be redefined in this way.
The source string does not need to use single or double quote marks so it works freely with thinBasic multiline strings. Furthermore quote marks, brackets and comment marks can be reprogrammed at any point in the script.
Asmosphere generates O2 script which in turn produces a linked executable binary code string. This can be called directly or stored for later use.
Asmosphere together with O2 are contained in the thinBasic_Oxygen.dll module.
The Assembler itself is a large single function that breaks some of the conventions of structured programming. However this architecture has proven to be very simple to manage and debugging was very straightforward. I use a minimalist subset of Basic to make the programming logic as plain as possible. The FreeBasic source code is included in the Zip below.
There is also a preprocessor and macro system which confers many features only found in higher level languages. Recent developments support OOP models compatible with COM programming, offering both single and multiple inheritance.
Bookmarks