Difference between revisions of "ZSM"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
Line 59: Line 59:
 
and later in the CP/M Users Group (UK).
 
and later in the CP/M Users Group (UK).
  
It's in the Public Domain, and is available the source
+
It's in the Public Domain.
code in Z80 assembler (can compile itself).
+
  
'''DOWNLOAD'''
+
The source code in Z80 assembler is available also, and
 +
it can compile itself.
  
 +
'''DOWNLOAD'''
  
 +
 
Available in http://www.floppysoftware.vacau.com.
 
Available in http://www.floppysoftware.vacau.com.

Revision as of 13:52, 26 April 2015

OVERVIEW

ZSM is an assembler for the Z80 microprocessor. It uses standard Zilog/Mostek mnemonics, supports conditional assembly and produces Intel HEX file suitable for loading with the CP/M LOAD utility. ZSM is a disk based assembler, i.e. source code is read from disk, the resulting object code is written to disk and an optional print file can be written to disk. Alternatively the print file can be redirected to the console.

ZSM is also known as Z80ASM or Z80ASMUK.

ASSEMBLER MNEMONICS

The assembler recognises all standard Z80 mnemonics as defined in the Z80 CPU Technical Manual. The following mnemonics are recognised in both forms shown.

    ADC A,s        ADC s
    ADD A,n        ADD n
    ADD A,r        ADD r
    ADD a,(HL)     ADD (HL)
    ADD a,(IX+d)   ADD (IX+d)
    ADD a,(IY+d)   ADD (IY+d)

EXPRESSION EVALUATION

Operands in instructions and pseudo-ops may consist of arithmetic expressions which are evaluated at assembly time and the calculated value used as part of the object code. The following operators may be used to form expressions:

    +              Addition
    -              Subtraction (or unary Negation)
    *              Multiplication
    /              Division
    .MOD.          Modulus
    < or .GT.      Greater Than. X.GT.Y true if X greater than Y.
    .GE.           Greater  than  or  Equal.  X.GE.Y true  if  X
                   greater than or equal to Y.
    > or .LT.      Less Than. X.LT.Y true if X less than Y.
    .LE.           Less  than or Equal.  X.LE.Y true if  X  less
                   than or equal to Y.
    = or .EQ.      Equal. X.EQ.Y true if X equals Y.
    .NE.           Not Equal. X.NE.Y true if X not equal to Y.
    .SHL. n        Shift Left n bits.
    .SHR. n        Shift Right n bits.
    .NOT.          Logical NOT (unary)
    .AND.          Logical AND
    .OR.           Logical OR
    .XOR.          Logical Exclusive OR
    .LOW.          Low byte of expression (.MOD. 256)
    .HIGH.         High byte of expression (.SHR. 8)

COPYRIGHT

It was written by LEHMAN CONSULTING SERVICES in 1977, and enhanced by Ray Halls in 1982, and Neil Harrison in 1983.

It was originally published in the US User Group, Vol 16, and later in the CP/M Users Group (UK).

It's in the Public Domain.

The source code in Z80 assembler is available also, and it can compile itself.

DOWNLOAD


Available in http://www.floppysoftware.vacau.com.