Dec 062017
 
Include files for Spontaneous Assembly and MASM 6.0.
File SA-MASM6.ZIP from The Programmer’s Corner in
Category Assembly Language
Include files for Spontaneous Assembly and MASM 6.0.
File Name File Size Zip Size Zip Type
FLAGS.INC 930 370 deflated
READ.ME 2675 1249 deflated
SA.INC 24828 2865 deflated
TPCREAD.ME 199 165 deflated

Download File SA-MASM6.ZIP Here

Contents of the READ.ME file


This zip file contains two assembly language INCLUDE files I have written
for use with Spontaneous Assembly and MASM 6.0. If you do not have the
upgrade of Spontaneous Assembly for MASM 6.0, give Base Two a call and
ask them to send it to you (it's free). Alternatively, you could edit
your UTIL.INC file by adding OPTION OLDMACROS, DOTNAME and removing the
obsolete IF2. I have not yet received my upgrade, so I don't know what
other changes they may have made, but these changes allowed me to use
SA with MASM 6.0.

The following is a description of the INCLUDE files in this archive.

SA.INC Contains EXTERNDEF declarations of all Spontaneous Assembly
library functions and variables. Include this file after
MODEL.INC and you will not need to include a separate
".extrn libfunc:auto" declaration for each function you plan
to use. Same for the variables. This is also nice because
EXTERNDEF will only cause functions and variables that are
actually used to be linked in. Invariably, with the .extrn
directive, it seemed as I was developing a program that I
would end up not using a function that I originally declared
and would forget to delete the .extrn declaration, so it got
linked in anyway. By the way, assembly times don't seem to
be any slower by including this file, although I suppose they
could be if you have a very slow disk.

FLAGS.INC A handy INCLUDE file I wrote that carries the predefined
MASM 6.0 flag symbols one step further. MASM defines
CARRY?, ZERO?, SIGN?, and OVERFLOW? for use in the high
level language directives such as .IF, .WHILE, etc. I
thought it would be useful to have some others available,
like BELOW?, EQUAL?, GREATER?, GREATER_EQ?, etc. This
file can be used even if you don't have the Spontaneous
Assembly library.

One more note for MASM 6.0 users. Microsoft finally fixed the annoying
problem of offsets being calculated relative to the segment. The default
now is that offsets are relative to the group. What this means is that
you no longer have to preface every variable with the group name as the
Spontaneous Assembly reference manual warns. For example, instead of
having to write:

mov si,OFFSET @dataseg:string

you can now safely write:

mov si,OFFSET string


Any feedback is welcome.

Scott R. Houck
1880 Riggs Pl., N.W.
Wash., D.C. 20009


 December 6, 2017  Add comments

Leave a Reply