ZPOKE utility RP AUTOMATION INC DEC 1988

Preliminary Documentation

 

1.0 Introduction

This set of programs provides a mechanism for using Assembly

Language routines in an easier manner. The features that are

included in this package include:

 

Initialize and enter an array of Assembly Language code

Display and Disassemble data in an array

Update data in an array

Copy data from user memory into an array

Copy data from an array into user memory

Save array data on a diskette

Restore array data from a diskette

 

All Assembly Language is using the MACRO-11 language, which is

the language for the LSI-11 family of microprocessors.

 

 

 

2.0 Subroutine Description

The following subroutines are provided in this package:

Name Description

rp.zpoke This program gets EXECUTE'd so that the

user can use the features in this package

to write and debug Assembly Language

routines.

The following programs are used internally to achieve the

ZPOKE effect. They are not to be EXECUTE'd by the user.

rp.add.arg rp.check.instr.type rp.flp.blkr

rp.flp.blkw rp.flp.closer rp.flp.closew

rp.flp.comms rp.flp.del rp.flp.dir

rp.flp.format rp.flp.openr rp.flp.openw

rp.flp.rename rp.flp.setup rp.flperr

rp.flpin rp.flpout rp.get.dest

rp.get.numb1 rp.get.numb2 rp.get.numb3

rp.get.numb4 rp.get.numb5 rp.get.octal.num

rp.get.reg1 rp.get.reg2 rp.get.source

rp.get.string rp.get.string.upper rp.type.string

rp.update.outchr rp.z.change rp.z.disassemble

rp.z.get rp.z.init rp.z.insert

rp.z.insert2 rp.z.put rp.z.restore

rp.z.save rp.z.upd

 

 

3.0 Software Installation

 

The software is installed using the following procedure:

 

1) Load the file RP._ZPOKE.V2 from floppy into memory. This is

done by typing:

LOAD RP._ZPOKE.V2

 

2) Execute the main program "rp.zpoke" by typing:

EXECUTE RP.ZPOKE

 

3) A menu will be displayed asking which option to choose.

The menu looks like:

0 = EXIT

1 = Initialize Z.DATA.POKE array & parameters

2 = Display data

3 = Update data

4 = Obtain data from memory

5 = Put data from Z.DATA.POKE array into memory

6 = Save Z.DATA.POKE array on disk

7 = Restore Z.DATA.POKE array from disk

Enter selection:

 

4) If an illegal entry is made, then an error message is

displayed, and the menu is re-entered.

 

5) If a valid entry is made, then one of the routines listed

below gets executed:

 

 

SELECTION 0 (EXIT)

This selection causes the program to terminate, dropping

back to the VAL II monitor prompt (".").

 

SELECTION 1 (Initialize)

This selection causes an array to be initialized with new

values that are typed in at the keyboard. The starting

address of the Assembly Language routine must be entered,

and then the data for the routine. This continues until

all data has been typed in.

The outcome of this selection is that an array will be

created which contains the data that is entered. This

data array can now be used in conjunction with the other

selections.

 

SELECTION 2 (Display data)

This selection can be used to display the data array.

The data will be displayed in octal format. The address

for each data word will also be displayed. Also, the

data will be DISASSEMBLED and the resulting MACRO-11 code

will also be displayed.

After each page of data is displayed, there will be a

pause and an opportunity to ABORT the display at that

point.

 

SELECTION 3 (Update data)

This selection gets used when updating the array data.

There are three ways that this data can be updated:

(I)nsert, (C)hange, or (D)elete

Before asking this question about which type of update

is desired, the array data gets displayed. If this

question is answered incorrectly, then it it asked again.

There is also a way to (Q)uit at this point.

(I)nsert data

When this routine is started, a question is asked about

where the data is to be INSERT'd. If this is entered

correctly, then data is entered until it has all been done.

(C)hange data

When this routine is started, a question is asked about

where the data is to be CHANGE'd. The current data then

gets displayed and the new data is entered. There is also

a verification for making this change. The change is then

made to the array.

(D)elete data

When this routine is started, a question is asked about

where the data is to be DELETE'd. Then, another question

is asked about how many words are to get deleted. The

program then updates the array to be correct.

 

 

SELECTION 4 (Obtain data from memory)

This selection is chosen for getting data from user memory

into the data array. The beginning and ending addresses

must be entered for where the data is to be copied from.

The program then copies the data into the data array.

 

SELECTION 5 (Put data into memory)

This selection is chosen for putting data into user memory

from the data array. A verification is done for this

option because the area that is being copied to may not

be available for user data. If it is okay, then the

data is copied into memory.

 

SELECTION 6 (Save data on disk)

This selection is chosen for saving the data on a floppy

diskette. When the filename is entered, the data will

then get stored on the diskette.

 

SELECTION 7 (Restore data from disk)

This selection is chosen to restore the data from a file

on the diskette to the data array. The filename is entered

when this routine starts. The data will get loaded from

the diskette and stored in memory as the data array.

 

6) When the routine finished that was selected from the menu,

the menu gets re-displayed.

 

 

 

 

4.0 Special Notes

 

1) All addresses and data that are entered are in OCTAL format.

 

2) When using the SELECTION 1, 4, or 7, the data in the current

array will be lost.

 

 

5.0 Messages

 

*** ILLEGAL SELECTION ***

This message will get displayed if a wrong number is entered

for a menu selection.

 

*** ILLEGAL RESPONSE ***

This message will get displayed if wrong data is entered for

a PROMPT entry.

 

*** ILLEGAL ADDRESSES ***

This message will get displayed if the starting address that

is entered is greater than the ending address (used in Z.GET

routine).

 

*** Floppy error nn ***

If a floppy error occurs during the program, then this message

will get displayed, where 'nn' is a number which corresponds to

the internal floppy disk drive error code. The codes are:

2 = File already exists (creating new file with same name)

3 = File does not exist (opening file for reading)

4 = Communications error between VAL & floppy

5 = Disk full (writing to disk)

6 = Communications error between VAL & floppy

7 = Communications error between VAL & floppy

10 = Communications error between VAL & floppy

11 = Communications error between VAL & floppy

12 = Floppy not ready

13 = Floppy read error (diskette may be bad)

14 = Communications error between VAL & floppy

41 = No STX received during block transfer

42 = Incorrect checksum received during block transfer

43 = Incorrect response to closing file

 

 

6.0 Variable names used

The following list of real variable names are used within this

set of programs:

rp.bs.sp.bs[] rp.cc[] rp.checksum

rp.chki rp.chr rp.cmd

rp.cr.lf[] rp.filename[] rp.flp.incnt

rp.flp.input[] rp.flp.output[] rp.get.i

rp.getchr rp.i rp.inbuf[]

rp.instr rp.instr.offset rp.instr.parms

rp.instr.type rp.instr1 rp.instr2

rp.instr3 rp.instr4 rp.instr5

rp.instr6 rp.instr7 rp.instr8

rp.outchr[] rp.tmp rp.type.i

rp.z.data.zpoke[] rp.z.factor rp.z.i

rp.z.ins.index rp.z.instr[] rp.z.length

rp.z.lines rp.z.num.wds rp.z.sel

rp.z.start.addr rp.z.temp rp.z.temp1

rp.z.temp2 rp.z.temp3

 

RP Automation
Tel  (800) 367-7862  (800) FOR PUMA  Fax  (203) 792-2154
Email  info@rpautomation.com

all content copyright RP Automation 1997