Fluke 9010 Compiler

Add to my manuals
179 Pages

advertisement

Fluke 9010 Compiler | Manualzz

9010A Language

Compilar

P/N 661 504

December 1 983

C1983 John Fluke Mfg. Co., lnc., all rights reservad. Litho in U.S.A.

NOTICE

This manual describes unpubl ished Software which contains the trade secrets and confidential proprietary information of John Fluke Mfg. Co., l nc. and which embodies substantial creative effort, ideas, and expressions. THE

SOFTWARE IS PROVIDED UNDER LICENSE FROM FLUKE. Fluke g rants

Licensee a perpetua! non-excl usive license to use this material and make up to three copies for backup pu rposes without written permission from Fluke.

THIS SOFTWARE IS LICENSED FOR USE ON A SINGLE COMPUTER

SYSTEM.

LIMITED WARRANTY

Fluke warrants that the Software has been properly recorded on non-defectiva diskettes. Fluke does not warrant the Software to be error free. Fluke will replace such diskettes without charge if Fluke in good faith determines that such d iskettes were not su bject to m isuse and if returned to a F luke Technical

Service Center, within n inety

(90) days of shipment. Refer to your 901 0A

Operator M anual for a l isting of locations. Fluke reserves the right to change the specifications and operating characteristics of the Software it produces, over a period of time, without notice.

··�

FLUKE GRANTS NO OTHER WARRANTIES, EITHER EXPRESSED OR

IMPLIED, INCLUDING ANY IM PLIED WARRANTIES OF M ERCHANTABIL­

ITY OR FITNESS FOR A PARTICULAR PURPOSE OR USE. IN NO EVENT

SHALL FLUKE BE LIABLE FOR ANY LOSS OF DATA, USE, PROFITS OR

GOODW ILL, OR F OR D IR ECT, IN D IR ECT, S P E C IAL, IN C ID ENTAL,

CONSEQUENTIAL OR OTHER SIMILAR DAMAGES AS A RESULT OF ANY

MATTER RELATED TO THIS AGREEM ENT, REGARDLESS OF THE FORM

OF THE ACTION.

Copyright (©)1 983 John F luke Mfg. Co., l nc.,

P.O. Box C9090, Everett, Washington 98206

Contents

1

2

3

I NTRODUCTION . . . .. . . . .. .. . . . . . . . . . .. . . .. . . . . 1 -1

I ntroduction to the 90 1 0A Language Compiler

.

. . . . . . . . . . 1 -3

The Host Computer System

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . 1 -4

How the Compiler W orks

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 -5

Language Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 -6

The 90 1 0A Language Compi ler Package

Disk Verification Program

.

.

. . . . . . . . . . . . . . . . 1 -7

. . . . . . . . . . . . . . . . . . . . . . . . . . 1 -7

Compiler

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 -7

File Transfer Program

Pod Data Files

.

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 -7

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8

Use With the 9005A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 -8

HOW TO USE THIS MANUAL

Introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

S uggested U se . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

.

2-1

2-3

2-4

2-5

GETTI NG STARTED . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1

I ntroduction

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3

Fluke 1 72CA Instrument Controller

Introduction

.

. . . . . . . . . . . . . . . . . . . . 3-4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4

.

What Y o u N eed

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4

Backing U p the Program Diskette

.

.

.

.

.

.

.

.

.

.

.

.

.

" . . . . . . 3-4

Verifying the W orking Diskette

Hooking Up the System

.

.

. . . . . . . . . . . . . . . . . . . . . 3-5

3-6

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

S ystem Dependencies

Test Editor

.

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8

Disk Space

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8

Compiler Organization

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8

(continued on page ii)

CONTENTS, continued

Fluke 1 722A Instrument Controller . . . . . . . . . . . . . . . . . . . . . 3-9

I ntroduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9

What Y o u N eed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9

Backing U p the Program Diskette . . . . . . . . . . . . . . . . . . . . 3-9

Verifying the W orking Diskette . . . . . . . . . . . . . . . . . . . . . . 3-1 O

Hooking Up the System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10

System Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12

Text Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12

Disk Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12

IBM Personal Computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 3

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13

What You Need

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

3-1 3

Backing U p the Program Diskette . . . . . . . . . . . . . . . . . . . . 3-14

Verifying the Working Diskette . . . . . . . . . . . . . . . . . . . . . . 3-14

H ooking Up the System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 5

System Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 6

RETURN Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16

CP j M Operating Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17

What You Need . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17

Backing Up the Program Diskette . . . . . . . . . . . . . . . . . . . . 3-1 8

V erifying the W orking Diskette . . . . . . . . . . . . . . . . . . . . . . 3-18

Hooking Up the System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 9 lnstaUing Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20

Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20

4

WRITING PROGRAMS . . . . . . . . . . . . . . . . . . . . . . . . . 4-1

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3

Part 1 : General Program Format . . . . . . . . . . . . . . . . . . . . . . . 4-4 lntroduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4

Important Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5

Program Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7

90 1 0A Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8

Address Space Information . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8

Setup Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9

Pod Data Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 1

90 1 0A/ Pod Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 2

Sample Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 3

Part 2: Coding Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 6

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 6

Optional Keywords and Keyword Abbreviations . . . . . . . . 4-1 7

U nary Operator Shorthand . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 8

Default Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 8

File lnclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19

(continued on page iii) ii

CONTENTS, continued

5

6

Sample Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20

Part 3: Symbolic Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22

Symbolic Program Names . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24

S ymbolic Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-26

Symbolic Register Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-28

Predefined Register N ames . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29

Sample Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-30

USING THE COMPI LER .. .. .. .. .. .. .. .. .. .. .. .. 5-1 lntroduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3

Preparing the Source File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4

Compiling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5

Interactive Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6

Command Line Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8

Listing File Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10

Syntax Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 1

Transferring Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 2

Transferring Programs t o the 901 0A . . . . . . . . . . . . . . . . . . 5-1 2

Transferring Programs from the 90 1 0A . . . . . . . . . . . . . . . . 5-14

Source Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14

Hex Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 6

LANGUAGE REFERENCE .. .. .. .. .. . .. .. .. .. .. . 6-1

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3

Syntax Diagram N otation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4

Special Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5

Symbolic Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6

Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8

Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 O

General lnformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 1

Statement Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 1

Program Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 1

File lnclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12

SOURCE FILE SYNTAX ......

.

.....

. . .

......

.

.

.

6-1 3

Source File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 5

Setup

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6-1 7

Address Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 9

Address Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2 1

Global Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23

Symbolic Register Name Declaration . . . . . . . . . . . . . . . . . . . . 6-25

90 1 0A Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-27

Program Body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-29

¡¡¡

(continued on page iv)

CONTENTS, continued

··�

Local Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

6-3 1

Binary Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

6-33

Include Directive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-35

SETUP PARAMETERS ........................ . 6-37

Beep

.

.

.

.

.

.

.

.

.

.

.

.

. . .

.

.

.

.

· · .

.

.

· · · · · · · · · · · · · · · · · · · · · · · ·

6-39

Bus Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Exercise Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Linesize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Newline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Pod

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

· · · · · · · · · · · · · · · ·

Run UUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

·

Stallj Unstall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Trap

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

· · · · .

· · · · · · · · · · · · · · · · · · · · · · · ·

6-4 1

6-43

6-45

6-47

6-49

6-5 1

6-53

6-55

6-57

6-59

901 0A PROG RAM STATEM ENTS ..............

.

Atog

.

.

.

.

.

.

.

.

.

.

.

, .

.

.

.

.

.

.

.

.

.

.

.

· · · · · · · · · · · · · · · · · · · · · · · ·

Auto Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Aux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Bus Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Dpy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Dtog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Execute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Goto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

If

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

10 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

.

Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Probe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

RAM Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

RAMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Read

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

· · .

.

· · · · · · · · · · · · ·

Reg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Reptj Loop

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

· .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

ROM Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

.

Run UUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Sync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Unary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Walk

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

· · · · · · · · ·

Write

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

· · · .

· · .

.

· ·

6-61

6-63

6-85

6-87

6-89

6-9 1

6-93

6-95

6-97

6-99

6-65

6-67

6-7 1

6-73

6-77

6-79

6-8 1

6-83

6-1 0 1

6-1 03

6-1 05

6-1 07

6-1 09

6-1 1 1

6-1 1 3

6-1 1 5

..............

(continued on page v) iv

CONTE NTS, continued

APPENDICES

A Keywords .

. . . . .

.

. . . . . . .

.

. . . .

.

. . . . . . . . . . . . . . . . . . . .

A-1

B Predefined Register N ames . . . . . . . . . . . . . . . . . . . . . . . . . B-1

C Optional Keywords and Keyword Abbreviations . . . . . . C-1

D Default Setup Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . D-1

E Parameter Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-1

F Error Messages F-1

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

I NDEX vtvi

Section 1

1 ntroduction

CONTENTS

I ntroduction to the 90 1 0A Language Compiler . . . . . . . . . . . 1 -3

The Host Computer System . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 -4

H ow the Compiler Works

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

1 -5

Language Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 -6

The 9010A Language Compi1er Package . . . . . . . . . . . . . . . . . 1 -7

Disk V erification Program . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 -7

Compiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 -7

File Transfer Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 -7

Pod Data Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 -8

Use With the 9005A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 -8

1 -1 /1 -2

I NTRODUCTION TO THE 901 0A LANGUAGE COMPILER

The 901 0A Language Compiler package is used to create test and troubleshooting programs for the Fluke 90 1 0A M icro-System

Troubleshooter.

The 90 1 0A is an excellent tool for interactive troubleshooting, and many users may want to take advantage of its power by writing extensive test programs. While the 90 10A itself is very convenient for entering relatively short programs, it may be advantageous to create and maintain large, elaborate, or complex programs using a host computer's editing and file management facilities. The 90 1 0A

Language Compiler allows 90 l OA programs to be developed conveniently on a host computer system and then transferred to the

9010A for execution.

1 -3

l ntroduction

THE HOST COMPUTER SYSTEM

The illustration shows the 90 l OA connected by an RS-232-C serial interface to a host computer system. Fluke currently supports the

90 1 0A Language Compiler on the fol l owing computer systems:

Fluke 1 720A and 1 722A Instrument Controllers

M ost Z80 CP 1 M systems with 8-inch disk drives

Kaypro 1 1

IBM Personal Computers (PC and XT)

··�

Registered Trademarks:

Z-80: Zilog

CP/M: Digital Research Inc.

Kaypro: Kaypro Corp.

IBM: Intemational Business Machines

1 -4

1 ntroduction

HOW THE COMPI LER WORKS

The 90 1 OA is able to read and write test programs via its auxiliary RS-

232-C interface. The en tire contents of the 90 1 OA program memory, including setup parameters and address space descriptors, are transferred through the serial interface in a special hex data format.

The 90 1 0A Language Compiler takes advantage of this ability of the

90 1 0A to read programs in hex format.

The test programmer develops the test programs on the host computer systeni in an ASCII source program form using the full power of the editing and file storage capabilities of the host system. In this sense, a

90 1 0A program on the host system is much like a program written in any other programming language, such as BASI C, FORTRAN, or

Pascal.

Once the program has been written in so urce form, the 90 l OA

Language Compiler program converts the so urce program into the hex format required for transfer to the 90 1 0A.

The program is then transferred to the 90 1 OA using a transfer program that is supplied with the compiler package, and the hex format program is read into Troubleshooter memory by pressing the AUX

1/ F and READ keys on the 901 O A.

1 -5

l ntroduction

LANGUAG E EXTENSIONS

The 90 1 0A Language Compiler accepts any program that can be ente red through the 90 1 OA keyboard. In fact, the syntax of the 90 1 OA

Language is compatible with program listings obtained from the

90 1 0A using the AUX 1 / F SETUP, AUX 1/ F LEARN, and AUX 1/F

PROGM commands described in the 90 1 0A Operator Manual.

In addition to the standard 90 1 0A commands, however, the 90 10A

Language Compiler provides sorne powerful extensions . These additional features are designed to make it much easier to develop and maintain large 90 1 0A programs. Sorne of the key features are:

Program Comments

Keyword Abbreviations, Op­ tional Command Keywords, and Shorthand N otation for

Unary Operators

Allows the test programmer to incorporate documentation into the program itself

Minimizes the typing required to enter a test program on the host system

File Inclusion

Permits common programs to be conveniently shared by many source files, reducing the time r e q u i r e d t o d e v e l o p t e s t programs for new applications

Symbolic Names for Programs,

Labels, and Registers

Allow programs to be written more clearly, making them e a s i e r to u n d e r s t a n d a n d maintain

1 -6

l ntroduction

THE 901 0A LANGUAGE COMPILER PACKAGE

The 901 0A Language Compiler package consists of this manual and a diskette that contains severa! programs and data files. The key software elements of the package are as follows:

Disk Verlflcatlon Program

The Disk Verification Program is a uti1ity program that verifies the integrity of compiler package files. This program is used to assure that there are no files missing, that the files are not corrupted, and that they are compatible versions.

Compller

The compiler is a program that accepts the source file representation of

90 10A programs, including setup parameters and address descriptors, and produces a corresponding hex format file that can be read into the

901 0A.

The compiler checks for coding errors in the so urce file and displays an error message whenever an error is detected. If the so urce file contains errors, then a hex file is not created.

In addition to the hex format output file, the compiler can produce a listing file containing a modified copy of the so urce file. The listing file can be requested in severa! optional formats that make the processing performed by the compiler more visible to the test programmer.

File Transfer Prog ram

The compiler package contains a utility program that is used to transfer 90 1 OA programs between the host system and the 90 1 O A. The primary purpose of the file transfer program is to transfer hex files produced by the compiler to the 90 1 OA for execution, but it can al so be used to transfer programs from the 90 10A to the host system.

1 -7

lntroduction

9010A

Language Compilar Package

Pod Data Files

Sorne of the Setup commands of the 90 1 0A Language refer to information that is specific to particular 901 0A interface pods. Pod­ specific information includes the enableable forcing lines, bus test address, and RUN UUT address.

The 901 0A Language Compiler package contains a pod data file for each interface pod currently available from Fluk�, The pod data files provide the information required by the compiler to process the pod­ specific Setup commands.

By simply creating new pod data files, the compiler can be updated to accommodate new pods which are developed in the future.

USE WITH THE 9005A

Hex files that are produced by the 90 1 0A Language Compiler are compatible with the 9005A as well as the 90 1 0A. However, programs that are transferred from the host system to a 9005A cannot be edited on the 9005A, nor can they be written to a cassette tape as they can with a 901 0A.

-

1 -8

Section 2

How to U se This Manual

CONTENTS

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3

Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4

Suggested U se . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5

2-1 /2-2

How to

Use This Manual

INTRODUCTION

This manual is the reference source for the 90 1 0A Language Compiler and the 90 1 0A Language. It is written with the assumption that the reader is already familiar with the operation of both the 90 l OA Micro­

System Troubleshooter and the host computer system.

If yo u are not familiar with the 90 1 OA

, yo u should refer to the 90 l OA

Operator Manual and the 90 lOA Programming Manual and learn how to use the 9010A before proceeding in this manual. Of course, ifyou are not familiar with the host computer system, you should read the instruction manuals provided with your system.

2-3

How to Use This Manual

ORGAN IZATION

The 901 0A Language Compiler User Manual is divided into the following sections: l . INTRODUCTION

4.

WRITING PROGRAMS

Introduces the 9010A Language

C o m p i l e r a n d t h e 90 1 O A

Language and describes basic features.

2. HOW TO USE THIS MANUAL Describes the sections of the manual and recommends how each section should be used.

3. GETTING STARTED Describes what you need to get s t a r t e d u s i n g t h e 9 0 1 O A

Language Compiler with your particular computer.

Gives an overview of the 90IOA

Language and describes how to create 901 0A source files.

5. USING THE COMPILER

6. LANGUAGE REFERENCE

APPENDICES A-F

D e scribes how to use the compiler and the file transfer program.

Provides detailed information on the 90 lOA Language syntax in a quick-reference format.

Provides other information about the 9010A Language.

··�

··�

2-4

How to

Use This Manual

SUGGESTED USE

The sections in this manual appear in the order in which they are intended to be read by a first-time user of the 90 1 0A Language

Compiler. Section 1 , lntroduction, provides an overview of the features of the 90 1 0A Language Compiler. lf you are a first-time user of the compiler, the introduction gives you an idea of what to expect.

This section, How to Use this Manual, provides guidance in using the manual so that you can quickly and correctly begin to use the 90 1 0A

Language Compiler.

Section 3, Getting Started, provides you with the information you need to get your new compiler running. Before attempting to use the compiler, it is essential that you read this section thoroughly so that yo u can avoid pro blems. Getting S tarted shows yo u how to set up your host computer system and how to connect it to the 90 1 0A.

Section

4,

Writing Programs, uses explanations and examples to introduce yo u to the 90 1 OA Language and demonstrates how to crea te

901 0A program source files. Everyone should read this section at least once. When yo u beco me more familiar with the 90 1 OA Language, yo u will rely less on Section

4 and more on Section 6.

Section 5, U sing the Compiler, provides information on how to use the compiler and the file transfer program. This will enable yo u to crea te hex files and transfer them to the 90 1 0A for execution.

S ection 6, Language Reference, contains much of the same information as Section

4, but the information is more detailed, and it is organized to enable quick reference. This section is designed for use when you are in the middle of a program and need specific syntax information in a hurry.

Appendices A through F provide detailed information about the

90 1 0A Language. You will probably use the appendices for quick reference after you have learned how to use the language.

2-5/2-6

Section 3

Getting Started

CONTENTS lntroduction

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3

Fluke 1 720A lnstrument Controller

.

. . . . . . . . . . . . . . . . . . . . 3-4

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4

.

What Y o u N eed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4

Backing U p the Program Diskette

.

. . . . . . . . . . . . . . . . . . . 3-4

V erifying the W orking Diskette

Hooking Up the System

.

.

.

.

.

.

.

.

.

.

. . . . . . . . . . . . . . . . . . . . . 3-5

.

.

.

.

.

.

.

.

. .

.

.

.

.

.

.

.

.

.

.

3-6

S ystem Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8

Test Editor

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8

Disk Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8

Compiler Organization

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8

Fluke 1 722A lnstrument Controller

Introduction

.

. . . . . . . . . . . . . . . . . . . . 3-9

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9

.

What Y o u N eed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9

.

Backing Up the Program Diskette

Verifying the W orking Diskette

.

. . . . . . . . . . . . . . . . . . . 3-9

. . . . . . . . . . . . . . . . . . . . . 3-1 O

.

Hooking Up the System

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10

System Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12

Text Editor

Disk Space

.

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12

IBM Personal Computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13

Introduction

.

.

.

.

. -.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13

What You Need

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Backing Up the Program Diskette

.

.

.

.

. .

.

.

.

.

.

.

. .

.

.

.

.

.

.

.

3-1 3

3-14

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

V erifying the W orking Diskette

Hooking Up the System

.

.

.

.

.

.

System Editor

RETURN Key

.

.

.

.

.

.

. . . . . . . . . . . . . . . . . . . . . . 3-14

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. .

.

.

.

.

.

3-15

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

3-16

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16

3-1

CONTENTS, continued

CP / M Operating Systems lntroduction

.

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 7

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 7

What You Need 3-1 7

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Backing U p the Program Diskette

V erifying the W orking Diskette

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

3- 1 8

. . . . . . . . . . . . . . . . . . . . . . 3-18

.

Hooking Up the System

3-19

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Installing Software

Editor

.

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20

3-2

Getting Started

INTRODUCTION

This section provides the information needed to set up your host computer system to work with the 90 1 0A Language Compiler. For each version of the compiler, the following information is presented:

What You Need

Describes the hardware configuration required to use the compiler package

Backing U p the

Program Diskette

Provides the information needed to create a working copy of the program diskette

Hooking Up the

System

Describes how to connect the 90 1 0A to the host system and how to set the RS-232-C serial interface parameters

System Dependencies Presents other information that is unique to a particular host system

Y ou should carefully read the instructions that apply to your host system. It is not necessary for you to read the material that relates to other host systems.

3-3

Getting Started

···�

FLUKE 1 720A INSTRUMENT CONTROLLER lntroductlon

The following information applies to the 1 720A version of the 90 l OA

Language Compiler.

What You Need

The following equipment is needed in order to use the compiler package: l . Fluke 9005A or 90 1 0A Micro-System Troubleshooter with

Option 90 1 0A-00 1 , RS-232-C Interface

2. Fluke 1 720A Instrument Controller (Option 1 720A-00 1 ,

1 28K-Byte E-Disk is recommended.)

3. Fluke Y 1 705 RS-232-C Null Modem Cable and Y l 707 RS-

232-C Interface Cable

4.

90 1 0A-920 90 1 0A Language Compiler, 1 720A/ 1 722A Version .��

Backlng Up the Program D iskette

The 90 1 0A Language Compiler package consists of this manual and a write-protected program diskette containing the compiler itself and various other programs and data files.

Before using the compiler, you should make a copy of the program diskette. This copy should be used for normal day-to-day operations, while the original program diskette should be kept in a safe place as a backup so that the working copy can be resto red if it is ever damaged.

Complete instructions on how to copy diskettes can be found in the

1 720A File U tility U ser Manual.

3-4

Getting Started

1 720A l nstrument Controller

Verltylng the Worklng D iskette

Once you ha ve created a working copy of the program diskette, yo u should verify the integrity of its files by running VERIFY, one of the programs included in the compiler package. To run the VERIFY program, type

VERIFY <RETURN> in response to the 1 720A Console Monitor program prompt.

The VERIFY program checks the contents of the 1 720A System

Device (SYO:) to verify the integrity of the Compiler package files. It calculates a checksum for each of the files and compares it to the checksum contained in the VERIFY.DAT file. VERIFY.DAT is an

ASCII file that contains a list of filenames and checksums for each of the files in the compiler package.

Results from the VERIFY program are printed in tabular form as each file is checked. Missing files or checksum errors (that could indicate either corrupted files or incorrect version numbers) are reported. If such problems occur, recopy the diskette and run the VERIFY program again. If problems persist and you are unable to run any of the programs, contact a Fluke Technical Service Center.

3-5

Getting Started

1 720A l nstrument Controller

Hooklng Up the System

The 1 720A must be connected to the 90 1 0A whenever you want to transfer the hex files produced by the compiler to the 90 1 0A for execution. l . U se an RS-232-C interface cable and an RS-232-C null modem cable to connect the auxiliary interface of the 90 l OA to one of the serial ports on the 1 720A.

KB 1 : or KB2: can be chosen as the serial port on the 1 720A.

XFER, the file transfer program described in Section 5,

Compiler U sage, allows yo u to specify the port name to be used when transferring files to the 90 1 0A.

Since XFER defaults to KBI:, it is more convenient to connect the 90 1 0A to KBI: if KBI: is not already being used for sorne other purpose.

2. Set the RS-232-C auxiliary interface parameters on the rear panel of the 90 1 0A. Suggested settings are:

9600 baud (switch setting 7)

Parity: even

Data bits: 8

Stop bits: 1

Parity: on

90 1 0A Setup parameter NEWLINE must be set to OOOOODOA

(the 90 1 0A default value) for transferring files.

3. Set the parameters of the serial port on the 1 720A to correspond to those of the 90 1 0A. SET, a 1 720A system program, is included on the program diskette for this purpose.

Refer to the 1 720A Set RS-232-C Utility User Manual for a complete description of how to use the SET utility.

3-6

Getting Started

1 720A 1 nstrument Control ler

NOTE

The STALL option must be enabled on the 1720A ifanyfi/es are to be transferred from the 90JOA to the 1720A. This option is not required if files are only transferred from the 1720A to the 90JOA.

Sorne early versions of the 1720A Set RS-232-C Utility program do not implement the STALL option. Be sure to use the Set RS-232-C Utility program that is contained in the

90JOA Language Compiler package.

The End of Line character should be set to JO and the End of

File character shou/d be set to 26 (the 1720A default values).

The following example demonstrates how the SET utility can be used to select the parameters that correspond to the above

90 1 0A settings.

#SET

*KB l : BR 9600 DB 8 PB E SB 1 SI E SO E

*EX

Since the 1 720A serial port parameters must be reestablished every time the 1 720A is turned on, you will probably want to incorporate the necessary commands into a system command file. The 1 720A Floppy Disk Operating System User Manual contains information on how this is done.

3-7

Getting Started

1 720A l nstru ment Control ler

System Dependencles

Text Editor

In order to create and maintain source files on the host system, a general-purpose text editor is required. The Editor Accessory program

(filename ESX) is the recommended editor for use with the 1 720A.

A copy of the Editor Accessory program is included on the program diskette, and a copy of the Editor U ser Manual is included with the compiler package.

Disk Space

After using the Editor or Compiler programs, it may be advantageous to pack the disk contents, using the 1 P option in the 1 720A File U tility program, to provide as much free disk space as possible. Refer to the

1 720A File Utility U ser Manual if you need help with packing the disk.

The message

?Readj write past physical end of file means that there was not enough contiguous disk space to create the output files. Delete any unnecessary files, pack the disk, and try again.

Compilar Organization

The Compiler program is constructed of overlayed program segments, sorne of which must be loaded during program execution. Therefore, if the Compiler program is being used from a floppy disk, the disk must remain in the disk drive while the program is running. Do not remove the disk until the program is finished.

If the overlays are not available when needed, the fatal error message

!Unable to load overlay will be displayed.

3-8

Getting Started

FLUKE 1 722A I NSTR UMENT CONTROLLER

1 ntroductlon

The following information applies to the 1 722A version of the 90 1 0A

Language Compiler.

What You Need

The following equipment is needed in order to use the compiler package: l . Fluke 9005A or 90IOA Micro-System Troubleshooter with

Option 90 1 OA-00 1 , RS-232-C Interface.

2. Fluke 1 722A I nstrument Controller.

3. Fluke Y 1 705 RS-232-C Null Modem Cable and Y 1 707 RS-

232-C Interface Cable.

4.

Fluke 90 1 0A-920 90IOA Language Compiler, 1 720A j 1 722A

Version.

Backlng Up the Prog ram Diskette

The 90 1 OA Language Compiler package consists of this manual and a write-protected program diskette containing the compiler itself and various other programs and data files.

Before using the compiler, you should make a copy of the program diskette. This copy should be used for normal day-to-day operations, while the original program diskette should be kept in a safe place as a backup so that the working copy can be resto red if it is ever damaged.

Complete instructions on how to copy diskettes can be found in the

1 722A System Manual.

3-9

Getting Started

1722A l nstrument Control ler

Verlfylng the Worklng Diskette

Once you ha ve created a working copy of the program diskette, you should verify the integrity of its files by running VERIFY, one of the programs included in the compiler package. To run the VERIFY program, type

VERIFY <RETURN> in response to the 1 722A FDOS prompt.

The VERIFY program checks the contents of the 1 722A System

Device (SYO:) to verify the integrity of the compiler package files. 1t calculates a checksum for each of the files and compares it to the checksum contained in the VERIFY. DAT file. VERIFY. DAT is an

ASCII file that contains a list of filenames and checksums for each of the files in the compiler package.

Results from the VERIFY program are printed in tabular form as each file is checked. Missing files or checksum errors (that could indicate

either corrupted files or incorrect version numbers) are reported. If such problems occur, recopy the diskette and run the VERIFY program again. If problems persist and yo u are unable to run any of the programs, contact a Fluke Technical Service Center.

Hooklng Up the System

The 1 722A must be connected to the 90 10A whenever you want to transfer the hex files produced by the compiler to the 90 1 0A for execution. l . U se an RS-232-C interface cable and an RS-232-C null modem cable to connect the auxiliary interface of the 90 1 OA to the serial port on the 1 722A.

2. Set the RS-232-C auxiliary interface parameters on the rear panel of the 901 0A. Suggested settings are:

9600 baud (switch setting 7)

Parity: even

Data bits: 8

Stop bits: 1

Parity: on

3-1 0

Getting Started

1722A l nstru ment Controller

The 901 0A Setup parameter NEWLINE must be set to

OOOOODOA (the 9010A default value) for transferring files.

3 . Set the parameters of the serial port on the 1 722A to correspond to those of the 90 10A. The Set Utility program

(SET), a 1 722A system program, is included on the program diskette for this purpose. Refer to the 1 722A System Manual for a complete description of how to use the SET utility.

NOTE

The STALL option must be enabled on the 1722A ifanyfiles are to be transferred from the 9010A to the 1722A. This option is not required iffiles are on/y transferred from the 1722A to the 9010A.

The End of Line character should be set to JO and the End of

File character should be set to 26 (the 1722A default values).

The following example demonstrates how the SET utility can be used to select the parameters that correspond to the above

90 1 0A settings.

#SET

*KB l : BR 9600 DB 8 PB E SB 1 SI E SO E

*EX

Since the 1 722A serial port parameters must be reestablished every time the 1 722A is turned on, you will probably want to incorporate the necessary commands into a system command file. The 1 722A System Manual contains information on how this is done.

3-1 1

Getting Started

1 722A l nstrument Control ler

System Dependencles

Text Editor

In order to create and maintain source files on the host system, a general-purpose text editor is required. The Editor Accessory program

(filename EDIT) is the recommended editor for use with the 1 722A.

A copy of the Editor Accessory program is included on the program diskette, and instructions for using the editor are included as an

Addendum to this manual.

Disk Space

After using the Editor or Compiler programs, it may be advantageous to pack the disk contents, using the 1 P option in the 1 722A File Utility program, to provide as much free disk space as possible. Refer to the

1 722A System Manual if you need help with packing the disk.

The message

?Read 1 write past physical end of file means that there was not enough contiguous disk space to create the output files. Delete any unnecessary files, pack the disk, and try again.

3-1 2

Getting Started

IBM PERSONAL COMPUTER l ntroductlon

The following information applies to the IBM Personal Computer

(PC) version of the 90 10A Language Compiler.

What You Need

The following equipment is needed in order to use the compiler package: l. 9005A or 90 1 0A Micro-System Troubleshooter with Option

90 10A�O l RS-232 Interface.

2. IBM Personal Computer (model PC or XT) with: a. A monochrome or color display. b. Version 1 . 1 or 2.0 of the IBM DOS Operating System. c. At least 1 28 K bytes of RAM. d. A disk drive. We recommend using two disk drives or a fixed Winchester technology disk drive. e. An RS-232-C interface.

3. Fluke Y 1 705 RS-232-C Null Modero Cable and Fluke Y l 707

RS-232-C Interface Cable.

4.

Fluke 90 1 0A-923 90 1 0A Language Compiler (IBM PC version).

3-1 3

Getting Started

I B M Personal Com putar

Backing Up the Program Diskette

The 90 1 OA Language Compiler package consists of this manual and a write-protected program diskette containing the compiler itself and various other programs and data files.

Before using the compiler, you should make a copy of the write­ protected program diskette. This copy is used for normal day-to-day operations, while the original program diskette should be kept in a safe place as a backup so that the working copy can be resto red if it is ever damaged.

Complete instructions on how to copy diskettes can be found in the

IBM Disk Operating System (DOS) User Manual.

Verifying the Working D iskette

Once you ha ve created a working copy of the program diskette, you should verify the integrity of its files by running VERIFY, one of the programs included in the compiler package. To run the VERIFY program, put the working diskette in drive a: and then type a:VERIFY <RETURN> in response to the IBM system prompt.

The VERIFY program checks the contents of the copy to verify the integrity of the compiler package files. lt calculates a checksum for each of the files and compares it to the checksum contained in the

VERIFY.DAT file. VERIFY.DAT is an ASCII file that contains a list of filenames and checksums for each of the files in the compiler package.

Results from the VERIFY program are printed in tabular form as each file is checked. M issing files or checksum errors (that could indicate either corrupted files or incorrect version numbers) are reported. lf such problems occur, recopy the diskette and run the VERIFY program again. If problems persist and you are unable to run any of the programs, contact a Fluke Technical Service Center.

3-1 4

Getting Started

I B M Personal Computer

Hooklng Up the System

The IBM PC must be connected to the 90 10A whenever you want to transfer the hex files produced by the compiler to the 90 l OA for execution. l . U se an RS-232 interface cable and an RS-232 null modem cable to connect the auxiliary interface of the 90 1 OA to a serial port on the IBM PC.

2. Set the RS-232 auxiliary interface parameters on the rear panel of the 90 l OA. S uggested settings are:

2400 baud (switch setting 5)

Parity: On

Data bits: 8

Stop bits: 1

Parity: Even

3. Set the parameters of the serial port on the IBM PC to correspond to those of the 90 1 0A.

You may use the IBM MODE command to configure the serial port.

Refer to the IBM instruction manuals for help.

4. The NEWLINE setup parameter should be set to IOOOODOA for transferring files. lf transmission errors occur, it may be necessary to change the timing delay to a larger value. See the

90 1 0A Operator Manual for more information.

5. The 90 10A setup parameters STALL and UNSTALL should be set to 1 3 and 1 1 respectively (the 90 lOA default values) when transferring files.

3-1 5

Getting Started

IBM Personal Computer

System Editor

In order to create and maintain source files on the host system, a general-purpose text editor is required. Any general-purpose editor may be used with 9010A language source files.

RETURN Key

References to the RETURN key in this manual refers to the key on the IBM Personal Computers.

3-1 6

Getting Started

CP/M OPERATING SYSTEMS l ntroductlon

The following information applies to the version of the 90 1 0A

Language Compiler for CP j M systems.

CP j M (Control Program for Microcomputers) is a product of Digital

Research, Inc. lt is a general-purpose operating system that runs on a wide variety of host computers.

What You Need

The following equipment is needed in order to use the compiler package with a host computer running the CP j M operating system: l . 9005A or 90 10A Micro-System Troubleshooter with Option

901 0A-00 1 RS-232 Interface

2. CP / M compatible Z80 based host computer system with: a. At least one eight-inch IBM 3740 format disk drive. We recommend using two disk drives. b. Standard CP 1 M Operating System software (version 2.2). c. An RS-232-C interface.

3 . An RS-232-C Interface Cable suitable for connecting your host computer system to the 90 1 0A. For example, use a Fluke

Y 1 709 RS-232-C Interface Cable to connect a Kaypro I I

Personal Computer t o a 90 1 0A.

4. Fluke 90 1 0A-92 1 , the version of the 90 1 0A Language

Compiler package for CP j M on eight inch disks, or 90 1 OA-

922, the version for the Kaypro 11 Personal Computer with

CP j M on a 5-1 j4 inch disk.

3-1 7

Getting Started

CP/M Operating Systems

Backing Up the Program D iskette

The 90 1 OA Language Com piler package consists of this manual and a write-protected program diskette containing the compiler itself and various other programs and data files.

Befare using the compiler, you should make a copy of the write­ protected program diskette. This copy is used for normal day-to-day operations, while the original program diskette should be kept in a safe place as a backup so that the working copy can be resto red if it is ever damaged.

Verlfylng the Worklng Diskette

Once you ha ve created a working copy of the program diskette, you should verify the integrity of its files by running VERIFY, one of the programs included in the compiler package. To run the VERIFY program, type

<VERIFY R ETURN > in response to the CP / M system prompt.

The VERIFY program checks the contents of the copy to verify the integrity of the compiler package files. It calculates a checksum for each of the files and compares it to the checksum contained in the

VERIFY.DAT file. VERIFY.DA T is an ASCII file that contains a list of filenames and checksums for each of the files in the compiler package.

Results from the VERIFY program are printed in tabular form as each file is checked. M issing files or checksum errors (that could indicate either corrupted files or incorrect version numbers) are reported. If such problems occur, recopy the diskette and run the VERIFY program again. If problems persist and yo u are unable to run any of the programs, contact a Fluke Technical Service Center.

3-1 8

--�

Getting Started

CP/M O perating Systems

Hooking U p the System

The host computer must be connected to the 9010A whenever you want to transfer the hex files produced by the compiler to the 90 l OA for execution. l . Use an RS-232 interface cable to connect the auxiliary interface of the 90 l OA to a serial port on the host computer.

2. Set the RS-232 auxiliary interface parameters on the rear panel of the 90 1 0A. Suggested settings are:

9600 baud (switch setting 7)

Parity: Even

Data bits: 8

Stop bits: 1

Parity: on

3 . The NEWLINE setup parameter should be set to 1 0000DOA for transferring files. If transmission errors occur, it may be necessary to change the timing delay to a larger value. See the

90 1 0A Operator Manual for more information.

4. The 90 1 0A setup parameters STALL and UNSTALL should be set to 1 3 and 1 1 respectively (the 90 1 0A defaull values) when transferring files.

5. Set the parameters of the serial port on the host computer to correspond to those of the 90 1 O A.

Refer to I nstalling Software in this section for further information on setting the RS-232 parameters.

3-1 9

Getting Started

CP/M O perating Systems l nstalllng Software

On CP j M systems, the File Transfer utility program (XFER) uses information from a data file for configuring RS-232-C transfers. This file, CONFIG.PRT, is automatically created for each system the first time that the File Transfer program is used.

The program will prompt for information about RS-232-C port parameters, and use the information that you enter to create the data

· file on the system default disk.

Refer to the host computer's instruction manuals if yo u need further information to answer the prompts.

Once the CONFIG.PRT data file is available on the disk, it will automatically be used for subsequent file transfers with the XFER program. This file contains port status and data addresses, an optional baud rate address, and SIO initialization bytes.

To change the RS-232-C configuration in the CONFIG.PRT file, use the Configure option (C) in the File Transfer program. The prompts will be repeated to allow you to redefine the configuration.

Note that the CONFIG.PRT file will be created on the system default device. The system disk must not be write-protected at this time.

Editor

In order to create and maintain source files on the host system, a general-purpose text editor is required. Any general-purpose editor may be used with 90 1 0A Language source files.

3-20

Section 4

Writing Programs

CONTENTS

I ntroduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3

Part 1 : General Program Format . . . . . . . . . . . . . . . . . . . . . . . 4-4

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4

Important Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5

Program Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7

90 1 0A Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8

Address Space Information . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8

Setup Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9

Pod Data Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 1

90 1 0A/ Pod Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 2

Sample Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 3

Part 2: Coding Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 6

Introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

4-1 6

Optional Keywords and Keyword Abbreviations . . . . . . . . 4-1 7

Unary Operator Shorthand . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 8

Default Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 8

File Inclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 9

Sample Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20

Part 3: Symbolic Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22

Symbolic Program Names . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24

Symbolic Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-26

Symbolic Register Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-28

Predefined Register N ames . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29

Sample Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-30

4-1 /4-2

Writing Programs

I NTRODUCTION

This section provides the information you need to write programs for the 90 1 OA Language Compiler. The section is divided into three parts.

Each part is self-contained and describes increasingly more advanced features of the 90 1 OA Language.

The three parts cover the following tapies:

PART 1 : GENERAL PROGRAM

FORMAT

Describes how to write simple programs using the standard f e a t u r e s o f t h e 9 0 1 0 A

Language

PART 2: CODING SHORTC UTS Introduces sorne extended fe a t u r e s o f t h e 9 0 1 0 A

Language which reduce the amount of typing required to enter programs

PAR T 3: SYMBOLIC NAM E Allows programs to be made more readable and easier to maintain by using mnemonic names for programs, labels, and registers

The best way to learn the 90 1 0A Language is to start by reading through Part 1 of this section, and then skip directly to Section 5, U sing the Compiler. Y o u should use the compiler to compile the example programs provided in Part 1 , and then try writing sorne simple programs of your own.

Once yo u feel comfortable with the concepts covered in Part 1 , yo u can return at any time to this section and proceed with the more advanced concepts covered in the remaining parts . The compiler can be used productively at any of the three levels.

4-3

Writing Programs

PART 1 : GEN ERAL PROGRAM FORMAT lntroductlon

The 90 1 OA Language Compiler allows yo u to crea te so urce files identical to those that the 90 1 0A AUX I/ F functions send via the RS-

232-C auxiliary interface. These files can contain the en tire contents of the 901 0A memory - not only 90 1 0A programs but also any available address space and setup information.

In source files for the 90 1 0A Language Compiler, address space information, setup information, and programs are described in separate blocks. These blocks are identified with compiler keywords, such as SETUP INFORMATION. This section provides information about using the various blocks and shows sorne sample source files.

In the 90 1 OA language, program statements use an expanded syntax to take advantage of the flexibility of the host system text editor and to provide enhanced readability. Program lines may contain comments and symbolic names. More information about source files and program lines is found throughout this section. Section 6, Language

Reference, contains detailed information on the syntax and usage of each 90 1 OA program statement.

The following is an example of a short source file containing two valid

901 0A programs and no address space or setup information:

PROGRAM O

DPY- THIS /S A N EXAMPLE

EXECUTE PROGRAM 1 0

DPY-OF A VALlO 9010A PROGRAM

PROGRAM 10

REG 1 = 40

0: LABEL O

DEC REG 1

IF REG1 > O G O TO O

4-4

Writing Prog rams

General Program Format lmportant Detalla

When writing programs for the 90 1 0A Language Compiler on your computer, you will find that it is necessary to pay attention to sorne details that you could ignore when entering programs using the 90 1 0A keyboard. These important rules are:

Each 90 1 OA statement must be on a separa te line. Continuation lines are not allowed.

A statement may begin in any column.

Spaces and tabs are ignored, except when they occur in DPY or

AUX statements.

Blank lines are ignored.

Adjacent keywords, symbolic names (described in Part 3 of this section), and numbers must be separated by at least one space.

EXAMPLES:

VALID

INVALID

READ PROBE READPROBE

DTOG @ 1 00F9

=

80 BIT 7 DTOG @ 1 00F9 = 80 BIT7

Uppercase and lowercase characters can be used interchangeably.

EXAMPLE:

The following program statements are all equivalent:

WRITE @ 1 00FA = 1 write @ 1 OOfa

=

1

Write @ 1 00FA = 1

4-5

Writing Programs

General Program Format

In a few cases, the 90 1 OA Language does not correspond exactly to the keys that would be pressed if the program were being entered on the 90 1 0A keyboard.

For example, INC REG5 is a legal statement accepted by the compiler. However, the keystrokes used to create this statement on the 90 1 0A are INC 5, which would not be accepted by the compiler.

As another example, REGA = REGA INC is a legal statement accepted by the compiler, but the keystrokes used to create this statement on the 90 1 0A are REG A INC, which would not be accepted.

In general, the keywords of the 90 1 OA Language are not identical to the wording that appears on the 90 1 0A keyboard.

For example:

KEYBOARD

DISPL

COMPL

90 1 0A LANGUAGE

DPY

CPL

RPEAT

TOGGL DATA

REPT

DTOG

In all cases, however, the keywords accepted by the compiler are compatible with listings produced by the 90 1 0A through the RS-

232-C auxiliary interface.

A�

4-6

Writing Prog rams

General Program Format

Program Comments

The 90 1 0A Language Compiler allows you to add comments to your programs, making the programs more readable and easier to maintain.

The rules for using comments are:

Comments start with an exclamation point (!), and they extend to the end of the line.

A comment can be on the same line as a 901 OA statement, or it can be on a separate line.

If a comment extends over several lines, each line must begin with an exclamation point .

A comment cannot be placed in the middle of a 90 1 0A statement.

EXAMPLE:

! This example demonstrates the use of comments.

PROGRA M O

! Main program

DPY- THIS /S A N EXAMPLE

! D P Y statements can h a ve comments

EXECUTE PROGRAM 10

DPY-OF A VALlO 9010A PROGRAM

! Execute the de/ay routine

PROGRAM 10

REG 1

=

40

0: LABEL O

DEC REG 1

IF REG 1 > O G O TO O

! De/ay routine

! lnitialize R E G 1 with de/ay count

! Count down to zero

4-7

W riti ng Programs

General Program Format

901 0A Programs

The 90 10A Language allows programs to be specified in the same form that would be produced by the 90 10A AUX 1 / F PROGM keys. By connecting a printer to the auxiliary interface of the 90 10A, you can obtain formatted listings of your 90 1 OA programs. These listings can serve as examples of acceptable syntax.

Address Space l nformation

The 90 l OA Language allows address space information to be specified in the same form that would be produced by the 90 10A AUX 1 / F

LEARN keys.

The following rules apply to address space information:

The address space information must appear at the beginning of the so urce file, preceding all 90 l OA programs (i.e. , befo re the first

PROG RAM statement).

U p to lOO add ress descriptors may be specified.

E X A M P L E :

!

This is a n example o f a source file containing

!

U U T memory map information

A DDRESS SPACE INFORMA TI ON

RAM

@

COOO-FFFF

ROM

@

0000- 1 FFF SIG 0295

ROM @ 2000-3FFF SIG C262

PRO G RAM O

RAM SHORT

ROM TES T

··�

4-8

Writing Prog rams

General Program Format

Setup l nformatlon

The 90 1 0A Language allows any or all of the setup parameters to be specified in the same form produced by the 90 10A AUX 1 / F SETUP keys.

The 90 1 0A setup functions allow the operator to control the reporting of UUT errors, enable microprocessor lines, and specify operating parameters. The 90 1 0A Operator M anual contains complete information on the various setup parameters that can be specified.

The following rules apply to setup information:

Setup information must appear at the beginning of the so urce file, preceding all 90 1 0A programs (i.e., before the first PROGRAM statement). The setup information may appear either before or after any address space information.

Yo u can specify all of the setup parameters, sorne of them, or non e of them. Setup parameters that are not explicitly set assume default values contained in the pod data file (if a pod data file is specified), or to the power-up values supplied by the 90 1 0A.

Sorne setup information is pod-dependent. The pod-unique information includes enableable forcing lines, the default bus test address, and the RUN UUT address. If any of your 90 10A programs depend u pon the pod-unique features (i.e., a forcing line needs to be disabled or a RUN U UT must be performed at the pod's default address, then the appropriate Pod Data file needs to be included in the source file. To do this, an INCLUDE statement is used to specify the correct Pod Data file:

INCLUDE "podname.POD"

This statement must appear befare the setup information in the source file.

EXAMPLE:

INCLUDE "8086.POD"

4-9

Writing Programs

General Program Format

The INCLUDE statement is described in Part 2 of this section. Pod data files are described below.

A POD statement should be placed in the setup section ifany ofthe programs depend upon pod-unique features.

EXAMPLE:

INCLUDE "8086. POD"

SETUP INFORMA TION

POD - 8086

TRAP A C TIVE FORCE LINE/NO

TRAP A C TIVE INTERRUPT- YES

4-1 0

Writing Programs

General Program Format

Pod Data Files

The 90 1 OA Language Compiler program diskette contains a collection of files with names like 8086.POD, 68000.POD, etc. These files contain pod-specific definitions for enableable forcing lines, bus test address

(BUSAD R), and RUN UUT address (UUTADR). If you want to specify any of the pod-specific setup parameters, you should merge the appropriate pod data file into your source file by using an INCLU DE statement. The INCLUDE statement must appear befare the SETUP

INFORMA TION section.

Pod-specific forcing lines are defined in the pod data file. The pods equate each of the forcing lines to a bit in an enable mask.

For example, the definitions for an 8086 pod are shown below:

! Each of the enableab/e forcing lines must be defined as the

! appropriate bit in the enable mask.

FORCELN READY = O

FORCELN HOLD = 1

FORCELN INTR = 3

BUSADR

0000

UUTADR = FFFFO

!

!

REA D Y is bit O in the enab/e mask

HOLD is bit 1 in the enab/e mask

! INTR is bit 3 in the enable mask

! BUSADR is the pod's default BUS TEST address

! UUTADR is the pod's default RUN UUT address

! Other definitions can follow

4-1 1

Writing Programs

General Program Format

901 0A/Pod lnteraction

Setup information takes effect immediately upon loading a new hex file into the 90 1 0A (whether through READ TAPE or AUX 1/ F

READ). An interaction takes place between the 90 10A and the interface pod when the hex file is loaded and setup information may be changed to the default setting of the pod if: l . The pod name was not specified with a POD statement in the setup section, or

2. A different pod is connected to the 90 1 0A while the hex file is being loaded into the 90 1 0A.

T o avoid changing the parameters in pod-dependent programs: l . An INCLUDE statement must be used in the setup section of the source program to include information from the appropriate Pod Data file.

2. A POD statement must be used in the setup section of the ."""""' source program to identify which pod is being used.

3. The correct pod (or no pod) must be connected to the 90 10A when downloading a compiled hex file.

·�.

4-1 2

Writing Programs

General Program Format

Sample Program

The following sample source file illustrates the concepts introduced in

Part l . This example can be u sed as a basis for writing your own 90 l OA programs. Befare continuing to Part 2, you may wish to copy this program using your host computer and transfer it to your 90 1 OA as an exercise.

Section 5, Using the Compiler, shows how to run the compiler and transfer the generated hex files to the 90 1 0A.

Once you feel comfortable using the compiler at this level, you should proceed with Part 2, which introduces sorne extended features that simplify the task of writing larger test programs.

! This program tests the U52 flip-flop on the output side

! of the B255 PIA on the NEC TK-BOA single-board computer.

INCLUDE "BOBO. POD"

SETUP INFORMA TI ON

POD - BOBO

TRAP A C TI VE FORCE LINE-NO

TRAP A C TIVE INTERRUPT- YES

ADDRESS SPACE INFORMA TION

RAM @ BCOO-BFFF

ROM @ 0000-07FF SIG F77C

1!0 @ 100FB-100FA BITS FF

PROGRAM O

WRITE @ 1 00FB = BO

0: LABEL O

REG2 = A

REGB = 1A09

EXECUTE PROGRAM 3

EXECUTE PROGRAM 1

IF REGB = 1 G O TO 1

DPY- TES TING U52#

READ PROBE

! Note: this address space information

! is not actual/y used by the

! program, but the descriptors

! wi/1 be loaded into the 9010A

! Main program

! Configure PIA for output

! Set up entry

! Set up 10 stimulus loops

! Store U52 - pin9 for prompt

! Prompt for probe placement

! Detect probe placement

! Branch on open node

! Display - Testing U52

! Clear probe data register

4- 1 3

Writing Programs

General P rogram Format

2: LABEL 2

WR/TE @ 1 00FA = 1

D TO G @ 100F9 = 80 BIT 7

WRITE @ 1 00FA = O

D TOG @ 100F9

=

80 BIT 7

DEC REG2

IF REG2 > O G O TO 2

EXECUTE PROGRAM 2

IF REG8 = A G O TO 3

DPY-U52 TOGGLING IMPROPERL Y#

G O T0 4

! Stimu/us loop

! Set f/ip flop D input high

! Toggle flip flop

! Set f/ip flop D input low

! Toggle again

! Loop for 10 tries

! Extract probe data

! Branch on probe count = 10

! Display bad toggle

! Exit

1: LABEL 1

DPY-WAS PROBE IN PLACE# ?1

IF REG1 = O G O TO O

DPY-U52 OPEN#

G O T0 4

! Open node loop

! Query

! Branch if probe not ready

! Display - U52 bad

! Exit

3: LABEL 3

DPY-U52 TES T PASSED#

4: LABEL 4

PROGRAM 1

SYNC FREE-RUN

0: LABEL O

REG 1 = 50

REG2 = 20

! Device passed

! End

! Program to detect probe placement

! Set counts

! Open count

=

50

! Debounce count =20

1: LABEL 1

READ PROBE

IF REGO ANO 5000000 > O G O TO 2

DEC REG 1

IF REG 1 > O G O TO 1

REG8 = 1

G O T0 3

2: LABEL 2

DEC REG2

READ PROBE

IF REGO ANO 5000000 = O G O TO O

IF REG2 > O G O TO 2

REG8 = O

3: LABEL 3

! Open loop

! Gather leve/ information

! Branch on bounce leve/

! Decrement open count

! Loop if count > O

! Set Open Node flag

! Exit

! Debounce loop

! Decrement debounce count

! Gather leve/ information again

! Branch on open leve/

! Loop if count > O

! Set Begin Test flag

! End

4-1 4

Writing Programs

General Program Format

PROGRAM 2 ! Program to extract the probe data

REAO PROBE

REGB = REGO A NO 7F

! Gather probe information

! Extract count

REG9

=

REGO SHR SHR SHR SHR SHR SHR SHR SHR ANO FFFF ! Extract Sig.

REGA

=

REGO SHR SHR SHR SHR SHR SHR SHR SHR

REGA

=

REGA SHR SHR SHR SHR SHR SHR SHR SHR

REGA = REGA SHR SHR SHR SHR SHR SHR SHR SHR ANO 7 ! Extract leve/

PROGRAM 3 ! Program to prompt the operator

REG2 = REGB ANO 7F

! Register 2

= pin number

REG 1 = REGB SHR SHR SHR SHR SHR SHR SHR ANO 7F ! R1

=

Oevice num.

OPY-PROBE U@ 1 PIN @2# ! Prompt for probe placement

4-1 5

Writing Programs

PART 2: COD ING SHORTCUTS lntroductlon

The 901 0A Language is designed to be compatible with the formatted listings produced by the AUX 1 / F keys on the 90 1 0A. In this format, you may find that sorne statements require much more typing than would be required to en ter the same statement through the 90 l OA keyboard.

To make it easier to enter large programs on the host system, the 90 l OA

Language Compiler provides several features which reduce the amount of typing required. These features are:

Optional Keywords and Keyword Abbreviations

Unary Operator Shorthand

Default Entries

File lnclusion

4-1 6

Writing Prog rams

Coding Shortcuts

Optional Keywords and Keyword Abbreviatlons

The 90 10A Language provides the option of abbreviating certain keywords or leaving them out entirely. Appendix C, Optional

Keywords and Keyword Abbreviations, contains a complete list of the optional keywords and valid abbreviations. Furthermore, the syntax diagrams in Section 6, Language Reference, indicate the abbreviated forro of each statement in the language.

EXAMPLES:

STA TEMENT ABBREVIA TED FOR M

EXECUTE P ROGRAM 5 EXECUTE 5 or

WRITE @ lOOFF

3: LABEL 3

=

SYNC ADDRESS

25

EX 5

WRITE l OOFF = 25 or

WR l OOFF = 25

3 :

SYNC A or

3: SYNC A

4-1 7

Writing Programs

Codi n g Shortcuts

U nary Operator Shorthand

For multiple applications of a unary operator (INC, DEC, CPL, S HL, or S H R), you may specify the unary operator followed by a decimal number indicating how many times it is to be applied.

EXAMPLE: statement

REG 1 = REGO SHR SHR SHR SHR SHR SHR SHR ANO 7F be abbreviated to

REG 1 = REGO SHR 7 ANO 7F

Default Entrles

When programs are created through the 90 l OA keyboard, many of the en tries in a program step can be defaulted to the appropriate dedicated register by pressing the ENTER key.

For example, to create the statement READ @ R EGF, you need only press the R EAD and ENTER keys on the 90 1 0A. The read address automatically defaults to R EGF.

Similarly, if the WRITE and ENTER keys are pressed on the 90 1 0A, the write address automatically defaults to REGF, and the data to be written defaults to REGE.

The 90 l OA Language provides a similar default capability. Y o u can use an asterisk

(*) to indicate that an entry should default to a dedicated register. The syntax diagrams in Section 6, Language

Reference, indicate which entries can be defaulted in this way.

EXAMPLES:

STATEMENT

READ REGF

WRITE REGF = REGE

DEFAULT FOR M

READ

*

WRITE

*

=

*

A

"""'

4-1 8

Writi ng Prog rams

Coding Shortcuts

File l ncluslon

To facilitate handling large collections of source code which can be shared by severa! programs, the 90 lOA compiler provides a file inclusion feature. This feature allows yo u to crea te a library of useful

90 1 OA programs and use the file inclusion facility to merge them into a particular source file.

A line of the form

INCLUDE "filename" in the source file will be replaced by the contents of the file "filename" when the program is compiled. The effect is equivalent to manually entering the contents of the included file at that point in the so urce file.

EXAMPLE:

Assuming that the file PROMPT.S contains

PROGRA M 3

REG2

=

REGB ANO 7F

REG 1

=

REGB SHR 7 ANO 7F

OPY-PROBE U@ 1 PIN @2# then the source file

PROGRA M O

REGB

=

1A09

EXECU TE PROGRAM 3

JNCLUOE "PROMPT. S " have exactly the same effect as the source file

PROGRA M O

REGB

=

1A09

EXECUTE PROGRA M 3

PROGRAM 3

REG2

=

REGB ANO 7F

REG 1

=

REGB SHR 7 A NO 7F

OPY-PROBE U@1 PIN @2#

4-1 9

Writing Prog rams

Coding Shortcuts

Sample Prog ram

The following example is similar to the one given at the end of Part 1 , but it takes full advantage of the abbreviation features. The example assumes that the file P ROBE l .S contains the code for P ROGRAM 1 ,

PROBE2 . S contains P ROGRAM 2 , and PROMPT.S contains

PROGRAM 3 .

! This program tests the U52 flip-flop o n the output side

! of the 8255 PIA on the NEC TK-80A single-board computer.

INCLUDE "8080.POD"

! Equivalent to SETUP INFORMA TION SETUP

POD - 8080

TRAP A C TI VE FORCE LINE NO

TRAP A C TIVE INTERRUPT YES

ADDRESS SPA CE

RAM 8C00-8FFF

ROM 0000-07FF SIG F77C

1/0 100F8- 100FA BITS FF

! - in SETUP statements is optional

! @ omitted

PROGRAM O

WR 100FB

=

80

0: REG2 = A

REG8

=

1A09

OEX 3

EX 1

IF REG8 = 1 G O TO 1

DPY TES TING U52#

PROBE

2: WR 1 00FA = 1

DTOG 1 00F9 = 80 BIT 7

WR 100FA = O

D TOG 100F9 = 80 BIT 7

DEC REG2

IF REG2 > O G O TO 2

! WRITE abbreviated to WR

! Same as EXECUTE PROGRAM

! Short form of LABEL statement

EX 2

IF REG8 = A G O TO 3

DPY U52 TOGGL/NG IMPROPERL Y#

! - is optional in DPY statement

G O T0 4

3

4-20

Writing Prog rams

Codi n g Shortcuts

1: DPY WAS PROBE IN PLA CE# ?1

IF REG1

= O G O TO O

DPY U52 OPEN#

G O T0 4

3: DPY U52 TES T PASSED#

4:

INCLUDE "PROBE1.S"

INCLUDE "PROBE2.S"

INCLUDE "PROMPT.S"

! Coda for PROGRAM 1 is insertad he re

! PROGRAM 2

! PROGRAM 3

4-21

Writing Programs

PART 3: SYMBOLIC NAMES l ntroductlon

The 90 1 0A Language allows programs, labels, and registers to be referred to by symbolic names. For example, the statement

EXECUTE P ROGRAM 5 could be replaced by something more meaningful, such as

EXECUTE P ROGRAM DELA Y

Symbolic names can contribute greatly to the readability of programs, allowing the programs to be self-documenting to a large degree.

The following rules apply to symbolic names:

Symbolic names must begin with a letter, and they can contain any number of letters, digits, and underscore characters (_).

Only the first eight characters of a name are significant. For example, TESTMENU 1 AND TESTMENU2 are treated as identical names.

90 1 0A Language keyword s , such as L O O P , R E A D and

PROGRAM, cannot be used as symbolic names. For example, although LOOP cannot be used as a symbolic label name, LOO P I i s acceptable.

Appendix A contains a complete list of the 90 1 0A Language keywords. Using a keyword as a symbolic name causes the compiler to issue a SYNT AX ERROR message.

Symbolic names must contain at least one letter other than A, B, C,

D, E, or F so that they can be distinguished from hexadecimal constants. This means that words like BAD, ACE, or F ADE cannot be used as symbolic names because the compiler will interpret them as hex constants. U sing a hex constant as a symbolic name causes the compiler to issue a SYNT AX ERROR message.

4-22

Writing Programs

Symbolic Names

Symbolic names can be used anywhere that the corresponding actual program number, register number, or label number can occur in a 90 1 0A program.

Forward references are permissable for program names and label names. In other words, an EXECUTE or GOTO statement using a symbolic name is allowed to appear either before or after corresponding PROGRAM or LABEL statements.

Register names may appear in DPY and AUX statements.

Symbolic names are case-insensitive. For example, a name can be declared in uppercase and referenced in lowercase, and names ca:t be a mixture of uppercase and lowercase letters.

4 -23

Writing Programs

Sym bolic Names

Symbollc Program Names

901 0A Language allows programs to be referred to by name as well as by number. By choosing descriptive program names, you can make your programs much more readable and maintainable.

Symbolic program names do not need to be declared explicitly. Simply using a name in a PROGRAM statement or in an EXECUTE statement is sufficient to define that symbolic program name.

The compiler assigns sequential program numbers to symbolically­ named programs, starting with PROGRAM O for the first program in the source file. Each time a symbolic PROGRAM statement is encountered, the next sequential program number is assigned to it. A source file can contain any combination of programs with actual program numbers and programs with symbolic names.

NOTE

EXEC VTE statements can appear either before or after the

PROGRAM statement. They do not have any effect on the sequence of program numbers assigned to symbolic program names.

Whenever the compiler encounters a program in the so urce file with an actual program number rather than a symbolic name, then subsequent symbolic program names are assigned program numbers that follow sequentially from the given program number.

EXAMPLE:

PROGRAM 5

! Compiled as PROGRAM 5

PROGRAM PA ! Compiled as PROGRAM 6

PROGRAM PB ! Compiled as PROGRAM 7

PROGRAM 20

! Compiled as PROGRAM 20

PROGRAM PC ! Compiled as

PROGRAM 2 1

4-24

Writing Programs

Symbolic Names

The following rules apply whenever a source file contains programs with actual program numbers:

Programs with actual program numbers must be in numeric order in the source file. For example, PROGRAM 5 must precede

PROGRAM 20.

There must be a large enough gap between two programs with actual program numbers for any intervening programs with symbolic names. For example, if the source file contains a

PROG RAM 8 and a PROG RAM 1 1 , PROG RAM 8 must precede

PROGRAM 1 1 and there can be at most two symbolically-named programs between them.

EXAMPLE:

! This example demonstrates the use of symbolic program names

! The compilar wi/1 assign PROGRA M O to MAIN and

! PROGRAM 1 to DELA Y

PROGRAM MAIN

DPY-TH/S /S AN EXAMPLE

EXECUTE DELA Y

DPY-OF A VALlO 9010A PROGRAM

PROGRAM DELA Y

REG 1

=

40

0: DEC REG 1

IF REG 1 > O G O TO O

4-25

Writing Programs

Symbolic Names

Symbollc Labels

The symbolic label feature allows you to refer to a branching location with a mnemonic name, providing the same advantages as symbolic program names.

The following rules apply to symbolic labels:

Symbolic label names are not declared explicitly. Simply using a name as the target of a GOTO or in a LABEL statement is sufficient to define a symbolic label name.

Within a single program, symbolic label names cannot be mixed with hexadecimal label numbers. A source file may contain a m'xture of hexadecimal and symbolic labels, but within a given program all labels must be either hexadecimal or symbolic.

Symbolic labels are local to the program in which they appear. This means that it is possible to have duplicate label names in different programs without conflict.

Each program is limited to 1 6 label definitions, even if the labels are referred to symbolically.

Within a given program, the compiler assigns hexadecimal labels to symbolic label names sequentially, starting at O. The assignment is made upon the first appearance of the label, whether it is a

LABEL statement or the target of a GOTO statement.

4-26

Writing Programs

Symbol ic Names

EXAMPLE:

PROGRAM FINO

SEARCH:

READ @ REG 1

! Label O wi/1 be assigned to SEARCH

INC REG 1

/F REGE = REG3 G O TO FOUND

! Label 1 wi/1 be assigned to FOUND

IF REG 1 > REG2 G O TO NO TFOUND ! La b e / 2 w i / 1 be a s s i g n e d t o

NO TFOUND

G O TO SEARCH

NO TFOUND:

FOUND:

4-27

Writin g Programs

Symbolic Names

··�.

Symbollc Reglster Names

Another way to enhance program readability is to use symbolic names for registers. The usage of the various 90 lOA registers can be made clear by choosing appropriate symbolic names.

Symbolic re gis ter names are a bit more complex than program or label names. For example, register names must be explicitly declared in a

DECLARATIONS section. Another difference is that register names can be either local to a single program or global to the en tire source file, depending on how they are declared.

Symbolic register names must be declared in an ASSIGN statement of the forro

ASSIGN REGn TO name

ASSIGN statements are collected together into a DECLARA TIONS section.

EXAMPLE:

··�

DECLARA TIONS

ASSIGN REG 1 TO ERRCNT

ASSIGN REG2 TO FREO lf the register names are to be used only within a particular program, then the DECLARA TI ONS section should appear between the

PROGRAM statement and the body of the program itself. If the declarations are for global registers that are shared among severa! programs, then the DECLARA TI ONS section must appear at the beginning of the source file before the first PROGRAM statement. lt is possible to assign severa! symbolic names to the same register within a program. This can be done by specifying a list of names in a single ASSIGN statement or by using multiple ASSIGN statements. lt should be noted, however, that using multiple names for the same register (implying multiple uses for a register) can lead to programming errors. lt is the programmer's responsibility to ensure the integrity of the register contents.

4-28

Writing Programs

Symbolic Names

EXAMPLE:

PROGRAM UUTTES T

DECLARA TIONS

ASSIGN REG 1 TO ERRCNT

ASSIGN REG2 TO PINCNT,SETBIT

ASS/GN REG6 TO MASK

ERRCN T = O

SETBIT = 4

! REG 1 wi/1 be usad when ERRCNT is

! referred ta

! Bath PINCNT and SETBIT wi/1 be

! al/acatad ta REG2

! TEMP wi/1 alsa be al/acatad ta REG2

! MASK wi/1 be al/acatad ta REG6

! Actual/y sets REG 1 = O

! Since PINCNT, TEMP, and SETBIT al/

! share the sama register, this

! statement has the effect af alsa

! setting PINCNT and TEMP

MASK = SETBIT CPL ANO FF

WRITE @ REG3 = MASK

Predeflned Reglster Names

Symbolic names have been predefined for each of the dedicated registers. These names can be used anywhere in a program that a register reference can be made. lt is not necessary to declare these symbolic register names.

The predefined register names and their functions are as follows:

DEDICATED SYMBOLIC

REGISTER NAME

FUNCTION

E

F o

A

B e

D

BITMASK

ROMSIG

STSCTL

BITNUM

DAT

ADR

PBDAT

Bit Mask

ROM Signature

STS / CTL lnformation

Bit Number

Data

Address

Read Probe Data

4-29

Writi n g Programs

Sym bolic Names

Sample Program

The following example is similar to the one given at the end of Part 2.

The example assumes that PROGRAM 1 contained in the file

P ROBE I .S has been renamed to PRBPLACE, PROGRAM 2 (in

PROBE2.S) has been renamed to PROGRAM UNPACK, and

PROGRAM 3 (in PROMPT.S) has been renamed to PROGRAM

PROMPT.

! This program tests the U52 f/ip-flop on the output sida

! of the 8255 PIA on the NEC TK-80A single-board computar.

! This version of the program demonstrates

! the use of symbolic names.

INCLUDE "8080.POD"

SETUP

POD - 8080

TRAP A C TIVE FORCE LINE NO

TRAP A C TIVE INTERRUPT YES

ADDRESS SPA CE

RAM 8C00-8FFF

ROM 0000-07FF SIG F77C

1!0 100F8- 100FA BITS FF

DECLARA TIONS

ASSIGN REG8 TO LOAD

ASSIGN REG8 TO FLA G

ASSIGN REG8 TO COUNT

PROGRAM U52TES T

DECLARA TIONS

ASSIGN REG2 TO CNT

WR @ 1 00FB

=

80

! Global register declarations

! Usad in display message

! Flag an output from proba placement

! Count an output from unpacker

! Local declarations

! Beginning of program body

4-30

Writing P rograms

Symbolic Names

S TA R T:

CNT = A

LOAD = 1A09

EX PROMPT

EX PRBPLA CE

IF FLA G = 1 GOTO OPEN

DPY TESTING U52#

PRO BE

S TIMULUS:

WR @ 1 00FA = 1

D TOG @ 100F9 = 80 BIT 7

WR @ 1 00FA = O

D TOG @ 100F9 = 80 BIT 7

DEC CNT

IF CNT > O G OTO S T/MULUS

EX UNPA CK

IF COUNT = A G O TO DONE

DPY U52 TOGGLING /MPROPERL Y#

G O TO EXI T

! Symbolic program reference

! Symbolic /abe/ definition

! Symbolic /abe/ reference

OPEN:

DPY WAS PROBE IN PLA CE# ?1

IF REG 1 = O GOTO S TART

DPY U52 OPEN#

G OTO EXIT

DONE:

DPY U52 TEST PASSED#

EXIT:

INCLUDE "PROBE1.S"

INCLUDE "PROBE2.S"

INCLUDE "PROMPT. S "

! End of main program

! PROGRAM 1 must be renamed to

PROGRAM

! PRBPLA CE in file PROBE1.S

! PROGRAM 2 renamed to PROGRAM

UNPA CK

! in file PROBE2.S

! PROGRAM 3 renamed to PROGRAM

PROMPT

! in file PROMPT.S

4-31 /4-32

Section 5

U sing the Compiler

CONTENTS

Introduction

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3

Preparing the Source File

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4

Compiling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5 lnteractive M ode

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6

Command Line Mode

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8

Listing File Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10

.

Syntax Errors

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 1

Transferring Programs

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 2

Transferring Programs to the 90 1 0A . . . . . . . . . . . . . . . . . . 5-1 2

Transferring Programs from the 90 1 0A . . . . . . . . . . . . . . . . 5-14

Source Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14

Hex Format 5-16

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

5-1 /5-2

Usi n g the Compilar

I NTRODUCTI ON

This section provides the information needed to use the 901 0A

Language Compiler (9LC) and the File Transfer Utility program

(XFER). The following topics are covered in this section:

Preparing the Source File

Compiling

Transferring Programs

5-3

Using the Compilar

PREPARING THE SOURCE FILE

The first step in using the compiler is to crea te a so urce file containing the desired 901 0A programs. The source file may use all the language features introduced in Section

4 ,

Writing Programs. For detailed information on specific statements, see S ection 6, Language

Reference.

To edit and modify the source files, you should use the text editor that you normally use on your host computer system.

By convention, the names of source files are usually given a filename extension of .S, but this is not required by the compiler. PIA.S is an example of a typical source file name.

If the source file is not contained on a system default device the filename may also require a device name. For example:

M F l : DEMO.S might specify a source file named DEMO.S on an optional floppy disk

(MF l ). Consult your host computer user's manuals for information about complete filename specifications.

The program diskette contains a sample source file named DEMO.S.

This file is used as an example in the following procedures for using the compiler. lf you already ha ve 90 1 0A programs stored on 90 1 0A cassette tapes, it is possible to transfer them to your host system and use them with the compiler. The procedure for doing this is described la ter in this section under the heading Transferring Programs from the 90 1 0A.

5-4

Using the Compiler

COMPILING

Once yo u ha ve created a so urce file, you are ready to run the compiler.

The compiler reads the source file and creates an equivalent hex file which can then be transferred to the 901 0A through the RS-232-C serial interface.

Y ou ha ve the option of running the compiler in either of two modes: the interactive mode or the command line mode.

NOTE

The following examples require the file DEMO. S to be on a non write-protected disk. If your working copy of the system disk (as described in Section 3) is write-protected, yo u will need to use two disk drives, with a copy of the demo program

DEMO. S on a non write-protected disk in the second drive.

5-5

Using the Com p i ler

Compiling lnteractlve Mode

If yo u run the compiler in the interactive mode, it prompts yo u for the names of the source and hex files. The compiler asks you whether you want a listing file prod uced. If yo u answer y es, the compiler asks for the name of the listing file and the specific listing file options desired.

T o run the compiler in the interactive mode, simply en ter the command

[device]9LC <RETURN>

NOTE

The use of {device] in the examples in this section refers to an optional device name specification that m ay be required for files that are not on a system default device.

<RET URN) indicates the key that is pressed to termínate the command line.

After you have entered the filename command 9LC, the compiler responds by displaying its version number and copyright notice. The compiler then asks for the name of the so urce file. Y ou now en ter the name of the source file, for example:

[device]DEMO.S <RETURN>

N ext, yo u are prompted for the name of the hex file to be created by the compiler. En ter the name of the hex file followed by RETURN. If yo u simply press RETURN, the compiler genera tes a hex file with the same name as the source file, but with a . H extension appended to the root of the source file name. In this example, the hex file name becomes

DEMO.H on the same device as DEMO.S.

<RETURN>

The compiler then asks you whether you want a listing of the source program. You should respond by entering Y (yes) or N (no). For this example, enter

Y <RETURN>

5-6

Using the Compi lar

Compiling lf yo u request a listing file, the compiler prompts yo u for the listing file name. Y ou should enter the required name, or simply press RETURN to get the same name as the source file with a .L extension, in this case

DEMO.L (also on the same device as DEMO.S).

<RETURN>

After yo u ha ve specified the listing file name, the compiler displays the listing file options. These options are described later in this section. If yo u simply press RETURN, the compiler produces a copy of the source file with line numbers added.

< RETURN>

At this point, you have specified the compiler options. The compiler displays the equivalent command line (the significance of which is explained below) and then proceeds to compile the source file.

While it is processing the source file, the compiler displays the name of each program, its program number, and the number of bytes of90 1 0A program memory required. After the compiler has processed the source files, it displays the total number of bytes required and then returns to the host operating system. lf the compiler detects any errors in the source file, it displays an appropriate error message along with the source line containing the error. The error message also appears in the listing file if a listing file has been requested. If the source file contains any errors, then a hex file will not be created.

5-7

Usi ng the Compi lar

Compi ling

Command Line Mode

An alternative way of running the compiler is to specify all the desired options directly on the command line. If any options are specified on the command line, then the prompting described above is completely bypassed.

To run the compiler in the command line mode, you enter a command in the following format:

[deviceJ 9LC [ -listo pti ons] [

-

H hexfile] [

- L

[ l i stfile]] srcfi le < RETU R N >

In the above notation, items within brackets [] are optional.

Srcfile is the name of the so urce file to be processed by the compiler. lt may require an optional device name specification.

The -H option is used to override the default hex file name (.H extension). Hexfile is the desired name of the hex file produced by the compiler.

The -L option is used to override the default listing file name (.L extension). Listfile is the desired name of the listing file produced by the compiler.

··�

The -L option without a listing file name can be used to produce a listing file in the case where no listing options are specified. The listing file is generated with the .L extension.

The -listoptions allow you to specify the form of the listing file. The listing file options and their functions are:

1

Expand lnclude Files

S Replace Symbolic Names

D Replace Default Entries

A Expand Keyword Abbreviations

5-8

Using the Compilar

Compiling

Specifying any of the options I,S,D, or A causes a listing file to be produced. The paragraphs following the next heading, Listing File

Options, contain more information regarding these options.

The following examples illustrate the use of the command line mode.

The command

9LC -L [device]DEMO.S <RETURN> produces exactly the same results as the sequence of options described above under the heading Interactive M ode.

To compile the source file DEMO.S and produce a hex file named

DEMO.H but not produce a listing file, use the following command:

9LC [device]DEMO.S < RETURN>

To produce a listing file with include files expanded, use the following command:

9LC -I [device]DEMO.S <RETURN>

5-9

Using the Com p i le r

Compil ing

Llstlng File O ptions

The compiler provides a number of different listing file options. These options are described below.

I Expand Include Files

If the source file contains an INCLUDE statement, such as

INCLUDE "6802.POD" the listing file normally just copies this statement. However, if the

- I option is specified, then the listing file also shows the contents of the file 6802.POD.

S Replace Symbolic Names

If the source file contains symbolic names for registers, programs, or labels, they are normally copied to the listing file as they appear in the source file. However, if the -S option is specified, then the symbolic names are replaced by the actual program number, register number, or label number.

EXAMPLE: lines from source file: normal listing file: listing file with -S option:

EXECUTE DELA Y

INC ERRCNT

EXECUTE DELAY

INC ERRCNT

EXECUTE 7

INC REG2

5-1 0

Using the Compilar

Compiling

D Replace Default Entries

If the source file contains any default entries (indicated by *), the listing file normally copies the statement as it appears in the so urce file with the * in place. However, if the -D option is specified, then the listing file substitutes the appropriate default register for the * .

EXAMPLE: line from source file: WRITE @ *

=

* normal listing file: WRITE @ * = * listing file with -D option: WRITE @ REGF = REGE

A Expand Keyword Abbreviations

If the source file contains the abbreviations RD, WR, or EX, they are normally copied to the listing file in their abbreviated form,just as they appear in the source file. However, if the -A option is specified, then the listing file replaces all occurrences of these abbreviated keywords with the full keyword.

EXAMPLE: line from source file: normal listing file: listing file with -A option:

EX PROGRAM 5

EX PROGRAM 5

EXECUTE PROGRAM 5

Syntax Errors

All programmers eventually have an elusive syntax error to track down. The compiler provides sorne help by pinpointing the location of the syntax error in the listing file, especially if the listing option has been selected to expand any include files.

Even after you have found the location of the syntax error, the exact cause of the problem may not be obvious. Appendix F, Error

Messages, contains a list of common syntax errors that can be used as a time-saving checklist.

5-1 1

Using the Com pilar

TRANSFERRING PROGRAMS

Once you have successfully compiled your programs, you are ready to transfer the generated hex file to the 90 1 0A through the RS-232-C serial interface. XFER, the File Transfer Utility program, is provided on the program diskette for this purpose.

Before running XFER, the 901 0A must be connected to the serial port of the host system as described in Section 3, Getting Started.

T o run XFER, simply en ter the command

[device]XFER <RETU RN>

After yo u ha ve entered the command XFER, the program responds by displaying its version number and copyright notice, followed by a main menu of file transfer options:

T Transfer hex file from host to 90 1 0A

S Transfer so urce files from 90 l OA to host

H Transfer hex files from 90 1 0A to host

C Configure host system

Q Quit

Whenever this menu is displayed, you can return to the host operating system by entering

Q <RETURN>

Y o u can also use the Q command to return to this main menu when prompted for a filename in any of the other options in this menu.

Y o u should select the C option if yo u want to change the default setting for the RS-232-C serial port. Refer to Section 3, Getting Started, for further information on configuring the serial port.

Transferring Programs to the 901 OA

To transfer a file from the host system to the 90 10A, you should select the T option. Since this is the default option, you may simply press the

RETURN key.

<RETURN>

··�

5-1 2

Using the Compiler

Transferring Programs

Y ou are then asked to en ter the name of the hex file to be transferred.

To transfer DEMO. H , the file produced by compiling DEMO.S in the previous examples, enter

[device]DEMO. H <RETURN>

XFER then instructs yo u to prepare the 90 1 OA for reading by pressing the AUX 1/ F, READ, and YES keys on the 90 1 0A. As soon as you have pressed the YES key, the host system starts transferring the hex file to the 90 1 0A.

NOTE

Pressing the A

UX 1/ F and READ keys causes the 9010A to clear its program memory and reset al/ the setup parameters to their default va/ues. A ny pt ograms currently in the 9010A memory are lost.

When the file transfer is complete, the 90 10A displays the message

AUX-RECEIVING - COMPLETE, and the host system again displays the file transfer options menu. To exit from XFER and return to the host operating system, enter

Q < RETURN>

The test programs can now be executed on the 90 1 0A just like any other 90 1 0A programs. Once the transfer is complete, the 90 1 0A may be disconnected from the host system. lf you have followed the example above to compile DEMO.S and transfer DEMO.H to the 90 1 0A, you can execute the program on the

90 1 0A by pressing the following keys:

EXECUTE O ENTER lf your source file contains symbolic program names, you must determine which actual program numbers were assigned by the compiler to the symbolic program names. F or this reason, the compiler displays the program names and their corresponding program numbers as it processes the source file.

5-1 3

Using the Compiler

Transferring P rograms

Transferrlng Programs from the 901 0A

Programs that are transferred from the 90 l OA to the host system can be stored either in source format or in hex format. lf you have programs saved on 90 lOA cassettes and yo u want to modify them on the host system and take advantage of the features of the 90 1 OA

Language Compiler, then the programs must be stored in source forma t.

Hex format is useful if you simply want to store the 90 1 0A programs on the host system and load them back into the 90 l OA at a la ter time without any modifications.

Source Format

To save programs from the 90 1 OA on the host system in so urce format, select the S option from the file transfer options menu by entering

S <RETURN >

NOTE

The fol/owing examp/es assume that you have transferred the programs in DEMO. H from the host system to the 90JOA, as previously described under Transferring Programs to the

9010A.

X FER asks yo u for the na me of the so urce file to be created on the host system. Respond by entering the source file name, in this case,

[device]DEM O l .S <RETURN>

X FER then instructs yo u to prepare the 90 l OA for writing by pressing the AUX 1/ F and WRITE keys on the 90 10A. When the transfer is complete, the 90 1 0A displays the message

AUX-SENDING - CO M PLETE

A menu of source options will now be displayed:

E Save the entire file

S -

Save the setup information

A Save the address descriptors

P Save all programs

0-99 - Save the specified program

R Return to the main menu

5-1 4

Using the Compilar

Transferring Programs

If you choose to save the entire file, then setup information, address d�scriptors, and all programs will be saved.

If you choose to save the setup information or the entire file, XFER then prompts for the name of a pod data file, since the 90 1 0A Language

Compiler requires that a pod data file be included before any pod­ dependent setup information. For the present example, enter

[device]Z80.POD <RETURN>

In this case, XFER inserts a statement of the form INCLUDE

"Z80. POD" immediately before the S ETUP INFOR M A TION statement in the source file on the host system.

If, for sorne reason, you do not want to specify a pod data file, simply en ter <RETURN> when prompted for the na me of a pod data file. N o

INCLUDE statement will be inserted into the source file.

If yo u choose to save the address descriptors and none exist, a warning message will be displayed.

Y o u ha ve the option of saving individual programs or all of the 90 1 OA programs in a single operation. If you attempt to save a program that does not exist, a warning message will be issued.

NO TE

The compiler requires setup and address space information to appear befo re any programs. Therefore, setup or address space information should be saved before any programs. lf you attempt to save setup information or address descriptors after programs, the

XFER program will print an error message.

At the end of the entire file transfer process, the new source file (in this case, DEMO l .S) exists on the host system. Y o u can use the R option to return to the file transfer options menu.

The source file created by the file transfer utility can be modified using a text editor on the host system. For example, you may want to add comments or change the program numbers to symbolic names. The modified source file can be compiled, and the resulting hex file can be transferred back to the 90 1 0A.

5-1 5

Using the Compiler

T ransferring Programs

Hex Formal

Hex format files are not generally modified on the host system, and they cannot be processed by the 90 1 OA Language Compiler. The only reason for transferring files in hex format is to store the programs so that they can be loaded back into the 90 1 OA at a la ter time.

T o select the hex format, en ter

H <RETURN> in response to the file transfer option menu.

XFER prompts you for the name of the hex file to be creatt:d . For example, you could enter

[device]DEMO l . H <RETU RN>

You are then instructed to press the AUX 1/ F and WRITE keys on the

90 1 0A. When the transfer is complete, the 90 1 0A displays the message

<;

-

5-1 6

Section 6

Language Reference

CONTENTS

I ntroduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3

Syntax Diagram N otation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4

Special Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5

Symbolic Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6

Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8

Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 O

General Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 1

Statement Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 1

Program Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 1

File Inclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 2

SOURCE FILE SYNTAX . . . . .

. .

. .

. .

. . . . . . . . . .

. . .

6-1 3

Source File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 5

Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 7

Address Space Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 9

Address Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2 1

Global Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23

Symbolic Register Name Declaration . . . . . . . . . . . . . . . . . . . . 6-25

90 1 OA Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-27

Program Body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-29

Local Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 1

Binary Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-33

I nclude Directive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-35

SETUP PARAMETERS

.

. . . . . . . . . . . . . . . . . . . . . . . . 6-37

901 0A PROG RAM STATEMENTS . . . . . . . . . . . . . . . 6-61

6-1 /6-2

Language Reference

INTRODUCTION

This section pro vides a quick reference for 90 1 OA Language syntax. As an aid to quick reference, the information contained here is concise.

For an introduction to the language as a whole, see Section 4, Writing

Programs.

This section is organized as follows:

General lnformation

Source File Syntax

Setup Parameters

901 0A Program Statements

Program statements are introduced with a syntax diagram that illustrates the legitimate construction. A complete definition of the various forms of the statement follow the syntax diagram. The statement definitions use the format shown in the following example page.

STATEMENT NAM E

Syntax

Functlon

A description of the function(s) performed by the statement appears he re .

Characteristics, implications, and limitations of the statement are defined here .

Example

A programming example is shown here.

See Also

Any related statements or information are listed here.

6-3

language Reference

SYNTAX D IAGRAM NOTATION

Syntax d iagrams define correct spelling, punctuation, sequences of words, symbols, and expressions. The syntax diagrams used here conform to the following guidelines:

Any path through a diagram starting from the left that does not run contrary to an arrowhead forms a legitimate statement.

W ords in a circular enclosure are to be entered as shown. W ords can be typed in lowercase, uppercase, or a combination of lowercase and uppercase letters.

Example:

Words in a rectangular enclosure represent other information that is described either in the General lnformation section, in another syntax diagram, as a note on the same page, or that is in general use.

Example:

• An asterisk in a circular enclosure above bracketed words indica tes a default register entry. Only the asterisk should appear in the source file; the compiler substitutes the information in the brackets.

Example:

--+G)--+

(REG F)

6-4

Language Reference

SPECIAL SYM BOLS

The following symbols are used in the syntax diagrams:

SYMBOL

EOL

>

>=

@

FUNCTION

Separates a list of symbolic names (i.e., register name declarations)

Indicates end of line

I ndicates range (i.e., addr to addr), used as a delimiter in AUX and DPY commands

Relational operator

Relational operator

Relational operator

At

Separates the label name from the statement to be executed

6-5

Language Reference

SYMBOLIC NAMES

Symbolic names appear in the syntax diagrams as

The following rules apply to symbolic names:

Symbolic names must begin with a letter, and they can contain any number of letters, digits, and underscore characters (

-

).

Only the first eight characters of a name are significant. For example, TESTMENU 1 and TESTMENU2 are treated as identical names.

90 1 0A Language keywords, such as READ and PROGRAM, cannot be used as symbolic names. For example, LOOP cannot be used as a symbolic label name, although LOOP ! is acceptable.

Appendix A contains a complete list of the 90 1 0A Language keywords. Using a keyword as a symbolic name causes the compiler to issue a SYNT AX ERROR message.

Symbolic names must contain at least one letter other than A, B, C,

D, E, or F so that they can be distinguished from hexadecimal constants. This means that words like BAD, ACE, or F ADE cannot be used as symbolic names because the compiler will interpret them as hex constants . U sing a hex constant as a symbolic name causes the compiler to issue a SYNT AX ERROR message.

6-6

Language Reference

Symbolic Names

Symbolic names can be used anywhere that the corresponding actual program number, register number, or label number can occur in a 90 1 OA program.

Forward references are permissable for program names and label names. In other words, an EXECUTE or GOTO statement using a symbolic name is allowed to appear either before or after the corresponding PROGRAM or LABEL statement.

Symbolic names are case-insensitive. For example, a name can be declared in uppercase and referenced in lowercase, and names can be a mixture of uppercase and lowercase letters.

6-7

Language Reference

EXPRESSIONS

The syntax element

6-8 is used to designa te a 90 l OA expression. Expressions consist of combinations of the following:

Hexadecimal Constants (e.g., l OFC)

Register References (e.g., REG3)

Unary Operators (CPL, DEC, INC, SHL, S H R)

Binary Operators (AND, OR)

U nary operators specify operations that may be performed on only one register at a time. The five unary operators function as follows:

CPL Replaces the value stored in the register with its binary

·""""" ones complement.

DEC Decrements the binary value of a register by l .

INC lncrements the binary value of a register by l .

S H L Shifts the binary contents o f the register one bit t o the left.

The farthest left bit is discarded. The farthest right bit becomes O.

SHR Shifts the binary contents of the register one bit to the right. The farthest right bit is discarded. The farthest left bit becomes O.

Binary operators perform an operation with two registers or with a register and a hexadecimal value, or two hexadecimal values. The two binary operators function as follows:

AND Performs the logical bit-wise AND operation between two values. e

OR Performs the logical bit-wise OR operation between two values.

Language Reference

Expressions

In certain contexts, expressions are interpreted as decimal, binary or hexadecimal numbers. These cases are indicated in the syntax diagram as follows:

[dec] [bin] [hex]

� � �

Numeric constants in decimal expressions may contain only the digits

O through 9. Similarly, numeric constants in binary expressions may contain only the digits O and 1 , and hexadecimal expressions may contain only the digits 0-9, A-F.

A unary operator followed by a decimal number is the unary operator shorthand feature described in Section 4, Part 2. r----AN-0---,....-_-_-e_x_p_ r

L.@J . term

-,...f�n�um�b�er�l-------r,--------------;r•

na me

6-9

Language Reference

ADDR ESSES

The following syntax diagrams apply to statements that require an address or an address range to be specified. address � block ------.., addr addr

6-1 0

Language Reference

GEN ERAL I NFORMATI O N

Statement Formal

Follow these guidelines when constructing statements:

Each 90 10A statement must be on a separate line. Continuation lines are not allowed.

A statement may begin in any column.

Blanks and tabs are ignored, except when they occur in DPY or

AUX statements.

Blank lines are ignored.

Adjacent keywords, symbolic names, and numbers must be separated by at least one blank.

Prog ram Comments

The rules for using comments are as follows:

Comments start with an exclamation point (!), and they extend to the end of the line.

A comment can be on the same line as a 90 1 OA statement, or it can be on a separate line.

If a comment extends over several lines, each line must begin with an exclamation point.

A comment cannot be placed in the middle of a 90 1 0A statement.

6-1 1

Language Reference

General 1 nformation

File l nclusion

The form of the INCLUDE statement is

The compiler replaces the INCLUDE statement with the contents of the specified file. The effect is equivalent to manually typing the contents of the included file in the source file at that point.

The following rules apply:

The filename must be the name of an existing file.

If the host operating system is case-sensitive regarding filenames, then the filename must be properly capitalized.

A source file may include a file which in turn includes another file.

INCLUDE statements must be on a line by themselves but can occur anywhere in the so urce file. IN CL UD E statements m ay e ven appear as a statement in a 90 1 0A program.

The programmer is responsible for ensuring that the contents of the indicated file can legally be inserted at that point in the source file.

A standard use of the INCLUDE statement is to include a pod data file.

6-1 2

S O U RCE F I L E SYNTAX

The following pages contain reference information on source file syntax. F or more explanation about a specific topic, refer to Section 4,

Writing Programs.

Source File Syntax contains the following syntax diagrams:

SOURCE FILE

SETUP

ADDRESS S PACE

ADDRESS DESCRIPTOR

GLOBAL DECLARA TION

SYMBOLIC REGISTER NAME DECLARATION

90 1 0A PROGRAM

PROGRAM BODY

LOCAL DECLARA TION

BINARY PROGRAM

INCLUDE D IRECTIVE

6-1 3/6-1 4

S O U RCE F I LE

Syntax

Function

This syntax diagram defines the overall structure of the source file.

The appropriate pod data file must be included if your programs have any pod dependencies.

At this time, the pod data file must be one of the following (more files will be added as new interface pods are implemented):

1 802.POD

6502.POD

6800.POD

68000.POD

6802. POD

6809.POD

6809E .POD

804 l .POD

8048.POD

8080. POD

8085 .POD

8086.POD

8086MX.POD

8088.POD

8088MX.POD

9900 .POD

Z80.POD

The setup information, address space information, and global declarations are all optional. They may appear more than once, and they may appear in any order, providing that they appear before the first 90 1 0A program.

6-1 5/6-1 6

S ETUP

Syntax

Function

Allows the user to control the reporting of UUT errors, enable microprocessor lines, and specify operating parameters.

All setup parameters must be declared at the beginning of the source file preceding all programs.

Setup parameters establish initial setup conditions only.

Setup parameters are divided into the following categories: l . Reporting UUT errors o r enabling microprocessor lines:

POD

TRAP

ENABLE

EXERCISE ERRORS

BEEP ON ERR TRANSITION

2. Specifying operating parameters:

BUS TEST

RUN UUT

TIMEOUT

3. Relating to operation of the AUX 1/ F:

STALL

UNSTALL

NEWLINE

LINESIZE

Detailed information about setup parameters is contained in the next part of this section, Setup Parameters .

6-1 7

SET U P

The compiler supplies default values (as listed in Appendix D) for any setup parameters that do not explicitly appear in the source file.

The compiler default values for setup parameters can be overridden by the pod-specific values by including the appropriate pod data file.

See Also

Default Setup Parameters (Appendix D), Setup Parameter Limits

(Appendix E), Pod Data Files (Section 4, Part l)

6-1 8

AD D R ESS S PACE

Syntax

ADORESS SPACE add ress descriptor

Function

Forms the UUT memory map; identifies address blocks of RAM,

ROM, and 1/ O.

All address descriptors must be declared at the beginning of the source file, preceding all programs.

Up to 1 00 address descriptors can be specified in the source file.

Example

A DDRESS SPA CE INFORMA T/ON

RA M @ 5000-SOFF

ROM @ 0000-0FFF SIG 0047

ROM @ 3000-4FFF SIG 2860

ROM @ 7000-70FF SIG OBAA

ROM @ AOOO-A FFF SJG 44 C9

1/0 @ 1A00-1A01 B I TS 7F

6-1 9/6-20

AD D R ESS D ESCR I PTO R

Syntax hex number hex number hex number

Function

Forms the U UT memory map; identifies address block of RAM, ROM and I / 0 .

In a 90 1 0A program statement, if a RAM, ROM, or 1 / 0 test is specified but the address range to be tested is not specified, the

90 1 OA performs the specified test o ver all blocks of the appropriate memory type described by the address descriptors.

Parameters and limits are as follows:

PARAMETER LIMIT signature (ROM) bit mask (1/ O)

0-FFFF

1 -FFFFFFFF

Example

RA M @ 5000-SOFF

ROM @ 0000-0FFF S/G 0047

ROM @ 3000-4 FFF SIG 2860

ROM @ 7000-70FF SIG OBAA

ROM @ AOOO-A FFF S/G 44 C9

1/0 @ 1A00-1A01 B I TS 7F

See Also

LEARN, RAM TEST, ROM TEST, 10 TEST (in 90 10A Program

Statements part of this section)

6-21 /6-22

G LO BAL D ECLARAT I O N

Syntax symbolic register name declaration

Functlon

Allows the programmer to define symbolic register names with global seo pe.

N ames with global scope are known throughout the entire source file and all files that are included after the global declarations.

If a re gis ter name is redefined locally ( inside a 90 1 OA program), the local definition overrides the global definition and the program has no knowledge of the global declaration.

Global declarations must appear at the beginning of the source file, befo re the first 90 1 OA program is encountered.

Global symbolic register declarations are restricted to the global registers (8-F).

Example

DECLA RA TIONS

ASSIGN REGB TO LOA D

ASSIGN REG9 T O FLA G

PROGRA M U10

See Also

SOURCE FILE, SYMBOLIC NAM ES, SYMBOLIC REGISTER

NAME DECLARATION, LOCAL DECLARATION

6-23/6-24

SYM B O L I C REG I STER

NAM E D ECLARAT I O N

Syntax

Function

Declares a symbolic name that the programmer uses in programs to refer to the indicated register.

Symbolic register names must be declared in the global or local declarations section of the source file prior to being used in a program.

Symbolic register names can be used wherever a register reference can be made (including AUX and DPY statements).

Severa! symbolic names can be assigned to the same register.

Example

DECLARA TIONS

A SSIGN REG 1 TO TEMP, FLA G

ASSIGN REGA TO PINNO

See Also

G L O B A L D E C L A R A T I O N , L O C A L D E C L A R A T I O N ,

SYMBOLIC NAMES, Predefined Register Names (in Section 4,

Part

3)

6-25/6-26

901 0A PROG RAM

Syntax

Functlon

This syntax diagram defines the overall structure for a 901 OA program.

Program numbers must be decimal numbers in the range 0-99.

If a byte count appears in the program statement, the compiler compares it to the actual byte count and issues a warning message if the byte counts differ.

Symbolic program names can be used in this statement.

The source file can contain no more than one hundred 90 10A programs.

• N umbered programs must appear in the correct order. If programs with symbolic names are combined with numbered programs, there must be a correct number of symbolically named programs between numbered programs. For example, if there are two numbered programs, program 4 and program 7 , then there is room for only two symbolically named programs between them.

Example

PROGRA M

35 728

BYTES

PROGRA M GETSIG

PROGRA M KEYBD TS T

See Also

EXECUTE, Symbolic Program Names (Section 4, Part 3)

6-27/6-28

PRO G RAM BODY

Syntax

Functlon

This syntax diagram defines the body of a 901 0A program.

The details of the 901 0A statements are provided in the 901 0A

Program Statements portion of this section.

See Also

LOCAL DECLARATION, 901 0A PROGRAM STATEMENTS,

BINARY PROGRAM

6-29/6-30

LOCAL D ECLARAT I O N

Syntax symbolic register name declaration

Functlon

Allows the programmer to define symbolic register names with local scope.

Names with local scope are known only within the program in which they are declared.

Duplicate local names in different programs are unrelated.

Local declarations must appear between the program statement and the first statement of the 90 10A program body.

No local declarations may appear inside a binary program.

Symbolic names may be declared locally for all registers (0-F).

Example

PROGRA M UUTTES T

DECLA RA TIONS

A SSIGN REG 1 TO ERRCN T

ASSIGN REG2 TO PINCN T, SETB I T

ERRCN T = O

SETBIT = 4

See Also

SOURCE FILE, SYMBOLIC REGISTER NAME DECLARA­

TION, GLOBAL DECLARATION

6-31 /6-32

B I NARY PROG RAM

Syntax checksum

Functlon

The 9000A Utility Program tape contains binary programs.

Binary programs are introduced by the standard program statement (PROGRAM xx), followed on a separate line by

<BINAR Y> , followed by the binary program.

A binary program contains lines of hex code. Each line 1s terminated by a one-byte checksum.

• A "*" is used to delimit a line of code from the checksum, except for the last line of the program where a

"$" is used.

The file transfer program (XFER) automatically reformats binary programs into the required format when they are transferred from the 90 1 0A to the host system in source form.

Example

PROGRAM 10

( BINA R Y )

514F50DDE5DD2A2BOODD562FDD5E2E7BE60F87874F0600FD2A2BOOFD097BE6F0*28

CB3FCB3F4FDD097A E60FB7874F2A2B0009DD7E02FD86025FDD7E03FDBE0357DD*D4

7EOOFDBE007 7DD7E 01 FDBE 01237 72373 2372DDE1 01000 OC 9284329464C554B65 *CO

205645522031 SN$5E

See Also

9010A PROGRAM

6-33/6-34

I N CLU D E D I R ECTIVE

Syntax

Functlon

Replaces the INCLUDE "filename" statement with the contents ofthe indicated file. Equivalent to manually typing the contents of the included file in the source file at that point.

The filename must be the name of an existing file.

If the host computer system is case-sensitive regarding filenames, then the filename must be properly capitalized.

A source file may include a file which in turn includes another file.

Attempting to nest include files too deeply will result in a 901 0A error message.

Include directives must be on a line by themselves but can occur anywhere in the so urce file. lnclude directives may even appear as a statement in a 90 1 0A program.

The programmer is responsible for ensuring that the contents of the indicated file can legally be inserted at that point in the source file.

A standard use of the INCLUDE statement is to include a pod data file.

Example inc/ude "1 802. POD "

See Also

Pod Data Files (in Section

4,

Part 1 )

6-35/6-36

SETU P PARAM ETERS

CONTENTS

Beep

.

.

Bus Test

Enable

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6-39

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-41

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-43

Exercise Errors

Linesize

.

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-45

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 7

Newline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-49

Pod

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6-5 1

Run UUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-53

.

Stallj Unstall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-55

Timeout

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-57

Trap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-59

6-37/6-38

BEEP

Syntax

BEEP ON ERR TRANSITION

Functlon

Allows the programmer to control whether or not the 90 1 0A should beep on ERR TRANSITIONS.

YES enables the audible beep that sounds whenever an error is detected and reported. The beep also sounds whenever the error is removed.

The 90 1 0A's default value is YES.

Example

BEEP ON ERR TRANSJ TION - NO

See Also

EXERCISE ERRORS , TRAP

6-39/6-40

BUS

TEST

Syntax

--+@

t::@DJ t:Ci}J

��

hex number

Functlon

When the Bus Test is performed in a 90 1 0A program, testing of data lines occurs at the address listed.

Setup parameter limits for Bus Test are 0-FFFFFFFF. Refer to the pod instruction manuals for legal addresses.

If the Bus Test statement appears in the Setup Parameters section of the source file, then the default Bus Test address is as indicated.

If this statement was not present and a pod data file was included �t the beginning of the so urce file, the compiler supplies the definition for BUSADR.

If a pod data file was not included at the beginning of the so urce file, the default Bus Test address is 0000.

Example

BUS TES T @ 1 COO

See Also

Pod Data Files (in Section

4,

Part 1 ), BUS TEST (in 90 1 0A Program

Statements part of this section), and Appendix D (Pod-Specific Setup

Parameters)

6-41 /6-42

E NABLE

Syntax forcing line

Functlon

Allows an operator to individually enable or disable pod forcing lines.

If YES is selected, the forcing line is enabled.

If NO is selected, the forcing line is disabled.

Forcing lines are pod-specific and include lines such as the following:

WAIT

R DY

TSC

DBE

HALT

BR/ ACK

INTR

M R

DMA

UNUSED

READY

BUSRQ

HOLD

RQGTO

RQGT l

There are a maximum of eight enableable forcing lines. Refer to the pod instruction manuals for specific information.

The appropriate pod data file must be included prior to the appearance of any ENABLE statements. In addition, a POD statement identifying the pod should appear in the Setup

Parameters section of the source file.

• lf a pod data file was included at the beginning of the so urce file, the forcing lines listed in the definition for FORCELNS will all have default values of YES.

Example

ENA BLE HA L T - NO

See Also

Pod Data Files (in Section

4,

Part 1 ) and Appendix D (Pod-Specific

Setup Parameters), POD

6-43/6-44

EXERCISE ERR ORS

Syntax

EXERCISE ERRORS

Function

Allows the operator control o ver 90 1 OA error reporting and interactive handling of errors.

If YES is selected, the 90 1 OA displays detected error messages and prompts the operator to loop on the errors.

If NO is selected, the errors are not reported to the operator, but error messages are transmitted to the RS-232 if it is connected

(without the -LOOP? portian of the message).

The 90 1 0A's default value is YES.

Example

EXERCISE ERRORS - NO

See Also

BEEP, TRAP

6-45/6-46

LI N ES IZE

Syntax

Functlon

Allows the programmer to specify the maximum number of characters transmitted per line when the 901 0A is sending data through the AUX

I / F.

Setup parameter limits for LINESIZE are 1 0-255.

The LINESIZE used is determined by the line size of your remo te device.

The 90 1 0A's default value is 79.

Example

LINESIZE 1 20

See Also

NEWLINE, ST ALL/ UNST ALL

6-47/6-48

N EWLI N E

Syntax

Functlon

When the 90 1 0A is sending data through the AUX 1 / F, a terminator sequence is sent at the end of each 1ine. This statement allows the programmer to specify both the ASCII terminator characters to be sent and the delay between lines.

Setup parameter limits for NEWLINE are eight hexadecimal d igits.

The 90 1 0A default value is OOOOODOA.

The selection of the terminator sequence allows the operator to meet the needs of a wide variety of remote devices. For example, if the remo te device provides its own Linefeed at the end of each line, the terminator sequence would consist of only the Carriage Return

(OOOOOD). Or, if a double space is needed between lines, the terminator sequence would be a Carriage Return and two

Linefeeds (ODOAOA).

The eight hexadecimal digits have the following meaning:

First two digits: These may ha ve any hexadecimal value between O and FF. They must be followed by six digits as described below.

The two digits represent a count that corresponds to a timing de la y between the transmission of lines. For 90 1 0A versions prior to 2C, the timing delay is approximately 2.4 ms/ count, providing a total timing delay range of O to .6 seconds. The delay is 6 ms/ count, for maximum de la y of approximately 1 .5 seconds with 90 1 OA versions

2C and later.

Last six digits: These are the ASCII terminator characters which are sent at the end of each line when the 9010A is sending data. The characters are also sent once as the initial trigger when the AUX

1/ F READ operation is selected. The characters, which ha ve two digits each, are sent left to right. Zeros are not sent.

6-49

N EWLI N E

Example

NEWLINE OOODOAOA ! terminator sequence of a carriage return and 2 linefeeds

NEWLINE OOOOODOA

NEWLINE 1 AOOOOOD terminator sequence of a carriage return and

1 linefeed terminator sequence of a time de/ay and carriage return

See Also

LINESIZE, ST ALL/ UNST ALL

6-50

POD

Syntax podname

Functlon

Identifies the pod to be used when executing the 90 1 OA programs in the source file. The POD statement allows the 90 1 0A to use the data in the pod data file to configure its setup parameters to match the specified pod.

At this time podname is one of the following (more files will be added as new interface pods are implemented):

1 802

6502

6800

68000

6802

6809

6809E

804 1

'35 / 48

'39/ 49

'40/ 50

8080

8085

8086

8086MX

8088

8088MX

9900

Z80

When using the 8048 pod, the podname must be listed in this statement as '35 / 48, '39/ 49, or '40/ 50, as appropriate.

Example

POD - BOBO

POD '39/49

See Also

Pod Data Files and 90 1 0A Pod Interaction (in Section 4, Part 1 )

6-51 /6-52

R U N U UT

Syntax

--+(

RUN UUT

)

t:::Ci)OJ'

��>[

hex number f..-+

Function

U sed when the address for a RUN UUT operation is allowed to default in a 90 1 0A program.

Setup parameter limits for RUN UUT are 0-FFFFFFFF.

If the R UN UUT statement appears in the setup parameters section of the source file, then the RUN UUT address will be as indicated.

If this statement was not present and a pod data file was included at the beginning of the so urce file, the compiler supplies the definition for UUTADR.

If a pod data file was not included at the beginning of the source file, the default R UN UUT address is 0000.

Example

RUN UU T @ CODO

See Also

Pod Data Files (in Section 4, Part 1), RUN UUT (in 90 1 0A Program

Statements part of this section), and Appendix D (Pod-Specific Setup

Parameters)

6-53/6-54

STALL

U NSTALL

Syntax

Function

Allows the programmer t o specify the Stall and Unstall characters (X­

ON and X-OFF) to which the 90 1 0A responds when it is sending data through the AUX 1 / F.

Setup parameter limits for Stall and Unstall are O-FF.

Any ASCII character may be selected for the Stall and Unstall characters. The characters are specified with their hexadecimal

ASCII values. The characters used are those that are required by your remate device.

The 90 1 0A's default values are as follows:

STALL 1 3

UNSTALL 1 1

(CTRL S)

(CTRL Q)

Example

S TALL 1 3

UNS TA LL 1 1

See Also

LINESIZE, NEWLINE

6-55/6-56

T I M EOUT

Syntax

Functlon

Represents a count of how long the 9010A waits before timing out on an interface pod operation.

Setup parameter limits for TIMEOUT are 0-60000.

The 90 1 0A's default value is 200.

Example

TIMEOUT - 200

6-57/6-58

TRAP

Syntax

ILLEGAL ADDRESS

ACTIVE INTERRUPT

ACTIVE FORCE UNE

CONTROL ERROR

ADDRESS ERROR

DATA ERROR

Function

Allows the operator to individually enable or disable traps on UUT system errors .

If YES is selected, the UUT system error is reported to the operator as it occurs.

IF NO is selected, the UUT system error is not reported to the operator as it occurs.

Any error types not explicitly specified are set to the 90 l OA default values.

• The 90 1 0A's default values are as follows:

TRAP BAD POWER SUPPLY

TRAP ILLEGAL ADDRESS

TRAP ACTIVE INTERRUPT

TRAP ACTIVE FORCE UNE

TRAP CONTROL ERROR

TRAP ADDRESS ERROR

TRAP DATA ERROR

YES

YES

NO

YES

YES

YES

YES

Example

TRA P BAO PO WER SUPPL Y - NO

TRA P A C TI VE IN TERRUP T - NO

See Also

EXERCISE ERRORS, BEEP

6-59/6-60

901 0A PROG RAM

STATEM ENTS

CONTENTS

Atog

.

.

.

Auto Test

.

Aux

.

.

Bus Test

.

.

.

Dpy

Dtog

.

.

.

.

Execute

Goto

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6-63

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-65

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6-67

6-7 1

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6-73

6-77

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-79

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6-8 1

If . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ,' . . . . . . . . . . . . . . . . 6-83

10 Test

Label

Learn

Probe

.

.

.

.

.

.

.

.

.

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-85

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6-87

6-89

6-9 1

RAM Test

RAMP

.

.

.

Read

Reg

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-93

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6-95

6-97

6-99

Reptf Loop

ROM Test

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. .

.

.

.

.

.

.

.

.

.

.

.

6-1 0 1

6-1 03

Run UUT

Stop

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6-1 05

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 07

Sync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 09

.

Unary

Walk

.

Write

.

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 1 1

6-1 1 3

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6-1 1 5

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6-61

6-62

·""""'

The syntax diagrams for the 90 1 0A program statements are arranged alphabetically on the following pages. The functional groupings of the statements are as follows:

FUNCTION

STATEMENT

TESTS

TROUBLES HOOTING

MODE

AUTO TEST

BUS TEST

10 TEST

RAM TEST

ROM TEST

ATOG

DTOG

RAMP

READ

WALK

WRITE

REPT/ LOOP

RUN UUT

STOP

TEST SEQUENCING

UUT M EMORY MAPPING

AUX

DPY

EXECUTE

GOTO

IF

LABEL

LEARN

PRO BE

REGISTER OPERA TION

PRO BE

SYNC

REG

UNAR Y (CPL, DEC, INC,

SHL, S H R)

·�

·�

ATOG

Syntax

(REG F] (REG 0]

Functlon

Toggles an operator-specified address bit from one logic state to another. Two read operations are performed, one at the original address and another after the bit is toggled.

If the bit number is explicitly specified in the expression, it must ha ve a decimal val u e in the range O - (n-1) where n equals bits in the address bus.

Example

A TOG @ 1 3FC B I T 7

See Also

DTOG, RAMP, READ, WALK, W RITE

6-63/6-64

AUTO TEST

Syntax

Functlon

Performs in sequence Bus Test, ROM Test, RAM Short Test, and 10

Test for versions prior to 2C. For versions 2C and later, the sequence is

Bus Test, RAM Short Test, ROM Test, and

10

Test.

Errors are reported and locations are identified as described for the individual tests.

Example

A UTO TES T

A U TO

See Also

BUS TEST, 10 TEST, RAM TEST, ROM TEST

6-65/6-66

AUX

Syntax string

Functlon

Allows for sending and receiving data between the 901 0A and other devices using the RS-232 Interface Option.

The string parameter represents the text to be sent.

The text is separated from the A UX keyword by a single space, hyphen, or tab.

Any spaces beyond the single separating character are treated as part of the display message, resulting in leading blanks.

The AUX string can contain a maximum of 32 characters.

S paces at the end of an AUX string are ignored. If trailing blanks are desired, the appropriate number of underscores should be appended to the A UX string.

Characters allowed in the AUX string are limited to those available on the 901 0A. The valid characters are:

A-Z

0-9

+

@

<

>

%

\

1

"

$ space

(underscores will be converted to spaces)

_

?

#

The functions of the special A UX 1/ F characters are shown on the next two pages. Symbolic register names can be used with these special AUX characters. Symbolic register names are counted as one character in the A UX string.

6�7

AUX

A symbolic register name cannot be immediately followed by a hexadecimal character (0-9, A-F). A separating space is required.

Example

A UX ROM SIGNA TURE /S $ROMSIG 1

ROMSIG is a symbolic register n am e . The s tring to be sent is

" R O M S I G NA T U R E

/S" followed by the hexadecimal contents of ROMSIG.

A UX - tests complete

See Also

DPY

Functions of AUX I/ F Characters

CHARACTER

#

$

ACTION CAUSED

Sends a control G (bell) to the RS-232 interface.

@

1

W hen followed by a hexadecimal d igit or symbolic register name,

$ causes the contents of the designated register to be transmitted in hexadecimal to the RS-232 interface.

The same as for the

$ symbol, except that the contents are transmitted in decimal.

When 1 is followed by a hexadecimal digit or symbolic register name, it suspends program execution, waits for the next byte of data from the

RS-232 interface, and places the value of the byte in the designated register. (The upper three bytes of the register equal zero.) If the RS-232 interface is configured to transfer eight data bits, then eight data bits appear. Otherwise, the eighth data bit

(bit 7) is zero.

6-68

AUX

When

\ is followed b y a hexadecimal digit or symbolic register name, it places the status of the

RS-232 interface in the lower five bits of the designated register. (The upper 27 bits are zero.)

The five status bits are as follows:

Bit 0:

Bit

1 :

1

= Parity Error

O =

N o Parity Error

1

= Framing Error

%

Bit 2:

Bit 3:

Bit 4:

1 =

Overrun Error

O =

N o Overrun Error

Status of Receive Buffer

1

= Character Received

O = N o Character Received

Status of Transmit Buffer

1 =

Transmit Buffer is Empty;

Ready for Next Character

O =

Character Still Being Sent

When % is followed by a hexadecimal digit or symbolic register name, it transmits the low-order byte contained in the designated register. This provides a way for the programmer to send the full range of A S C I I characters (including characters not usually allowed in an

A UX string) to the

AUX

I / F. Eight data bits are sent if the RS-

232 interface is configured to transfer eight bits.

+ When

+ is the last character in an

AUX

I/ F step, it prevents the NEWLINE termination sequence from being sent at the end of the line.

NOTE: In order to cause one of the special symbols

$,

@, 1 , \ , or % to be sent to the RS-232 interface in the case where the symbol is f0llowed by a hexadecimal digit or symbolic register name, the symbol must appear twice in the specification.

EXAMPLE:

STATEMENT

AUX $ 1

AUX $$ 1

AUX $X

TEXT SENT

( contents of REG

1 )

$ 1

$X

6-69/6-70

BUS TEST

Syntax

Functlon

Tests for proper function of the UUT control lines, data lines, and address lines.

When Bus Test is performed, testing of data Iines occurs at the address specified in the Bus Test setup parameter.

Example

B US TES T

B US

See Also

AUTO TEST, 10 TEST, RAM TEST, ROM TEST, and BUS TEST

(in Setup Parameters part of this section)

6-71 /6-72

DPY

Syntax string

Functlon

Displays the string on the 901 0A.

Text to be displayed is separated from the DPY keyword by a single space, hyphen, or tab.

Any spaces beyond the single separating character are treated as part of the display message resulting in leading blanks.

The DPY string can contain a maximum of 32 characters.

S paces at the end of a DPY string are ignored. If trailing blanks are desired, the appropriate number of underscores should be appended to the D PY string.

Characters allowed in the DPY string are limited to those available on the 901 0A. The valid characters are:

A-Z

0-9

+

@

<

>

?

#

'

%

*

\

1

"

$ space

(underscores will be converted to spaces)

_

The functions of the special DPY characters are shown on the next page. Symbolic register names can be used with these special DPY symbols. The symbolic register names are counted as one character in the D PY string.

A symbolic register name cannot be immediately followed by a hexadecimal character (0-9, A-F). A separating space is required.

6-73

D PY

Example

DPY

test 3 complete - pass

DPY - trailing blank_

See Also

AUX

Functions of DPY Characters

CHARACTER

#

$

@

\

ACTION CAUSED

Causes the 9010A to beep when DPY is executed.

This symbol does not appear on the display when

DPY is executed.

When

$ is followed by a hexadecimal or symbolic register name, it causes the contents of the d e s i g n a t e d r e g i s t e r t o b e d i s p l a y e d i n hexadecimal on the display.

The same as for the

$ symbol except that the contents are displayed in decimal.

When 1 is followed by a hexadecimal digit or symbolic register name, it suspends program execution and waits for input. When the operator enters a hexadecimal value terminated by

ENTER, the 90 1 OA places the value in the designated register and resumes p rogram execution. Pressing ENTER without specifying a hexadecimal value causes the value to default to the previous contents of the register.

The same as for the 1 symbol, except that the

90 10A accepts only a decimal entry.

6-74

D PY

?

%

+

When ? is followed by a hexadecimal digit or symbolic register name, it suspends program execution and displays the question mark (?). If the operator presses the CLEAR/ NO key, the

9010A places a O in the designated register. If the operator presses the ENTER / YE S key, the

90 1 0A places a 1 in the designated register. After the 1 or

O is p1aced in the register, the 901 0A removes the question mark �nd then resumes program execution.

When % is followed by a hexadecimal digit or symbolic register name, it enables or disables asynchronous input from the operator during execution. Asynchronous input is stored in the register designated by the hexadecimal digit or symbolic register name

When

+ is the first character in the specification, it causes following characters in the specification to be appended to the text that is on the display at the time DPY is executed.

NOTE: In order to cause one of the special symbols $, @, 1 , \ , ? , or % to be displayed in the case where the symbol is followed by a hexadecimal digit or symbolic register name, the symbol must appear twice in the specification.

EXAMPLE:

STATEMENT TEXT DISPLAYED

DPY $ 1

DPY $$ 1

DPY $X

( contents of REG 1 )

$ 1

$X

6-75/6-76

Syntax

DTO G

[dec]

Functlon

Toggles a programmer-specified data bit from one binary logic state to another by performing two write operations at a programmer­ specified address .

The DTOG @ CTL function toggles a programmer-specified control line from one binary logic state to another.

If the DTOG @ CTL form is used and the expression immediately following the equal sign ( -) is specified explicitly, the expression must be a binary value from O to 1 1 1 1 1 1 1 1 .

If the address (not the DTOG @ CTL form) is specified, then the following bit number expression (after B IT) must have a decimal value in the range 0-(n-1 ) where n equals the number of bits in the microprocessor data bus.

I n the DTOG @ CTL form, if an expression is used to specify the bit number, it must have a decimal value in the range 0-7.

Refer to the pod instruction manuals or the label on the interface pod to identify which control lines are user-writable for a specific pod.

Example

D TO G @ REGF

=

FF B I T REG3

D TO G @ C TL

=

0 1 01 1 1 1 1 B I T 5

See Also

ATOG, RAMP, READ, WALK, WRITE

6-77/6-78

EXECUTE

Syntax

.....

Le

PROGRAM

J

Functlon

Executes one program from within another program in a subroutine­ like fashion.

Program numbers are limited to the range 0-99.

A program may call a program which in turn calls another program. Programs may be called up to ten levels of nesting.

• lf multiple levels of programs are called, a program may not call any program from a previous leve!.

A program may not call itself.

Symbolic program names can be used in this statement.

The compiler issues a warning message if yo u attempt to execute a program that is not contained in the files being compiled.

Example

EXECU TE PRO G RA M 5

EX 5

EXEC U TE DELA Y

See Also

P ROGRAM

6-79/6-80

G OTO

Syntax

Functlon

Allows the programmer to construct GOTO (unconditional branch) steps which redirect program execution to a label in the program.

Symbolic label names can be used in this statement.

Within a single program, symbolic names cannot be mixed with hexadecimal label numbers (0-9, A-F).

More than one GOTO step may redirect program execution to the same label.

The label to which program execution is redirected may appear anywhere in the program.

Example

G O T0 3

See Also

LABEL, IF

6- 81 /6-82

I F

Syntax expr expr

Functlon

Creates conditional branch steps.

Symbolic label names can be used in this statement.

Within a single program, symbolic labels cannot be mixed with hexadecimal label numbers (0-9, A-F).

M ore than one IF step may redirect program execution to the same la be l.

The label to which program execution is redirected may appear anywhere in the program.

Example

/F REG3 A NO 7F

>

REG4 G O TO 1

See Also

GOTO, LABEL

6-83/6-84

1 0 TEST

Syntax

'"'""''�

[REG A[

Functlon

Tests the read-write capability of all bits in 1/ O registers described as having read-write capability.

If an expression is used to specify the bit mask (following BTS), it must have a hexadecimal value in one of the following ranges:

1 -FF

1 -FFFF

1 -FFFFFF

1 -FFFFFFFF

8-bit microprocessor

1 6-bit microprocessor

24-bit microprocessor

32-bit mocroprocessor

Bits that are equal to 1 in the bit mask correspond to data lines that are to be tested for read-write capability. Bits that are equal to O in the bit mask correspond to data lines that are not to be tested for read-write capability.

If no address block is specified, then the 90 10A performs the specified 10 TEST over all blocks of memory described as 1/ O under Address Space Information.

Example

10

TES T @ 4010 - 401 F B TS 30

See Also

AUTO TEST, BUS TEST, RAM TEST, ROM TEST, LEARN,

ADDRESS DESCRIPTOR (in Source File Syntax part of this section)

6-85/6-86

LABEL

Syntax

Functlon

Allows the programmer to create labels, i.e., program steps inserted into programs to provide points of entry for branching steps. Identifies a specific location in a program.

Each label is identified by a single hexadecimal digit (0-9 and A-F) or with a symbolic name.

Within a single program, symbolic label names cannot be mixed with hexadecimal label numbers (0-9, A-F).

9010A Language keywords must not be chosen as symbolic label names (such as LOOP).

There are 1 6 possible labels for each program.

All label names must be distinct.

Labels may appear in any order.

A label may exist without a branch (GOTO) step to the label.

• A 90 1 0 program statement can follow the colon.

Example

L 1:

DONE: S TOP

FOUND: LA BEL FOUND

See Also

GOTO, IF

6-87/6-88

LEAR N

Syntax

1._,¡----r--t•1_l_!a�dd:!:_r

[(i}1

�blo�ck��

Functlon

Tests each address location in sequence and identifies it as RAM,

ROM, 1/ O, or unassigned. Also creates an address descriptor for each block of memory which was identified.

If no addr block is specified, the Learn operation is performed on the entire microprocessor address space . Refer to the pod instruction manuals for specific address information.

Example

L EA RN

L EA RN @ 1 000 - 4FFF

See Also

10 TEST, RAM TEST, ROM TEST, ADDRESS DESCRIPTOR (in

Source File Syntax part of this section)

6-89/6-90

PRO BE

Syntax

PRO BE

Functlon

The Read Pro be function places accumulated pro be data into Register

O. Pro be data consists of the logic levels detected, the number of events counted, and the signature computed at the probe tip.

In Register

O, event counts are assigned to bits 0-6, signatures are assigned to bits 8-23, and logic levels are assigned to bits 24-26.

Example

REA D PROBE

RO PROBE

PRO BE

See Also

SYNC

6-91 /6-92

RAM

TEST

Syntax

Functlon

RAM SHORT quickly identifies common RAM failures such as address decoding errors or bits that are not read-writable. RAM

LONG performs the same tests as RAM SHORT and in addition, performs a pattern-sensitivity test for locating "soft" RAM errors.

If no address block is specified, then the 90 1 OA performs RAM test over all blocks of memory specified as RAM under the Address

Space Information.

Example

RA M SHORT @ 1 000 - 3FFF

RA M LONG

See Also

AUTO TEST, BUS TEST, 10 TEST, R O M TEST, LEARN,

ADDRESS DESCRIPTOR (in Source File Syntax part of this section)

6-93/6-94

RAM P

Syntax

___ @_--'?_"t"' -+1

Functlon

Performs a series of write operations at a programmer-specified location in the UUT microprocessor system, beginning with all data bits equal to zero, and increasing by one until all data bits equal one.

Example

RAMP @ 34FO

See Also

ATOG, DTOG, READ, WALK, WRITE

6-95/6-96

R EAD

Syntax addr

Functlon

Reads a programmer-specified location in the UUT microprocessor system and places the data in register E.

READ STS reads the values of the UUT microprocessor status lines and places the corresponding value in register C.

Example

REA D @ REG 1

RO S TS

See Also

PROBE, READ, WRITE, ATOG, DTOG, RAMP, WALK

6-97/6-98

R EG

Syntax

Functlon

Enters the specified data in the specified register.

Symbolic register names can be used in this statement.

Symbolic register names must be declared before use in the local or global declarations section.

Example

REG 1

=

1 FF

TMP

=

REGA SHR 4

See Also

SYMBOLIC REGISTER NAME DECLARATION (in General

I nformation part of this section)

6- 99/6-1 00

R EPT

LOOP

Syntax

Functlon

REPT causes the action previously performed to be repeated once.

LOOP causes the action previously performed to be repeated continuously.

REPT and LOOP may not be specified as steps by themselves but may be specified as modifiers after a troubleshooting test or function has been specified.

REPT and/ or LOOP can follow these test or troubleshooting statements:

AUTO TEST

BUS TEST

RAM TEST

ROM TEST

10 TEST

READ

WRITE

RAMP

WALK

ATOG

DTOG

Example

RA MP @ REGF REPT REPT

WA LK @ 401 C

=

1 L O OP

6-1 01 /6-1 02

R O M TEST

Syntax

Function

Computes a ROM signature for each block of ROM and compares it to the reference ROM signature.

If no address block is specified, then the 90 1 0A performs a ROM

Test over all blocks of memory specified under Address Space

Description and compares the signatures to those specified in the

Address Space lnformation.

The signature expression must have a hexadecimal value in the range 0-FFFF.

Example

ROM TES T

ROM TES T @ 8000 - 9FFF S/G A FC7

See Also

AUTO TEST, BUS TEST, 10 TEST, RAM TEST

6-1 03/6-1 04

Syntax

--+(

RUN UUT

)h\�-----:==-=--=--=----�

1

..{

addr

f--'

R U N U UT

Functlon

Allows the interface pod microprocessor to execute the program code stored in the UUT.

If an address is specified, the UUT begins executing the code at the address indicated.

If no address is specified but a R UN UUT setup parameter is present, the address from the setup statement is supplied.

If no R UN UUT statement appeared in the setup section, but a pod data file was included at the beginning of the source file, then the value for U UT ADR will be supplied.

If a pod data file was not included at the beginning of the source file, the default address is 0000.

Example

RUN UUT

RUN U U T @ 1 000

See Also

Default Setup Parameters (Appendix D), R UN UUT (in Setup

Parameters part of this section)

6-1 05/6-1 06

STOP

Syntax

Functlon

Suspends program execution at desired points.

To cause the 90 1 0A to resume program execution, the operator must press the CONT key.

Example

S TOP

6-1 07/6-1 08

SYN C

Syntax

Functlon

Enables the operator to synchronize the probe operation to events in the microprocessor bus or allow ,the probe to oscillate at 1 kHz (free run).

Example

S YNC A

S YNC FREE-RUN

See Also

PRO BE

6-1 09/6-1 1 0

U NARY

Syntax

Functlon

Performs the specified unary operation on the contents of the indicated register.

Symbolic register names can be used in this statement.

Register identifiers must be previously declared in the local or global declaration section.

Unary operator shorthand may not be used in this statement (i.e. ,

INC 3 REG5 is a syntax error).

Example

INC REGl

INC ERRCNT

See Also

REG

!ERRCNT is a symbolic register name

6-1 1 1/6-1 1 2

WALK

Syntax

Functlon

Rotates a programmer-specified bit pattern across data lines by performing a series of write operations at a programmer-specified address. The process continues until the data bits are rotated through every possible position.

Example

WA L K @ 3480

=

7F

See Also

ATOG, DTOG, RAMP, READ, WRITE

6-1 1 3/6-1 1 4

WR ITE

Syntax

(REG C(

Functlon

Writes programmer-specified data to a programmer-specified location in the UUT microprocessor system.

WRITE @ CTL causes the 90 10A to write control lines to the programmer-specified logic levels.

If an expression is used with the CTL form, it must have a binary value from O to 1 1 1 1 1 1 1 1 . The binary string corresponds to the eight possible UUT control lines. The 90 1 OA forces control lines represented by a 1 high, and forces control lines represented by a O low.

Refer to the pod instruction manuals or the label on the interface pod itself to identify which control lines are user-writable for a specific pod.

Example

WRITE @ 7 1 38

=

2F

WR C TL

=

1 1 0001 00

See Also

ATOG, DTOG, RAMP, READ, WALK

6-1 1 5/6-1 1 6

APPE N D I CES

CONTENTS

A Keywords

.

.

.

.

.

.

.

.

.

.

.

.

.

B

Predefined Register N ames

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

A-1

. . . . . . . . . . . . . . . . . . . . . . . . B -1

C Optiona1 Keywords and Keyword Abbreviations . . . . . . C-1

D

Defau1t Setup Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . D-1

E

Parameter Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E -1

F Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F -1

A p pend ix A

Keywo rds

active * address * and assign atog auto aux bad * beep * binary bit bits * bts * bus * bytes control * e pi e ti

�' data * dec declarations dpy dtog

* Identifies Setup Keywords enable * err * error * errors * ex exercise * execute force * free goto if illegal * in e include information * interrupt *

10 label learn line * linesize * long loop newline * no * on * or pod * power * pro be program ram * ramp rd read reg rept rom * run * setup * shl short shr sig * space * stall * stop sts supply * sync test * timeout * to transition * trap * unstall * uut * walk wr write yes *

A-1 /A-2

Append ix B

P redefi n ed Reg ister N a m es

REGISTER

A

B e o

E

F o

SYMBOLIC

NAME

BITMASK

ROMSIG

STSCTL

BITNUM

DAT

ADA

PBDAT

FUNCTION

Bit Mask

ROM Sig natura

STS/CTL l nformation

Bit N u m ber

Data

Add ress

Read Probe Data

B-1 /B-2

Append ix C

O pt i o nal Keywo rds and

Keywo rd A b b revi ations

ELEMENT

OPTIONAL KEVWOROS ANO SVM BOLS

RESTRICTIONS

TWO EQU IVALENT ANO

ACCEPTEO STATEMENTS

TEST None, always optional

AUTO TEST

AUTO

@

-

LABEL x

None, always optional

Optional only in DPY, AUX, and

SETUP parameters

None, a lways optional {used i n

LABEL statements)

WRITE @ 1 00FF

WR ITE 1 00FF

DPY TEST M ESSAGE

DPY-TEST M ESSAGE

POD - 8080

POD 8080

3: LABEL 3

3:

=

=

25

25

PROGRAM Optional only in

EXECUTE PROGRAM 35

EXECUTE PROG RAM xx EXECUTE 35 commands

I N FORMAT ION None, always optional {used in Setup and Add ress

Descriptor sections)

READ

SETUP I N FORMATION

SETU P xx

BYTES

Optional only in R EAD PROBE

R EAD PROBE command PRO BE

None, always optional

{used in program statements)

PROG RAM 1 0 524 BYTES

PROGRAM 1 0

C-1

Keyword Abbreviations

KEYWORD ABBREVIATIONS

KEYWORD

ABBREVIATION

SYNC ADDR ESS

SYNC DATA

SYNC FREE-AU N

R EAD

WRITE

EXECUTE

SYNC A

SYNC D

SYNC F

RD

WR

EX

C-2

A p pen d ix D

Defau lt Setu p Param eters

The information in the following table applies only to these pods:

1 802, 6502, 6800, 68000, 6802, 6809 / 6809E, 804 1 / 8048, 8080, 8085,

8086/ 8086MX, 8088/ 8088MX, 9900, Z80

Setup Parameters Common to All Pods Llsted Above

PARAMETER DEFAULT VALUE

TRAP BAO POWER SUPPL Y

TRAP I LLEGAL ADDRESS

TRAP ACTIVE INTERRUPT

TRAP ACTIVE FORCE U N E

TRAP CONTROL ERROR

TRAP ADDRESS ERROR

TRAP DATA ERROR

EXERC ISE ERRORS

BEEP ON ERR TRANSITION

V ES

VES

NO

V ES

VES

VES

VES

VES

VES

T I M EOUT

STALL

U NSTALL

N EWL I N E

L I N ESIZE

200

1 3

1 1

OOOOODOA

79

*BUS TEST @

*RUN UUT @

0000

0000

* l f a pod name is not specified in the setup parameter section of the source file, then the defau lt address for BUS TEST and RUN U UT are as ind icated. lf a pod data file is included and the pod name is specified or if a pod is con nected to the

901 0A when the hex file is downloaded, then the specified pod's defau lt BUS

TEST and RUN U UT addresses will override these.

D-1

Default Setup Parameters

0-2

8041

8048

8080

8085

8086

POD

1 802

6502

6800

68000

6802

6809

6809E

8086MX

8088

POD-SPECIFIC SETUP PARAMETERS

BUS TEST @

RUN U UT @

ENABLEABLE

LINE

FFFF

0000

0000

0000

F FFFFFFC

FFFFFFFE

1 000FFE

0000

0000

0000

2000

1 1 00

FFFF

FFFF

0000

0000

0000

F6000000

FFFFFFFE

F FFFFFFE

F FFFFFFE

3000

0000

0000

0000

F FFFO

F FFFO

F FFFO

TSC

HALT

UN USED

UN U SED

R EADV

HOLD

R EADV

HOLD

R EADV

HOLD

I NTR

R EADV

RQGTO

RQGT1

I NTR

R EADV

HOLD

I NTR

WAIT

RDV

TSC

DBE

HALT

HALT

BR/ACK

I NTR

MR

HALT

HALT

D MA

M R

DEFAULT

V ALU E

VES

VES

VES

VES

VES

VES

VES

VES

VES

VES

VES

VES

VES

VES

VES

VES

VES

VES

VES

VES

VES

VES

VES

VES

VES

V ES

VES

VES

VES

VES

VES

Default Setup Parameters

8088MX

0000

9900 zao

FOOO

FFFF

F FFFO

0000

0000

R EADV

I NTR

RQGTO

RQGT1

R EADV

HOLD

BUSRQ

WAIT

VES

VES

VES

VES

V ES

VES

VES

VES

D-3/D-4

A p pend ix E

Parameter L i m its

PARAMETER

BUS TEST

AUN UUT

STALL

UNSTAL L

L I N ESIZE

T I M EOUT

N EWL I N E

SETUP PARAMETER LIMITS

LIMIT

0-FFFFFFFF

0-FFFFFFFF

O-FF

O-FF

1 0-255

0-60000

8 Hexadeci mal Dig its

ADDRESS DESCRIPTOR PARAMETER LIMITS

PARAMETER signature (ROM) bit mask (10)

LIMIT

0-FFFF

1 -FFFFFFFF

E-1 /E-2

Append ix F

Error M essages

INTRODUCTION

This appendix describes error messages that may be produced by the

90 1 0A Language Compiler programs. The appendix is divided into three parts: Compiler Program Error Messages (9LC), File Transfer

Error Messages (XFER), and Disk Verification Program Error

Messages (VERIFY). Along with each error message is a description of possible causes for the error. The description is not meant to be a comprehensive list; other causes may also be possible.

Other messages may be produced by the host computer system. For e x p l a n a t i o n s of s y s t e m -d e p e n d e n t e r r o r s , refe r to S ys t e m

Dependencies i n Section 3 and t o the user manual for the host system.

F-1

Error Messages

COMPILER PROGRAM ERROR M ESSAGES

Address range error

In an address range, the second address was incorrectly specified smaller than the first address.

EXAMPLE: RAM @ 1 0000 - l OFF

Attempt to redefine symbollc name

A symbolic name was used in the wrong context (i.e., the name was already used as a program name, but now you are attempting to use it as a global register name, you are using a local register name as the target of a GOTO, or you are using a label name as a program name m an EXECUTE statement).

Blnary number expected

Can occur if you try to write a non-binary value to CTL or try to

DTOG a non-binary value for DTOG @ CTL.

Cannot define REG0-7 as g lobal reglsters

Y ou tried to assign a symbolic name to a local register (REG0-7) in a globally declared ASSIGN statement. You can only assign symbolic names to these registers locally.

Cannot open file <fllename>

An illegal file name was entered.

Y o u attempted to open a file for writing on a write-protected disk.

Y o u attempted to open a file that does not exist.

Y o u attempted to crea te a file on a full disk.

An lnclude file cannot be opened because it would result in more files being opened concurrently than your system allows.

Checksum error, should be xx

A checksum error was encountered.

Dupllcate label

A label was used more than once.

.. ,__

F-2

Error Messages

D upllcate program

An attempt was made to compile a source file with two programs with the same number or same name.

Error In hex line

There was a missing character in a binary program. l llegal address

An address with more than eight hexadecimal digits (past the 32-bit limit) was specified. l llegal bitmask

A bitmask equal to O, or with more than eight hexadecimal digits was specified. l llegal bltnumber

A bitnumber was specified as hexadecimal rather than decimal, or the bitnumber was out-of-range for the statement (i.e. in ATOG or DTOG statement, bitnumber > 3 1 will cause this error, in DTOG @ CTL, bitnumber > 7 will cause this error). Consult the appropriate page in

Section 6, Language Reference, for the statement in error to determine the bitnumber limits. l l legal label number

A hexadecimal label number(a single digit) is out of the range 0-9 or A­

F. (For example, FF was used as a label number, or GOTO AB was attempted.) l llegal option

Y o u ha ve entered an illegal listing option from the interactive mode, or have an illegal listing option in the command line. l l legal program name

A keyword was used as a program name, a program name of all hexadecimal characters was used, or one of the predefined register names was used as a program name.

EXAMPLES: Program test

Program abcd

Program bitmask

F-3

Erro r M essages l l legal program number

A program number out of the range 0-99, or a bad program number, such as PROGRAM 44R, was used. l llegal program order

Numbered programs are not in numerical order. Too many symbolically named programs are between numbered programs.

Programs appear in the source file after program 99. l llegal register number

A hexadecimal register number (a single digit) is out of the range 0-9 or

A-F (i.e., REG FF z l OOFF). l llegal slgnature

More than four hexadecimal digits were used in a signature. l llegal value

A value is out-of-limits.

EXAMPLES: LINESIZE 300

TIMEOUT 70000

Y o u should check the appropriate page in Section 6, Language

Reference, to determine the legal range of values.

I NCLUDEs nested too deeply

INCLUDE statements are nested past the maximum depth of five.

(Because this is a system dependency, your system may not allow nesting to five.)

1 nput llne too long

Lines longer than the maximum of 255 characters were used. l nvalld forcing llne

You probably did not include the appropriate pod data file in the source file.

Y o u may ha ve misspelled the name of the forcing line in an EN ABLE statement.

The pod data file may have been modified to contain a FORCELN name more than six characters long.

F-4

Error Messages

M issing checksum, should be xxxx

There were no checksums in a binary program, or the checksums were missing the delimiter characters (* or $).

Missing label

A label was used as the target of a GOTO, but was not created (through a LABEL statement). Also, check for misspelling of label names.

M ixed symbolic label names with hex label numbers

Within a single program, all of the labels must be symbolically named or all of the labels must be hexadecimal digits. The two cannot be mixed.

Prog ram not found

A literally-numbered program used as the target of an execute statement (i.e., EXECUTE PROGRAM 96) was not present in the source file(s) that was compiled.

Syntax error

The indicated line contains a statement that is incorrectly formed. lt may ha ve a misspelled word, it may be incomplete, it may be missing a keyword, or a keyword or hexadecimal constant may have been used as a symbolic name.

Note that the spelling that the 90 1 0A uses on its display is not strictly compatible with the compiled language.

Example: 90 1 0A Display: SET-TRAP BAD PWR SUPPLY? YES

9LC Syntax: TRAP BAD POWER SUPPLY - YES

Refer to the appropriate syntax diagram to verify correct spelling and syntax.

Too many labels

More than 16 labels were used in one program.

Too many symbolic names

You used more than 1 00 local symbolic names (registerj label names) or more than 200 global symbolic names (program names and register names).

F-5

Error Messages

U ndeflned symbollc name

A symbolic register name was used before that register was declared in an ASSIGN statement or the register name was misspelled or a symbolically-named program used as the target of an Execute statement (i.e. , EXECUTE PROGRAM MISSING) was not present in the source file(s) that was compiled.

USAGE: 91c [ -lsda] [ -h hexfile] [ -1 [lisfile]] srcfile

Y ou ha ve tried to use the compiler program incorrectly (i.e., an illegal option was specified, you did not put a filename after the -h flag, etc.).

The usage line above shows the correct format for using the compiler.

Warning: l llegal character

A character outside of the D PY / A UX character set has been u sed. F or example, you ha ve attempted to use parenthesis() or brackets [] in a

DPY / AUX string. Valid characters are described on the AUX and

DPY pages in Section 6, Language Reference.

Warning: lncorrect byte count

The byte count listed on the program statement is incorrect. The program has probably been edited.

Warning: lnvalid separator character

A character other than a tab, space, or dash was used to separate a

DPY 1 AVX string from the keyword.

Warning: strlng too long, dlscarding: xxxx

There are more than 32 characters in the AUX/ DPY string. The compiler program will ignore all characters past the first 32.

" expected in INCLU D E statement

M issing quote surrounding the filename to be included.

F-6

Error Messages

FILE TRANSFER ERROR M ESSAG ES

Address descriptora must precede program information

You attempted to save address descriptors after saving programs.

Address descriptora previously saved In thls file

Y o u attempted to save address descriptors more than once.

Cannot open < filen ame >

An illegal file name was entered.

Y ou attempted to open a file for writing on a write-protected disk.

Y o u attempted to open a file that does not exist.

Y o u attempted to crea te a file on a full disk.

Cannot open temporary file

There is not enough room to open a temporary file.

Data transmission error detected

A checksum error was detected, indicating that data transmission errors occurred. This is possibly due to a bad connection between the

90 10A and host computer, or the time delay specified by the Setup parameter NEWLINE is not a large enough value. Check the connections and try again, or try a larger time delay value. lllegal optlon

An illegal option was used. Enter a valid option. l llegal program ordering

You attempted to save a program with a number LOWER than a program already saved.

1 ncorrect data format for transfer

You pressed the wrong keys on the 90 1 0A.

Port setup parameters were set incorrectly.

The 90 1 0A started from a stall.

Check the port parameters and try again.

F-7

Error Messages

No address descrlptors to save

Y ou attempted to save address descriptors when none were transferred from the 90 1 0A.

No program lnformatlon to save

Y o u attempted to save programs when none were transferred from the

90 1 0A.

Not a valld port

The port name entered is not valid for the host system. U se a valid port name.

Other lnformatlon al ready saved prevents entire file save

You attempted to save an entire file after already saving other information.

Program <program number> already saved

Y ou attempted to save the same program more than once.

Program < program number> not found

Y o u attempted to save a program that was not transferred from the

901 0A.

Programs already saved wlll cause illegal orderlng

Y o u attempted to save all programs after sorne ha ve airead y been saved.

Setup lnformatlon must precede program information

Y ou attempted to save setup information after saving programs.

Setup lnformatlon prevlously saved In this file

Y ou attempted to save setup information more than once.

F-8

Error Messages

D ISK VER I FICATION PROGRAM ERROR M ESSAGES

The following messages are the result of file configuration errors. If the errors persist after an attempt to recopy the indicated files, contact a

Fluke Technical Service Center for advice.

Data file VERI FV.DAT not found

The file VERIFY. DAT does not reside on the system default device.

Copy VERIFY. DAT from the original diskette to the system default device.

File <filename> not found

The file filename does not reside on the system default device. If the file is needed, copy it from the original diskette to the system default device.

File <fllename> error -- signature ls <slg> , should be <slg >

The indicated file has been corrupted or has been modified. Check that the appropriate Copy command was used (in systems where different commands are used for binary and ASCII data}, check for bad blocks on the d�sk, or verify that the version number for the file is the same as specified in the VERIFY. DA T file. l llegal or mlsslng slgnature for file <fllename>

The VERIFY .DAT file may ha ve been altered. Try using a new copy from the original diskette.

<x> files tested -- < 1 > bad signatures, < 1 > mlsslng files

Provides a summary of the errors that occurred while running the

VERIFY program.

F-9/F-1 0

I N D EX

Abbreviations, Keyword,

4-17

Address Space lnformation, 4-8

Coding Shortcuts, 4-16

Default Entries,

4-18

Unary Operator Shorthand,

4- 18

Command Line Mode, 5-8

Comments, Program,

4-7

Compiler Program (9LC)

How it works,

1-5

Package,

1-7

Using, 5-6

Computer Systems, Host,

1-4

CP/M Operating Systems, 3-17

Data Files, Pod, 1-8, 4-1 1

Default Entries, 4-18

Default Setup Parameters, Appendix D

Disk Verification Program,

1-7

Errors, Syntax,

5-1 1

Extensions, Language, 1-6

File Transfer Program (XFER), 1-7

Files

Inclusion,

4- 19

Pod Data,

1-8, 4-1 1

Source, 5-4, 5-14

Format

General Program, 4-4

Hex,

5-16

Source,

5-14

Fluke 1 720A Instrument Controller, 3-4

Fluke 1 722A Instrument Controller, 3-9

General Program Format, 4-4

Getting Started,

3-1

Hex F ormat,

5-6

Host Computer Systems

CP/M Operating Systems,

3-17

Fluke 1 720A Instrument Controller,

3-4

Fluke 1 722A Instrument Controller, 3-9

IBM Personal Computer, 3- 13

Kaypro I I Personal Computer,

3-17

IBM Personal Computer,

3-13

Inclusion, File,

4- 19 lnformation

Address Space,

4-8

Setup,

4-9

Interaction, Pod/90 1 0A, 4-12 lnteractive Mode, 5-6

Kaypro II Personal Computer,

3-17

Keyword Abbreviations, 4-17, Appendix C

1

lndex

Keywords, Appendix A

Keywords, Optional, 4-17, Appendix C

Labels, Symbolic,

Modes

4-26

Language Extensions,

Listing File Options,

1-6

5-10

Command Line,

5-8

Interactive,

N ames

5-6

Predefined Register,

4-29,

Appendix B

Symbolic, 4-22

Symbolic Program,

4-24

Symbolic Register,

4-28

Setup lnformation,

4-9

Setup Keywords, Appendix A

Setup Parameters, Default, Appendix D

Shortcuts, Coding,

4-16

Shorthand, Operator, Unary, 4-18

Source Files, Preparing, 5-4

Source Format, 5-14

Space Information, Address,

4-8

Statements, Section 6

Symbolic

Labels, 4-26

Names, 4-22

Program Names,

4-27

Register Names, 4-28

Syntax Diagrams

N otation,

6-4

Symbols, 6-5

Syntax Errors,

5-11,

Appendix F

Operator Shorthand, Unary,

4-18

Optional Keywords, 4-17

Options, Listing File, 5-11

Transferring Programs, 5-12

Parameter Limits, Appendix E

Pod Data Files,

1-8, 4-11

Predefined Register N ames, 4-29, Appendix B

Preparing Source Files,

5-4

Program

Comments,

4-7

General Format,

4-4

Names, Symbolic,

4-24

Transferring, 5-12

Writing, Section 4

Programs

Compiler,

1-7

Disk Verification, 1-7

File Transfer, 1-7

9010A,

4-8

Unary Operator Shorthand,

4-18

Use with the 9005A,

1 -8

Using the Compiler, 5-6

Writing Programs, Section 4

XFER, File Transfer Program,

9LC, Compiler Program, 5-6

9005A, Using with the, 1-8

90 10A/Pod Interaction, 4-12

9010A Programs,

4-8

1-7

Reference, Language, Section

6

Register Names, Predefined, 4-29, Appendix B

Register Names, Symbolic,

4-28

2

7-

901 0A Language Compller Software Error Report Form

.We would l i ke to know how the

901 0A

Language Compi lar meets your expectations, and whether yo u ncou ntered any shortcomings, including m issin g features you consider important, cases where the

,..>rog ram does somet h i n g u nexpected, and bugs of all kinds. This i nformation w i l l help us to i 'Tl p rove the product.

We suggest that you retain this sheet as an original and use a photocopy for each report.

Date:

------------------

Name of User:

Co. Name:

--------------------

Dept:

Street:

------------------------

City:

----------------------

Mail Stop:

---------------------

Phone No. --------------------

Model N umber (i.e., 901 OA-920, etc. from d iskette label ) :

Software Version N u m ber (from diskette labe l ) :

Program Name a n d Version N umber ( i . e . , XFER v e r 1 .0, BOBO.POD ver. 1 .2, etc.):

-------------

Host Operating System (include Version N u m ber):

,.- Host Computer System ( i .e., I BM PC) :

--------------------------------

Jescription of problem:

-------------------------------------

How can problem be reproduced? (Attach l isting or separate sheet of paper, if appropriate)

------

Were you able to work around the problem? lf so, how?

-------------------

RFJturn completed form to:

John Fluke Mfg. Co .. lnc.

Digital Service Products

M/S 267D

9LC Product Manager

P O . Box C9090

Everett, WA 98206

ISSOE 11): 1

12/84

This change/errata oontains information necessary to ensure the accuracy of the following manual . Enter the corrections in the manual if either one of the following conditions exist :

1 . The revision letter stamped on the indicated PCB is equal to or higher than that given with each change.

2 . No revision letter is indicated at the beginning of the change/errata .

Title:

Print Date:

Rev . - Date:

9010A Language Compiler

December 1983

C/E P!GE EFFFlCl'lVl'lY

Page No.

1

2

3

4

S

6

Print Date

12/84

12/84

12/84

12/84

12/84

12/84

9010A LC

ERRATA 11

On page 3-1 1 under Fluke 1720A Instrument Controller 1 Systern Dependencies 1

CHAOOE : Test Editor

- TO:

Text Editor

On page 3-6 1 change the second sentence in Step 3 to read:

SET1 a 17�0A systern progré1111 is included on the 1720A Systern Disk for this purpose.

On page 3-11 � change the second sentence in Step 3 to read:

The Set Utility program ( SETJ 1 a 1722A systern program1 is included on the 1722A Systern Disk for this purpose.

On page 3-12 1 delete the second paragraph tmder Text Editor .

On page 3-15 1 add the OOTE at the end of Step 2 :

2400 baud i s the fastest data transfer rate allowable . If transfer problems occur at 2400 baud1 try again at 1200 baud (switch setting 4)

Following step 3 1 replace both paragraphs with:

You may use the IBM IDDE conrnand to configure the serial port . The conmand line for the IBM PC that is used to implement the suggested setting is :

IDDE OOMl : 24 1E1 8 1l for 2400 baud1 and

MODE COMl : l2 1 E 1 8 1 l for 1200 baud.

On page 3-17 1 between the two paragraphs under Introductionl add the following OOTE:

12/84

The 9LC program will look for a file on the first operational disk drive that it encounters1 and will "hang up" if that disk drive is empty. If 1 for example 1 the 9LC disk is in drive 1 1 and drive O is ernpty 1 the program will hang up looking for the file on drive O . The disk activity indicator on drive O will be on 1 and the display will show " 9LC" .

-1-

9010A LC en page 3-20 :

Add the fo11owing to the end of the second paragraph:

(The Kaypro version of the program will only prompt for the baud rate. l

Replace the last sentence of the fourth paragraph with :

This file contains the status and data addresses . The Kaypro version also includes SIO initialization bytes .

On page 4-11 , add the fo11owing to the end of the first paragraph:

Data files rna.y not be available for newer pods . If a data file is not included for the pod you are using , consult the Pod Instruction Manual for inforrnation about creating the proper data file. You rna.y add this new data file to the disk and Il'CLUDE it, or you rna.y insert the inforrna.tion directly into the beginning of the program. en page S-7 , insert the following note between the last two paragraphs :

The total m.unber of bytes required must not be more than the rna.ximum memory size of the 9010A--10 , 192 bytes . If the "'roTAL

= xx bytes " message printed by the Canpiler program exceeds 10 , 192 , then you must reduce the size of the source program <sl .

On page 5-8 , replace the forrna.t line, with:

[deviceJ 9LC [-listoptionsJ [ -H hexfileJ [-L [ listfileJ J srcfile <RETORN>

On page 5-11 , add the fo11owing paragraphs at the bottan of the page :

The CPM version of the software allows you to redirect the reporting of syntax errors to a file, instead of to the display. The Command

Line for directing the syntax error report to a file is:

[deviceJ 9LC [-listoptionsJ [-H hexfileJ [-L [listfileJ J srcfile > msgfile <RETORN>

The "msgfile" specified in the conmand line will receive a11 reports of syntax errors that rna.y occur during compiling, and also other status messages that would norrnally be printed on the display. en page 6-9 , replace the syntax diagram at the bottan of the page , with :

12/84

-2-

9010A LC en page 6-69, place the \ character in the left column at the top of the page. en page D-1 , add the following to the list of pods : z8oo o , 8051 , B05lx, 8031 , 80186 , 80188

On page D-3 , expand the table to include : z8ooo 0800FFFE 0000 BUSREQ

WAIT

YES

YES

8051

8051X

8031

80186

80188

30000

20000

10000

0000

0000

0000

0000

0000

FFFFO

FFFFO

UNUSED

UNUSED utlJSED

HOLD

EXTRDY

HOLD

EXTRDY

YES

YES

YES

YES

YES

YES

YES

-

12/84

-3-

9010A LC

J\ddendum

The following supplementary inforrnation is provided to clarify or expand material in this manual .

�LINE SPACI�

Sorne host oomputers have specific requirements for mandatory spacing in the oommand lines . You must pay particular attention to providing the correct specifying syntax. For example, the SET RS-232 Utility for the

Fluke 1720A Instrument Controller requires that a space be inserted after "KBl : " and between each parameter .

ASCII TEXT EDI'roRS

The Text Editor used on the host oomputer system must produce a source file that contains only standard printable ASCII text characters and no special control or formatting characters.

SET RS-232 UTILITY PROGRAM

Sorne early versions of the 1720A Set RS-232-c Utility program do not implement the Sl'ALL option <versions l .x>

You may upgrade your software by purchasing the 1720A-200U software upgrade package which contains, among other things, the new version of the Set RS-232-C Utility program.

Contact a Fluke Technical Service Center for inforrnation.

REQUIRED SPACES

In the description of terms to be used in expressions <shown with a syntax diagram on page 6-9) , if more than one operator is specified, each operator must be separated from the rest by a space . A space must also be inserted between REG and the following hex register number .

POD DATA FILES

New interface pods are continually being developed by Fluke. If a data file is not on the disk for your pocl , you may use the simple procedure shown below to create one (also, refer to the Instruction Manual for you pocl) : l .

Using the editor , create a new file named <poclname>.POD. <podname> is the name of your new poa , such as 80186 .

2 . Copy the following lines into the file.

<podname> Pod data file

FORCELN <name> busadr uutadr

=

=

=

<n>

<address>

<address>

<name> is the name of an enableable forcing line . <n> is the bit in the enable mask that corresponds to that forcing line . Use a

12/84

-

4

-

9010A LC separate line for each enableable forcing line . You must define all of the pod ' s available forcing lines . The 80186 Pod, for example , has two enableable forcing lines , EXTRDY and HOLD, so you would insert

FORCELN extrdy

FORCELN oold

=

=

1

O

<address> is the hex address to be used for either BUS TEST

<busadr) or RJN uur <uutadr) . For exanple busadr uutadr

=

=

00000

FFFFO

To specify the BUS TEST to begin at 00000 and the .RUN uur to begin at FFFFO .

3 . Save this new file as file <filename> . POD on the disk .

If you would like to add your new Pod data file to the list of files that are checked by the VERIFY program, do the foll<:Ming steps : l . Edit file VERIFY. DAT { supplied on the 9LC disk) and add the following line to the end of the file:

<filename> . POD

DDDD

<filename> . POD is the name of the new Pod data file and DDDD is a dunmy checksum for the file. <You ' 11 replace the dunmy checksum with a real one later . >

Save the modified VERIFY. DAT file on the disk . 2 .

3 . Run the VERIFY program. The last two messages that it reports should be :

File <filename > . POD error - signature i s cace, should be DDDD zz files tested - 1 bad signatures, O missing files

<filename>.POD is the name of the new Pod data file, CCOC is the correct checksum for the Pod data file, and zz is the nuni:ler of files tested.

4 . Write down the correct checksum for the Pod data file <OCCC>

S .

Re-edit the file VERIFY. DA.T and replace the dlmlllY checksum that you entered befare {DDDD) with the correct checksum <OCCC> .

-

6 . Run the VERIFY program again to confiilll that all changes have been made satisfactorily. The last two messages that it reports should nCM be:

File <filename> . POD verified

-

12/84 -5-

9010A LC zz files tested -- no errors

RS-232 INI'ERFACE CABLE

The �l�used to oonnect the host computer to the Troubleshooter rnust irnplement this wiring scheme :

(l) Optional . Use if your host oornputer requires RLSD (Received Line Signal

Detector) to be asserted high.

<2> Optional . Use if your host oornputer requires DSR (Data Set Ready) to be asserted high.

( 3 ) Optional . Use if your host oornputer requires RI <Ring Indicator > to be asserted high.

12/84

-6-

advertisement

Was this manual useful for you? Yes No
Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Related manuals

Download PDF

advertisement