background image

Thus, the command28MUSERCU8T

.ABC

(return)

indicates

that

the

source

file

U8ERCU8T.ASM

is

to

be taken

from disk

A, that

USERCU8T.HEX

is to be put on

drive

B, and that

U8EROJ8T.PRN

is to be put on drive

C.

The command28MU8ERCUST.ABX

(return)

is the same except

that

it

prints

the

listing

Unmediately rather

than putting

U8ERCUST.PRN

on the disk.

The command2SMU8ERCUST.B2Y

(return)

takes

U8EROJ8T.A8M

from drive

B, does

not

generate

a hex file

at

all,

and displays

the

assembly

listing

on the

console.

This kind of commandmight be used for a quick assembly to check

for

program syntax errors.

The command28MU8ERCU8T.AAA

(return)

is

exactly

the

same as typing

28M

U8ERCUST

(return).

2.2

Language elements

The source file

has a general

format as follows:

Note that

line

numbers are 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 \vhich are even multiples

of 8 from the

left

edge.

The LABELis

optional.

If

present,

it

will

be entered

into

the

symbol

table.

Whether or not it

is present,

its

position

must be followed

by

a space

or colon.

That is,

is

not,

because

it

is

not

preceded

a space.

Labels

may include

any of the

following

characters:

ABCDEFGHIJKLMNOPQRSTUVWXY

2

a b c d e

f

g

h

i j

k 1 m n

0

p q

r s

t

u v

w

x

y

z

~ 1 234

5 6 7 8 9@

• ( ] { } \

I ' - ~

To avoid

ambiguity,

however,

the first

character

may not be • or 0-9.

In

addition,

a label

may be of any length

up to 47 characters.

All characters

are

significant.

In normal

use,

though, up to 12 characters

should suffice;

and

over 14 characters

will

look a little

strange

on the listing.

The OPCODE

rust

either

be a 2-80 opcode or a pseudo-ope

Both are explained

later.

Содержание CP/M 2 ZSM Assembler

Страница 1: ...cit m 2 m 4 miLt I USERS MAN UAL...

Страница 2: ......

Страница 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...

Страница 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...

Страница 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...

Страница 6: ......

Страница 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...

Страница 8: ......

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 22: ......

Страница 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...

Страница 24: ......

Отзывы: