background image

The OPERANDS vary.

There can be any number of them, depending

on whether

they are operands for an opcode or a pseudo-op.

There are also instances where

there are no operands, and therefore this field can, in some cases, be omitted.

If more operands are supplied that are needed, the extras are ignored.

The COMMENT field is totally ignored by the assembler, except

for printing

it on the listing.

Comments

are used only for documentation or clarity, and

can be omitted altogether.

If present,

comments

should

be preceeded

by a

semicolon

(;).

The semicolon

will cause

a TAB to the third

TAB setting,

whereas its absence will result in the comment

appearing

immediately

to the

right of the operand field.

There is one exception

to the above

format,

and that

is the case of an

all-comment

line.

If the first character of the line (after the line number

and space) is either an asterisk

(*)

or semicolon,

the entire

line will

be

treated as a comment.

ASCII constants are indicated

by enclosing

the appropriate

character

in

single

quotes

(.).

Any ASCII character can appear between the quotes, except

for (1) control Characters,

having

an ASCII

code

of under

20 hex;

(2) the

single quote character, ASCII code 27 hex; and (3) the DEL character, 7F hex.

Numeric

constants

may be in any of four bases - 2, 8, 10, and

16.

A

specific base is indicated as follows:

t*itHindicates hexadecimal (base 16) - for example 1C7H

***Q indicates octal (base 8) - for example 62Q
***B indicates binary (base 2) - for example l0l0lB
***0 or just *tt indicates decimal (base 10) - for example 1930 or 193

Regardless of base, all numeric

constants

must

begin

with

a digit,

0-9.

(This is to prevent

ambiguity

with

labels.)

Thus A07 hex would have to be

written as 0A07H.

There

is one special

numeric

constant,

denoted

by the symbol

$.

This

constant is always

equal

to the address

of the current

line;

that

is, the

memory

location

that the current line will be written into when it is loaded.

Note that this reflects the address of the beginni1'l3

of the current

line, not

the next line (as in some assemblers).

As an example, consider that

Summary of Contents for CP/M 2 ZSM Assembler

Page 1: ...cit m 2 m 4 miLt I USERS MAN UAL...

Page 2: ......

Page 3: ...ZStt ASSEMBLER FOR CP M Version 2 5 USER S MANUAL Revision A February HJ 1980 CP M is a registerd trademark of Digital Research...

Page 4: ...changes except when an agreement to the contrary exists Revisions The date and reV1Slon of each page herein appears at the bottom of each page The revision letter such as A or B changes if the MANUAL...

Page 5: ...ystem the CP M operating system and the z sa instruction set This manual will describe the operation of the ZSM Assembler for CP M including all pseudo operations and syntax It assumes the user knows...

Page 6: ......

Page 7: ...1 1 1 2 2 1 2 2 2 3 2 4 2 5 2 6 2 7 Calling ZSM from CCP 2 1 I anguage eleInents 2 2 Constants 2 3 O rators 2 4 Registers 2 5 Pseudo ops 2 6 Assembly errors 2 11...

Page 8: ......

Page 9: ...8M the CP M Z8Mdoes not have either the ENDor TABpseudo operations and it has several new pseudo operations such as TITLE RADIX and MARGIN If you are not familiar with the S3S0 superset style of mnemo...

Page 10: ...een an operand and a following comment That is is now a valid end of operand character 5 Type M errors no longer destroy the value of the last preceeding entry in the Symbo 1 Table 6 Overlappin hex co...

Page 11: ...hen calling ZSM Whenever ZSM puts an assembler listing file onto disk this file is always of the form filename PRN again where the filename is the same name used when calling ZSM For example if you as...

Page 12: ...not required Each element except for the comment must be separated from the preceding one by at least one space character or a tab character Tab characters cause the elements to print on columns vhic...

Page 13: ...comment ASCII constants are indicated by enclosing the appropriate character in single quotes Any ASCII character can appear between the quotes except for 1 control Characters having an ASCII code of...

Page 14: ...ers are truncated to 16 bits All logical operators perform their function on a bit by bit basis and they also treat their operands as 16 bit values Operators combine with constants to form expressions...

Page 15: ...Ptr SP Index reg X IX Index reg Y IY Also may be called DE for register pair instructions Also may be called HL for register pair instructions Although not supported by ZSM also called HL Program Stat...

Page 16: ...ether and assembled as one file The LINKoperand is a source file name enclosed in single quotes Linking to a file is like a subroutine that is when the linked to file is exhausted assembly of the orig...

Page 17: ...to the prompt then TESTwould have a value of 56 hex he PRTpseudo op allows infonnation to be displayed on the console during pass 2 If operands are present they are displayed otherwise just a carriage...

Page 18: ...melOOry locations Either numeric or ASCII operands may be present but either one must evaluate to only 8 bi ts This means that only one ASCI I character may be included per operand For example z is a...

Page 19: ...C6 hex The DTZpseudo op is like DTalso only it causes a byte of to be appended to the text string Thus the example uld be 41 42 43 44 45 46 13 The DS pseudo op causes the assembler to skip over the nu...

Page 20: ...ply to all numbers in the text because it is read by the assembler in the first pass Only use it once within the text If you do not use the RADIX pseudo op ZSM defaults to a radix of 10 For example to...

Page 21: ...label you will get a J error instead of a U error Although perhaps the U would be more appropriate the way the errors are handled gives J priority r r abel error characters M Missing label error This...

Page 22: ......

Page 23: ...i J 000 1 1 SOH Del 1 1 I A I Q j CI CI 0010 2 STX I CC2 1 2 B R I I i r t 00 l 1 3 ETX Da 3 c I S I i e o 1 O O 4 EOT DC4 4 D I T cI t I I 0 l a 1 S ENQ NAKl 5 E U I II I o r lO 6 ACK SYN 6 F V I f y...

Page 24: ......

Reviews: