Programming Examples; Sigma 5-9 Programming Example - Xerox 7120 Reference Manual

Hide thumbs Also See for 7120:
Table of Contents

Advertisement

APPENDIX B. PROGRAMMING EXAMPLES
SIGMA 5-9 PROGRAMMING EXAMPLE
The following partial program is intended to illustrate the use of the I/O instructions and the card reader responses to
these instructions. The program is coded as a nonrecursive routine that reads one EBCDIC-punched card and one
binary-punched card. The program does not use the interrupt system, but does exit to another routine (not shown)
that deals with specific error conditions. Also, the program uses command cha ining and assumes that the card
reader is in the "ready automati c
II
state when the
510
instruction is executed.
Label
Command
Argument
Comments
RDC,\RD
LI,O
DA(IOCD}
Load general register 0 with the doubleword address of the
I/o
con-
trol doubleword for the read card operation.
STARTIO
SIO,10
3
This instruction starts the card reader (device 3 on lOP O).
TESlIO
TlO,10
3
This instruction obtains the
I/o
system and card reader status response.
CW,ll
BZTEST
This instruction compares the status response in register 11 with a
"busy" test constant.
BCS,4
TESTIO
This instruction causes a branch back to the TlO instruction if the
card reader is still "busy".
CW,11
ERRCHK
This instruction compares the status response in register 11 against an
error check constant.
BCS,4
ERROR
This instruction causes a branch to a routine that determines the cause
of the error(s}.
BCR,O
DONE
This instruction causes an unconditional branch to another part of the
program, where the card images are processed.
BZTEST
DATA
X'40000000 ' •
This assembl er directive defines the "busy" test constant.
ERRCHK
DATA
X '28FEOOOO '
This assembler directive defines the error check constant.
BOUND
8
This assembler directive establishes a doubleword boundary for data
to follow.
IOCD -
GEN 8,24
X10E', BA(EBCDIC}
These two assembler directives define the first
I/o
command double-
GEN 8,24
X'241,80
word for the card reader operati on. The command specifies EBCDIC
read, normal stacker, stack on error in alternate 2, store card image
in area EBCDIC, command chain, halt on transmission error, and a
byte count of 80.
GEN 8,24
X'OA', BA(BINARY}
These two assembler directives define the second
I/o
command double-
GEN 8,24
X'04', 120
word for the card read operation. The command doubl eword speci fi es
bi nary read, normal stacker, stack on error in al ternate stacker 2,
store card image in area BINARY, halt on transmission error, and a
byte count of 120.
EBCDIC
RES
20
This assembler directive reserves 20 word locations (80 bytes) for the
EBCDIC card image.
BINARY
RES
30
This assembler directive reserves 30 words (120 bytes) for the binary
card image.
22
Append i x B

Hide quick links:

Advertisement

Table of Contents
loading

This manual is also suitable for:

712171227140

Table of Contents